CVE-2026-119332
Ladybird: FinalizationRegistry::cleanup() heap use-after-free via reentrant unregister()
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.
| CWE | CWE-416 |
| Vendor | ladybirdbrowser |
| Product | ladybird |
| Published | Oct 30, 2026 |
Get instant alerts for ladybirdbrowser ladybird
Be the first to know when new high vulnerabilities affecting ladybirdbrowser ladybird are published โ delivered to Slack, Telegram or Discord.
CVSS v3 Breakdown
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H