ratex-parser has unbounded parser recursion that leads to stack overflow (process abort)
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| erweixin | RaTeX | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Erweixin | Ratex |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-4w5h-hx6r-28q7 | ratex-parser has unbounded parser recursion that leads to stack overflow (process abort) |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.426% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Erweixin
Erweixin ratex |
|
| Vendors & Products |
Erweixin
Erweixin ratex |
| 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
|