CVE-2024-28244CWE-674

KaTeX's maxExpand bypassed by Unicode sub/superscripts

Medium · published March 25, 2024

CVSS v3.1
6.5
EPSS
2%
Percentile
82.0
In the wild
Unconfirmed
What it is

KaTeX is a JavaScript library for TeX math rendering on the web. KaTeX users who render untrusted mathematical expressions could encounter malicious input using `\def` or `\newcommand` that causes a near-infinite loop, despite setting `maxExpand` to avoid such loops. KaTeX supports an option named maxExpand which aims to prevent infinitely recursive macros from consuming all available memory and/or triggering a stack overflow error. Unfortunately, support for "Unicode (sub|super)script characters" allows an attacker to bypass this limit. Each sub/superscript group instantiated a separate Parser with its own limit on macro executions, without inheriting the current count of macro executions from its parent. This has been corrected in KaTeX v0.16.10.

The record
Technical detail
CVSS v3.1
6.5 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.02155 · 82.0th percentile
Weakness
CWE-674 · Uncontrolled Recursion
Published
2024-03-25T19:45Z
EPSS history
Timeline
  • 25 MAR 19:45Z
    KaTeX's maxExpand bypassed by Unicode sub/superscripts
    cvelistv5