Katalog CVE

CVE-2026-53531

ŚrednieCVSS 6.9
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.26%

Percentyl 17 - wyżej niż 17% wszystkich znanych CVE

Streszczenie

RaTeX to silnik renderowania matematyki zgodny z KaTeX, napisany w Rust. Przed wersją 0.1.11 parser rekurencyjny RaTeX'a rekursuje na każdym poziomie zagnieżdżenia (np. `{`, `\left`, `\sqrt{`, `^{`) bez limitu głębokości. Krótkie wejście o rozmiarze ~10 KB z zagnieżdżonymi grupami przepełnia stos głównego wątku (8 MB) i przerywa proces. Z powodu `panic = "abort"` i faktu, że przepełnienie stosu w Rust zawsze powoduje śmiertelny SIGABRT, jest to nieodwracalna odmowa usługi całego procesu, osiągalna z pojedynczego niezaufanego ciągu LaTeX. Wersja 0.1.11 naprawia problem.

Ocena ryzyka

Ryzyko polega na tym, że zdalny atakujący może wysłać specjalnie spreparowany ciąg LaTeX do aplikacji używającej RaTeX, powodując awarię całego procesu i niedostępność usługi (DoS).

Rekomendacja

Zaleca się aktualizację RaTeX do wersji 0.1.11 lub nowszej, aby zapobiec przepełnieniu stosu i awarii procesu.

Inne podatności w RaTeX

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS