Skip to content
OpenAdvisories
Medium · 5.5 CVE-2024-28246 EUVD-2024-0807GHSA-3wc5-fcw2-2329

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

Published Mar 25, 2024 · Updated Aug 2, 2024 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
KaTeX KaTeX >= 0.11.0, < 0.16.10 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-katex 0.16.10+~cs6.1.0-1 —
Debian 13 node-katex 0.16.10+~cs6.1.0-1 —
Debian 12 node-katex No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu Pro 24.04 LTS node-katex 0.16.10+~cs6.1.0-2ubuntu0.24.04.1~esm1 USN-7572-1
Ubuntu Pro 22.04 LTS node-katex 0.13.11+~cs6.0.0-2ubuntu0.1~esm1 USN-7572-1

Affected packages

EcosystemPackageAffectedFixedRecord
npm katex >= 0.11.0, < 0.16.10 0.16.10 GHSA-3wc5-fcw2-2329

Advisories 1

References