https://bugs.kde.org/show_bug.cgi?id=458339

            Bug ID: 458339
           Summary: KWallet/Secret Service: potential conflict of
                    auto-start files (DBus etc) with other Secret Service
                    providers
           Product: frameworks-kwallet
           Version: 5.97.0
          Platform: unspecified
                OS: Linux
            Status: REPORTED
          Severity: wishlist
          Priority: NOR
         Component: general
          Assignee: va...@kde.org
          Reporter: mk.mat...@gmail.com
                CC: kdelibs-b...@kde.org
  Target Milestone: ---

SUMMARY
KWallet Framework introduced Secret Service API support in 5.97.0, however this
may conflict with other Secret Service providers such as GNOME keyring or
KeePassXC. There is currently a configuration option in KWallet to disable its
Secret Service API integration, but this provides only a partial solution: the
preferred Secret Service provider still can't be easily configured at the host
system level. In particular, if there are DBus service startup files (such as
`/usr/share/dbus-1/services/org.freedesktop.secrets.service`) or SystemD
services installed by these providers, these files from different provides may
still conflict, and the wrong provider may be auto-started by the host system.

I've proposed compatibility guidelines in
https://gitlab.freedesktop.org/xdg/xdg-specs/-/issues/75 . The problem should
be resolved if all Secrets Service providers follow these guidelines. I've
pointed the KeepassXC devs and Gnome keyring devs to these guidelines to
implement on their end; this issue is to point the KWallet devs to the same
guidelines. Comments on these guidelines are welcome from all sides, if you
think they need adjustment.

Same for Gnome keyring:
https://gitlab.gnome.org/GNOME/gnome-keyring/-/issues/86
KeePassXC:
https://github.com/keepassxreboot/keepassxc/issues/6274#issuecomment-826083122

STEPS TO REPRODUCE
1. Install KWallet, and enable its Secrets Service API integration.
2. Check if the installed files conform to the proposed compatibility
guidelines at https://gitlab.freedesktop.org/xdg/xdg-specs/-/issues/75
3. Install KeepassXC.
4. In KeepassXC, enable freedesktop.org Secret Service integration, and expose
a DB to the service.
5. Close KeepassXC.
6. Launch a client app that requires Secret Service, such as `secret-tool`.

EXPECTED RESULT
1. In step 2, the installed files should conform to the compatibility
guidelines. In particular:
   a. If `/usr/share/dbus-1/services/org.freedesktop.secrets.service` is
installed, it should be a symlink to a provider-specific file, such as
`/usr/share/kwallet/dbus/org.freedesktop.secrets.service`.
   b. If a SystemD service file is installed, it should have a
provider-specific name such as `dbus-org.freedesktop.secrets.kwallet.service`,
and use an `Alias` directive to refer to the general service name:
`Alias=dbus-org.freedesktop.secrets.service`.
2. In step 6, KeepassXC should be launched as the DBus
`org.freedesktop.secrets.service` backend.

OBSERVED RESULT
1. In step 2, the installed files may not conform to the compatibility
guidelines. For example,
`/usr/share/dbus-1/services/org.freedesktop.secrets.service` may be a
hard-coded regular file (this was the case with Gnome keyring, I'm not sure
about KWallet - the file may not exist at all yet in 5.97.0).
2. In step 6, KWallet may be launched as the DBus
`org.freedesktop.secrets.service` backend. (Again, that was the case with Gnome
keyring, I'm not sure about KWallet. This was partly KeepassXC's fault, as
discussed in https://github.com/keepassxreboot/keepassxc/issues/6274 , but also
partly because the Gnome-keyring files get in the way. KWallet's files and
service may get in the way in a similar manner).

SOFTWARE/OS VERSIONS
KDE Frameworks Version: 5.97.0

The original issue as reported in
https://github.com/keepassxreboot/keepassxc/issues/6274 for Gnome keyring, was
on Ubuntu 20.10 with GNOME 3.38.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to