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.
Published: 2026-08-21
Score: 6.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is an unbounded recursive‑descent parser in RaTeX that recurses one native stack frame per nesting level in LaTeX constructs such as {…}, \left, \sqrt{, ^{, without a depth limit. A short input of about 10 KB containing deep nesting can overflow the 8 MB stack of the main thread and cause the process to abort with SIGABRT. This leads to a fatal, unrecoverable denial of service that can be triggered by any untrusted LaTeX string, giving an attacker control to crash the rendering service or application that uses RaTeX.

Affected Systems

The problem affects the RaTeX math rendering engine produced by the erweixin organisation. All releases prior to 0.1.11 are impacted, as the patch was introduced in that version. The vulnerable component is a Rust‑based parser shipped in RaTeX.

Risk and Exploitability

The CVSS score of 6.9 indicates a moderate severity, and the vulnerability has no authentication requirement, meaning any user providing input to RaTeX can trigger it. The EPSS score is not available, so the likelihood of exploitation is uncertain, but the low resource requirement and lack of sandbox control make it potentially viable. The issue is not listed in CISA’s KEV catalog.

Generated by OpenCVE AI on August 21, 2026 at 22:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade RaTeX to version 0.1.11 or later.
  • If an upgrade is not immediately possible, enforce strict limits on the size and nesting depth of LaTeX input to avoid exhausting the stack.
  • Run the RaTeX parser in a isolated or sandboxed process so that a SIGABRT does not bring down the entire application or system.

Generated by OpenCVE AI on August 21, 2026 at 22:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-4w5h-hx6r-28q7 ratex-parser has unbounded parser recursion that leads to stack overflow (process abort)
History

Fri, 21 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
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.
Title ratex-parser has unbounded parser recursion that leads to stack overflow (process abort)
Weaknesses CWE-400
CWE-674
References
Metrics cvssV4_0

{'score': 6.9, 'vector': '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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T21:34:16.017Z

Reserved: 2026-06-09T17:30:33.457Z

Link: CVE-2026-53531

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-21T22:16:39.737

Modified: 2026-08-21T22:16:39.737

Link: CVE-2026-53531

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T22:30:17Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-674

    Uncontrolled Recursion