CVE-2026-119332
Dashboard / Vulnerabilities / CVE-2026-119332
Summary: Ladybird: FinalizationRegistry::cleanup() heap use-after-free via reentrant unregister()
Details: Ladybird is a truly independent web browser. Prior to 209579c96473c75bd5eba9701fcadb841a045964, FinalizationRegistry::cleanup() in Libraries/LibJS/Runtime/FinalizationRegistry.cpp removed a dead record from m_records, retained an iterator to the next FinalizationRecord, and then invoked attacker-controlled JavaScript through the cleanup callback. If that callback called unregister() for the next record, remove_by_token() freed the node referenced by the retained iterator, and the next cleanup iteration read its target and held_value fields after free. This reliably crashes instrumented WebContent builds and creates a memory-corruption primitive in production builds. This vulnerability is fixed by commit 209579c96473c75bd5eba9701fcadb841a045964.
References: https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/119xxx/CVE-2026-119332.json, https://github.com/LadybirdBrowser/ladybird/security/advisories/GHSA-6cmv-xmff-qjph, https://nvd.nist.gov/vuln/detail/CVE-2026-119332, https://github.com/LadybirdBrowser/ladybird/commit/209579c96473c75bd5eba9701fcadb841a045964
Affected packages
Package
Name:
Purl:
