The vulnerability affects the KeePass 2.X branch for Windows, and possibly for Linux and macOS. It has been fixed in the test versions of KeePass v2.54 – the official release is expected by July 2023. It’s unfortunate that the PoC tool is already publicly available and the release of the new version so far off, but the risk of CVE-2023-32784 being abused in the wild is likely to be pretty low, according to the researcher.

    • Hirom@beehaw.org
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      1 year ago

      Even KeepassXC, which used Qt instead of .NET, aknowledge they can’t garantee that things put the UI, such as the passphrase, won’t appear in memory dump, even though they attempt to clear memory.

      Any password manager with a UI is at risk, but KeePass should definitely do a better job at mitigating this risk.

      • I don’t know which software, that can ever handle passwords, is immune to a hostile user capable of doing memory dumps on the target’s memory space. Are you aware of one?

        This threat model would require inter-process memory security at the OS level; you’d need to be running BSD, or some microkernel. You’re not getting those protections on mainstream OSes, even with SE Linux, and every application that ever handles credentials in plain is at risk.

        The point about Qt (and, TBH, probably about .Net) is how long the password remains in memory, and ao how big the attack vector window is, not whether or not it’s completely immune to memory dump-level threats. 'Cause Windows and Linux are both susceptable to that.

        Right?

        • Hirom@beehaw.org
          link
          fedilink
          arrow-up
          5
          ·
          1 year ago

          There are multiple local attacker / evil maid scenarios, each require different counter-measures:

          • Attacker with access to the system memory while the DB is unlocked, ie prior undetected compromise.
          • Attacker with access to the system memory after the DB is locked, ie stealing a powered-on machine with a locked manager.
          • Attacker with access to the system hibernation/swap file, ie stealing a power-down machine.

          You’re focusing on the scenario #1, but the blog post allege KeePass is be vulnerable to all 3 attack scenarios. No password manager is resistant to #1 to my knowledge.

          KeePassXC is at least partially resistant to #2 on a best-effort basis. Where possible, they use a custom allocator that zeros memory. The recent audit claim no username/password/passphrase was found in the memory dump after locking, but some metadata/notes were found. I think pass is resistant to #2 because it’s a short-live process that unlocks & obtain-the-pass & exit immediately.

          IMHO #1 is a non-issue, #2 is a low-severity issue, and #3 is a medium-to-high-severity issue. Operating Systems have API programs can use to declare allocated memory as being non-swappable, which password managers should be leveraging to protect against #3. So being vulnerable to #3 is bad.

      • The audit is an interesting read. The author comes off a little fan-boyish, but has good credentials and his points are well reasoned.

        I’m not a security specialist, but I thought the report understandable, approachable, and brief - in short, quite readable, and informative.

    • Chris Remington@beehaw.org
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      KeePassXC could be another viable choice. Bitwarden has been free of any incidents for the eight years that I’ve been using it.

      • rysiek@szmer.info
        link
        fedilink
        arrow-up
        9
        ·
        1 year ago

        Bitwarden is also FLOSS and self-hostable. As much as I love KeePassXC, using it for team passwords is a pain. Having a self-hosted Bitwarden thingy would be way better.

      • I just don’t like having to depend on a third party, or like the idea that they have access to my keys - even encrypted. It’s too many eggs in one basket, for my taste.

        But lots of people like it, and I’ve never heard of any criticisms of it from the security community, so it’s probably an acceptable choice.

          • Yes.

            However, I’m perfectly happy with KeePassXC. It’s audited, secure, has a great UI, and if you want to accept less security can serve as a secret-service and ssh-agent replacement. There are a bunch of OSS tools and clients that support the kbx.v4 file format, and if you want to audit the code of the tools, they’re in almost every language. There are some really nice (pretty, user friendly) native mobile apps.

            There’s risk in grabbing any old client, of course, but having such a diverse ecosystem is nice, especially if you don’t mind reading some code.