Skip to content
OpenAdvisories
Medium · 6.9 CVE-2026-53531 EUVD-2026-64180GHSA-4w5h-hx6r-28q7

ratex-parser has unbounded parser recursion that leads to stack overflow (process abort)

Published Aug 21, 2026 · Updated Aug 25, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
erweixin RaTeX < 0.1.11 —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io ratex-parser < 0.1.11 0.1.11 GHSA-4w5h-hx6r-28q7

References