Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted .kdb file to user
-
ExploitVictim imports legacy KeePass1 database
-
ExecutionparseCustomIcons4 follows stale Entry pointer
-
ImpactHeap use-after-free crashes KeePassXC
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim running KeePassXC prior to 2.8.0-beta1 to actively use the legacy KeePass1/KDB import feature on an attacker-supplied, crafted .kdb file that is unlockable and contains an earlier metastream entry followed by a KPX_CUSTOM_ICONS_4 metastream referencing that earlier entry's UUID. Limiting factors: the attack is local (AV:L) with no network path, needs active user interaction to perform the import (UI:A), targets a niche legacy KDB import code path that is not part of normal day-to-day use, and the file must be openable. Default usage of the product without importing a malicious legacy database is not affected. |
| Impact | The supplied CVSS 4.0 base score is 4.3 (Medium), and every signal points to genuinely low real-world urgency rather than a high-severity emergency. The vector (AV:L/AC:H/AT:P/PR:L/UI:A) means exploitation is local, high-complexity, carries an explicit attack requirement, and demands active user interaction - the victim must manually import an attacker-supplied legacy .kdb file. Impact is dominated by availability (VA:H, a reliable process crash) with only limited integrity impact (VI:L from the controlled heap write) and no confidentiality impact (VC:N). No EPSS score was provided, the CVE is not in CISA KEV, and no public PoC is referenced, so there is no public exploit identified at time of analysis and no evidence of active exploitation. One conflict to flag: the supplied vector states PR:L, but importing a database file requires no special application privileges - I assess this as effectively unauthenticated (PR:N); verify with the vendor advisory. Bottom line: this is primarily a social-engineering-dependent denial-of-service in a non-default legacy import path; the controlled write raises theoretical code-execution concerns but is not demonstrated, so this is a low-priority, patch-in-normal-cycle issue rather than an emergency. |
| Exploit ScenarioDerived | An attacker crafts a malicious but openable KeePass1/.kdb file containing a metastream entry followed by a KPX_CUSTOM_ICONS_4 metastream that references the earlier entry's UUID, then socially engineers a KeePassXC user (version prior to 2.8.0-beta1) into importing it via the legacy KDB import feature. During parsing, parseCustomIcons4() calls Entry::setIcon through a stale pointer left in m_entryUuids, triggering a heap use-after-free with a controlled write that reliably crashes the application. No public exploit code is known to exist, and the local attack vector plus required active user interaction make this a targeted, low-likelihood scenario. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
A heap use-after-free in KeePassXC's legacy KeePass1/KDB import path can crash the application and permit a limited, attacker-influenced write when a user actively imports a crafted, unlockable .kdb file; all builds prior to 2.8.0-beta1 are affected. The flaw is local-only and requires the victim to manually run the legacy import against an attacker-supplied database, so normal day-to-day use of KeePassXC without importing untrusted KDB files is not exposed. Severity is modest - CVSS 4.0 base 4.3 (Medium) and an assessed CVSS 3.1 vector of AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H (impact skewed to availability, with only low integrity impact and no confidentiality loss) - and no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
Upgrade to KeePassXC 2.8.0-beta1 or a later release - vendor-released patch: 2.8.0-beta1 - which contains the upstream fix (commit 6a534f38c61295d60b0e937739a12511e76dbfeb) that removes the dangling entry from the m_entryUuids and m_entryGroupIds maps during metastream entry deletion; because 2.8.0-beta1 is a pre-release, prefer the first stable 2.8.0 build once published and validate the fix in tandem with GHSA-4642-49vv-4p43. Until upgrading, the effective compensating control is procedural rather than configuration-based: do not import .kdb (legacy KeePass 1.x) files from untrusted or untrusted-origin sources, since the vulnerable code path is only reachable through a user-initiated legacy import and the crafted file must be openable - the trade-off is a complete loss of legacy KDB import capability for untrusted data, which is acceptable because that format is deprecated and rarely used. If legacy imports are operationally required, perform them inside an isolated, disposable environment (container, VM, or a dedicated low-privilege account with no access to production secrets or the network), accepting the residual risk of a crash and limited memory corruption within that sandbox; note that sandboxing does not remove the underlying memory-safety bug and only bounds its blast radius. No vendor-supplied configuration flag, disable switch, or standalone hotfix for the affected code path was identified in the available data.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a CWE-416 use-after-free inside KeePassXC's KeePass1 reader (src/format/KeePass1Reader.cpp), the parser that ingests the legacy Windows KeePass 1.x .kdb format. During parsing, the reader keeps raw Entry* pointers in side maps such as m_entryUuids and m_entryGroupIds so later metastream records can be resolved back to earlier entries. When a crafted .kdb file contains an earlier metastream entry followed by a KPX_CUSTOM_ICONS_4 metastream that references the earlier entry's UUID, the parser deletes the metastream entry but leaves the stale raw pointer in m_entryUuids; parseCustomIcons4() then calls Entry::setIcon through that dangling pointer, producing a heap use-after-free with a partially controlled write and a reliable crash. The upstream fix (commit 6a534f38c61295d60b0e937739a12511e76dbfeb) erases the corresponding keys from m_entryUuids and m_entryGroupIds when the entry is removed, eliminating the dangling reference. The affected product is identified by CPE cpe:2.3:a:keepassxreboot:keepassxc:*:*:*:*:*:*:*:*, i.e. every release before the 2.8.0-beta1 tag across all platforms.
Know when Keepassxc gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:A/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
Local file import requires an attacker-supplied .kdb and victim action (AV:L/UI:R) with no app privileges (PR:N); the crash is reliable (AC:L), the controlled write gives limited integrity (I:L), the crash gives A:H, and no data is disclosed (C:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Issue in KeePassXC 2.7.7 allows an attacker (who has the privileges of the victim) to recover some passwords stored in t
KeePassXC 2.7.7 allows an attacker (who has the privileges of the victim) to recover cleartext credentials via a memory
Local privilege escalation in KeePassXC password manager allows authenticated attackers with low privileges to execute a
In KeePassXC through 2.7.5, a local attacker can make changes to the Database security settings, including master passwo
EUVD-2026-98810
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB