| Título | mxml v4.0.5, v4.0.6 Use After Free |
|---|
| Descrição | Mini-XML (mxml) v4.0.5 and v4.0.6 contain a use-after-free vulnerability, in the common error path of mxml_load_data() in mxml-file.c. The cleanup code calls mxmlDelete(node) and then mxmlDelete(first) without checking whether first is a descendant of node. Because mxmlDelete() is recursive, mxmlDelete(node) can already free first when node is an ancestor of first; the subsequent mxmlDelete(first) then dereferences freed memory. AddressSanitizer reports the read in mxmlRemove() at mxml-node.c:757. The same error path can also free the caller-supplied top node. As a result, after a failed mxmlLoadString(), the caller’s top pointer is left dangling, and a later mxmlDelete(top) by the caller causes another use-after-free. This issue was introduced by the fix for issue #354. Processing malformed XML can trigger a reliable crash and potentially heap corruption. |
|---|
| Fonte | ⚠️ https://github.com/michaelrsweet/mxml/issues/358 |
|---|
| Utilizador | suyuanwang (UID 101634) |
|---|
| Submissão | 02/10/2026 17h21 (há 17 dias) |
|---|
| Moderação | 18/10/2026 19h05 (16 days later) |
|---|
| Estado | Aceite |
|---|
| Entrada VulDB | 421908 [michaelrsweet mxml 4.0.5/4.0.6 mxml-file.c mxml_load_data Excesso de tampão] |
|---|
| Pontos | 20 |
|---|