CVE-2026-53530 PUBLISHED

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

Assigner: GitHub_M
Reserved: 09.06.2026 Published: 21.08.2026 Updated: 21.08.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.7

Product Status

Vendor erweixin
Product RaTeX
Versions
  • Version < 0.1.11 is affected

References

Problem Types

  • CWE-248: Uncaught Exception CWE
  • CWE-400: Uncontrolled Resource Consumption CWE
  • CWE-1285: Improper Validation of Specified Index, Position, or Offset in Input CWE