Skip to content
OpenAdvisories
High · 8.7 CVE-2026-53530 EUVD-2026-64179GHSA-4hgp-59h5-gvrj

ratex-parser panics on `\verb` with a multibyte delimiter (UTF-8 byte-boundary slice)

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

Description

RaTeX is a KaTeX-compatible math rendering engine written in Rust. Prior to version 0.1.11, the public parser entrypoint `ratex_parser::parse(&str)` panics on the 9-byte input `\verbéxé` (i.e. `\verb` followed by the non-ASCII delimiter `é`). When handling a `\verb` command, the parser slices the verbatim argument with byte indices (`arg[1..arg.len() - 1]`); if the delimiter character is multibyte UTF-8, index `1` lands inside that character and Rust panics with *“byte index 1 is not a char boundary”*. Because RaTeX’s release profile sets `panic = "abort"` (`Cargo.toml:48`), the panic aborts the entire process — not just the current request/thread — making this a hard denial of service for any service that renders untrusted LaTeX. 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-4hgp-59h5-gvrj

References