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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-674"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/28xxx/CVE-2024-28244.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:katex:katex:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0.15.4"
},
{
"fixed": "0.16.10"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "085e21b5da05414efefa932570e7201a7c70e5b2"
}
],
"source": "REFERENCES_COMMIT"
}
]
}