Skip to content

Security: MadsIT-com/map-shift

SECURITY.md

Security policy

Reporting a vulnerability

Do not disclose a suspected vulnerability in a public issue. Use GitHub's private vulnerability reporting so details can be investigated before they are disclosed publicly.

Security model

MapShift is a graphical launcher for KDE's KIO SMB worker and KIO-FUSE. It does not implement SMB, authentication, encryption, or filesystem access itself.

MapShift sends an SMB URL without a password to KIO-FUSE through the user's private D-Bus session. KDE handles authentication in its own dialog. MapShift does not receive, store, log, or forward the password. It stores no connection profiles or recent-share list.

MapShift creates a session alias beneath the mode-0700 $XDG_RUNTIME_DIR/mapshift directory. When /maps has been configured as a mode-0700 directory owned by the desktop user, MapShift adds a second shortcut such as /maps/share pointing to that session alias. It displays and opens the shortest available alias through the org.freedesktop.FileManager1 D-Bus interface, keeping the destination out of new process arguments.

Creating /maps is an explicit one-time administrator action documented as a command for the user to run. Neither MapShift nor its installer executes that command or requests privilege. MapShift refuses to use /maps if it is a symbolic link, belongs to another user, or grants group or other access. It does not overwrite ordinary files or unrelated links.

Important limitations

  • The server name, share path, and username necessarily exist in MapShift, KIO, KIO-FUSE, and application memory while being used.
  • /maps/share contains the share name and points to a runtime alias without a hostname. Following both symbolic links reaches KIO-FUSE's live path containing the server name. A same-user or privileged process can resolve that chain.
  • /maps persists across sessions. Its MapShift links can therefore reveal previously used share names until MapShift replaces or removes stale managed links on a later launch; their immediate targets do not contain hostnames.
  • Applications using that path may add it to their own recent-document lists, logs, caches, or recovery data.
  • KDE may cache authentication for the session or offer KWallet storage. That behavior belongs to KDE and the user's authentication-dialog choice.
  • DNS, network infrastructure, the SMB server, and privileged local processes can observe connection information required to reach the share.
  • A process running as the same user may inspect the session bus, runtime path, or process memory.
  • The SMB server and KDE packages remain responsible for protocol security, authentication, authorization, and filesystem behavior.

There aren't any published security advisories