CVE Catalog

CVE-2026-119332

HighCVSS 8.8
Published: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.24%

15th percentile - higher than 15% of all known CVEs

Summary

In the Ladybird browser prior to commit 209579c, FinalizationRegistry::cleanup() removed a dead record, retained an iterator to the next record, and then invoked attacker-controlled JavaScript through the cleanup callback. If that callback called unregister() for the next record, the retained iterator referenced a freed node, and the next iteration read its fields after free.

Risk Assessment

An attacker can reliably crash the browser and create a memory-corruption primitive in production builds, potentially leading to code execution. This requires visiting a malicious page.

Recommendation

Update Ladybird to a version containing commit 209579c96473c75bd5eba9701fcadb841a045964 or later. Until then, limit browsing to trusted sites.

Other vulnerabilities in Ladybird

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS