{"id":"CVE-2026-53531","summary":"ratex-parser has unbounded parser recursion that leads to stack overflow (process abort)","details":"RaTeX is a KaTeX-compatible math rendering engine written in Rust. Prior to version 0.1.11, RaTeX’s recursive-descent parser recurses one (or more) native stack frame per nesting level at `{`, `\\left`, `\\sqrt{`, `^{`, etc, with no maximum depth limit. A short, ~10 KB input of nested groups overflows the 8 MB main-thread stack and aborts the process. With `panic = \"abort\"` (`Cargo.toml:48`), and because a Rust stack overflow is always a fatal `SIGABRT` regardless of panic strategy this is an unrecoverable, whole-process denial of service reachable from a single untrusted LaTeX string. Version 0.1.11 fixes the issue.","aliases":["GHSA-4w5h-hx6r-28q7"],"modified":"2026-09-11T03:30:31.295705098Z","published":"2026-08-21T21:34:16.017Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53531.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-400","CWE-674"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53531.json"},{"type":"ADVISORY","url":"https://github.com/erweixin/RaTeX/security/advisories/GHSA-4w5h-hx6r-28q7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53531"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/erweixin/ratex","events":[{"introduced":"0"},{"fixed":"f45ce1b7155390257ced1a5f6931ace65c4a3074"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.1.11"}],"source":"AFFECTED_FIELD"}}],"versions":["ratex-types-v0.0.3","ratex-parser-v0.0.3","ratex-lexer-v0.0.3","ratex-layout-v0.0.3","ratex-font-v0.0.3"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53531.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"}]}