KeePassXC 2.8.0 fixes memory bugs in import and browser integration
Eight security fixes shipped on October 21; only CVE-2026-69150 has an assigned identifier.
Heap use-after-free in KeePassXC KDB import before 2.8.0-beta1
Before 2.8.0-beta1, KeePassXC’s KeePass 1 (.kdb) legacy import keeps raw Entry pointers after deleting metastream entries. A local user who opens a crafted, unlockable .kdb—with an earlier metastream entry and a later KPX_CUSTOM_ICONS_4 metastream that reuses its UUID—triggers parseCustomIcons4() to call Entry::setIcon on a stale pointer. That is a heap use-after-free with a controlled write and a reliable process crash. Users who import legacy .kdb files are affected.
What to do: Upgrade KeePassXC to 2.8.0-beta1, the version that fixes this import bug, or a later release that includes it.
| Product | Affected | Fixed in |
|---|---|---|
| KeePassXC | prior to 2.8.0-beta1 | 2.8.0-beta1 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
KeePassXC is a cross-platform community-driven port of the Windows application KeePass Password Safe. Prior to 2.8.0-beta1, KeePass1 / KDB legacy import retains raw Entry pointers in m_entryUuids after deleting metastream entries. When a crafted, unlockable .kdb file contains an earlier metastream entry followed by a KPX_CUSTOM_ICONS_4 metastream that references the earlier UUID, parseCustomIcons4() calls Entry::setIcon through the stale pointer, causing a heap use-after-free with a controlled write and a reliable process crash. This issue is fixed in version 2.8.0-beta1.
Eight security fixes shipped on October 21; only CVE-2026-69150 has an assigned identifier.
Today 1.3K readers · 2K views · 1.6K reads · all time 160K views