CVE-2024-28246

KaTeX is missing normalization of the protocol in URLs allows bypassing forbidden protocols

State
Published
Severity
5.5 Medium
Published
Mar 25, 2024
Updated
Aug 2, 2024
Reserved
Mar 7, 2024

Read the record on cve.org

Description

KaTeX is a JavaScript library for TeX math rendering on the web. Code that uses KaTeX's `trust` option, specifically that provides a function to blacklist certain URL protocols, can be fooled by URLs in malicious inputs that use uppercase characters in the protocol. In particular, this can allow for malicious input to generate `javascript:` links in the output, even if the `trust` function tries to forbid this protocol via `trust: (context) => context.protocol !== 'javascript'`. Upgrade to KaTeX v0.16.10 to remove this vulnerability.

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:LGitHub_M

Weaknesses

  • CWE-184 Incomplete List of Disallowed Inputs
  • CWE-697 Incorrect Comparison

Affected Products

ProductVersions
KaTeXKaTeX
  • >= 0.11.0, < 0.16.10Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.