Skip to main content
← All vulnerabilities
CVE-2024-28244GHSA-CVR6-37GX-V8WC

KaTeX's maxExpand bypassed by Unicode sub/superscripts

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.16.10
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • KaTeX KaTeX

    From 0.15.4 · fixed in 0.16.10

  • katexnpm

    From 0.15.4 · fixed in 0.16.10

References 2

GitHub · KaTeX/KaTeX