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

            Bug ID: 506243
           Summary: gpg-agent should not be used in place of ssh-agent,
                    possibly breaks users' security expectations
    Classification: KDE Neon
           Product: neon
      Version First unspecified
       Reported In:
          Platform: Neon
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected]
  Target Milestone: ---

SUMMARY
KDE Neon installs with gpg-agent configured to also act as the ssh-agent.  This
causes unexpected behaviors that can cause security concerns for users.  The
gpg-agent will accept ssh keys like any ssh-agent, but it refuses to remove
them when asked, even though it will claim it did.  

STEPS TO REPRODUCE
1. Create ssh key: "ssh-keygen" and accept the defaults
2. Add the key to the ssh-agent: "ssh-add ~/.ssh/id_ed25519"
3. Verify key was added: ssh-add -l
4. Remove the key from the ssh-agent (you will see it say "all identities
removed"): ssh-add -D
5. Check again and see that the key was not in fact removed: ssh-add -l
6. Try to remove the key from the system completely: rm ~/.ssh/id_ed25519*
7.  Reboot
8.  Verify the key file is gone: ls ~/.ssh
9.  Verify the key is STILL in ssh-agent: ssh-add -l

OBSERVED RESULT
When ssh-add -D is run to remove all keys, the user is told that the keys were
removed, but the ssh-keys were not removed.  

EXPECTED RESULT
When the ssh-agent says it has removed an ssh key, I expect that to be the
truth.  

SOFTWARE/OS VERSIONS
Operating System: KDE neon User Edition
KDE Plasma Version: 6.4.1
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.0
Kernel Version: 6.11.0-25-generic (64-bit)
Graphics Platform: Wayland
Processors: 12 × Intel® Core™ i7-10750H CPU @ 2.60GHz
Memory: 32 GiB of RAM (31.0 GiB usable)
Graphics Processor 1: Intel® UHD Graphics
Graphics Processor 2: NVIDIA GeForce GTX 1650 Ti

ADDITIONAL INFORMATION
This has been reported as a bug to the gpg-agent developers who have closed the
bug, seemingly refusing to fix the issue ( https://dev.gnupg.org/T3284 ).  I
think this makes gpg-agent an unacceptable substitute for ssh-agent.  Consider
this use case that is broken by gpg-agent.  Lots of password managers
(keepass/keepasxc for example) allow ssh keys to be stored in the password
manager.  When the password database is unlocked, the keys are added to the
ssh-agent, and then when the database is closed the keys are removed.  The
gpg-agent acting as an ssh-agent breaks this by claiming that it has removed
the keys when ask, even though it did not.  

I want to be clear, I am not saying that this is a security vulnerability.  It
is just an unexpected behavior in a security-significant context.

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

Reply via email to