KeePass 2 CVE-2023-24055 讨论

漏洞简述

  • KeePass 2.x Windows 版本有个 Trigger (触发器) 功能,可以在特定时机执行一个操作,其中包括导出明文的完整密码库。
  • 所有的触发器存储在一个 XML 配置文件中,但这个文件路径在 AppData 下,无需管理员权限即可修改(亦不会触发 UAC)。
  • 攻击者可以修改这个文件,在解锁密码库时运行一个导出触发器,然后调用其他任何程序(例如把密码通过网络请求传回攻击者的机器)。

当前状态

  • 已经出现攻击脚本,扫描局域网内的电脑,用已知的其他漏洞攻入系统,更改配置文件并自动上传明文密码库
  • 如果你的设备入域了,域管理员可以使用类似方法导出域中所有设备的密码库
  • KeePass 主要作者 Dominik Reichl 不认为这是一个漏洞,认为用户应该自己管理本地文件的安全,也拒绝增加相关安全特性(如导出密码库时有额外的确认步骤)

https://sourceforge.net/p/keepass/discussion/329220/thread/a146e5cf6b/

应对

如果你是 Windows 上的 KeePass 2.x 用户,可以采取以下措施:

  • 避免打开 KeePass 2.x 和解锁密码库(可能已经中招了)
  • 换用没有触发器功能的 KeePass 客户端,如 KeePassXC, KeeWeb 或 KeePass 1.x 版本
  • 使用 Enforced Configuration File 禁用掉 AppData 中的配置文件,并写保护相关目录 link
  • 更新:升级至新版 2.53.1,这一版本禁用了「无需确认导出密码库」,
5 个赞

那问题就变成了,还有其他好用的windows下的客户端吗?

这种问题让我想起了类似情况,chrome的密码保存,也是明文的。这是用户没保护好系统的错,锅不在软件。。。

1 个赞

我之前迁移到了 KeePassXC,感觉界面比较现代,也自带 Windows Hello 支持,用起来还不错。跨端的话可以试试 KeeWeb,实际上是个纯前端应用。

这个不爽的地方在于不支持webdav

keepass 2x 刚才更新了个小版本,有修复漏洞吗

使用 KeePass 及相关衍生软件、同类软件时,为了自己的数据安全,请务必点进设置里看看

"导出"作为一个超低频的高风险操作,建议到设置里关闭,使用时才临时开启:

工具→选项→策略→取消勾选"导出"→重启 Keepass

同时可以取消"导出-不重复输入密码"的选项,策略 页面还有一堆安全设置,如打印、复制等等
其实 KeePass 的设置选项很全面了,就是默认设置拉胯

如果简单使用并且用不上触发器的话,建议关闭触发器

工具→触发器→取消勾选"启用触发系统"

同样涉及安全的还有后台自动上锁时间、内存清理等等设置,不要迷信默认设置,那是为了便利性做了一定让步的默认模式。

6 个赞

看来功能太多也是个问题。

确实是个麻烦,我现在是电脑本地加坚果云,其他端用 WebDav 连接坚果云来用

还有一个临时处理方案,如果信任其他第三方的安全软件,用第三方的安全软件把KeePass.config.xml这个配置文件的读写锁了,只允许keepass自己读写。

谢谢!设置完,放心多了。

攻击者能做这种事的时候也能做更多事情…

删除你大部分文件都是不需要任何确认的
你想想文件管理器,重命名工具等等
那些操作需要UAC权限吗
上传文件也不需要权限

比方最近说的notepad++事件
随机添加字符算个啥.
随机删除几个文件差不多算恐怖袭击了

当然可能密码特别重要,好像新版已经修复了

这个以前用过,不能像Keepass那样可以按ALT+上下方向键进行自定义排序,使用时有点不爽

最新的 2.53.1 的确把这个问题修掉了,更新记录有说明

  • Removed the ‘Export - No Key Repeat’ application policy flag; KeePass now always asks for the current master key when trying to export data.

之前在办公室摸鱼时测试对比了下 KeePass 和 KeePassXC
发现有几个问题:

  • 记录
    1. 不支持字段引用
    2. 无法直接导出筛选后的记录(需要另建群组→拖放→导出群组的方式间接实现
  • 标签
    1. 不支持中文标签
    2. 不支持批量添加标签
    3. 标签字体无法更换,默认非等宽字体,部分单词字母间距加宽,例如 test
  • 设置
    1. 更加简便的设置反而让我觉得不够透明,难以安心(这算强行找茬了,但就是不安啊 :joy:

注1:因为办公室电脑是 Win7,所以标签字体问题不排除系统版本原因
注2:KeePassXC 复制记录到群组的操作太诡异了,正常的复制操作是按住 Ctrl 键然后拖放到目标群组,KeePassXC 则必须在拖放到目标群组上面后再按住 Ctrl 键然后松开鼠标 :sweat:

看了下, 我用的还是KeePass 1 :rofl: