# CVE-2026-103923: KaTeX prototype pollution in renderer settings

Source: https://junglewise.ai/threats/cve-2026-103923-katex-is-a-fast-easy-to-use-javascript-library-for-tex-math  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-01. Updated: 2026-10-05  
License: CC BY 4.0 with a link back

CVE-2026-103923 · Severity: medium · CVSS 4 · Published 2026-10-01

KaTeX is a JavaScript library that renders mathematical notation on web pages. When an application that uses KaTeX doesn't properly sanitize the renderer options object, attackers can exploit prototype pollution to inject malicious code or load arbitrary external resources. This could allow attackers to execute JavaScript in the context of a user's browser or deface the displayed content.

Technologies: [katex (npm)](https://junglewise.ai/threats/technologies/katex). Vendors: [KaTeX](https://junglewise.ai/threats/vendors/katex), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-103923 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-103923 being exploited in the wild.

**How severe is CVE-2026-103923?** Medium severity, with a CVSS score of 4, published 1 October 2026.

**Which products and versions are affected?** KaTeX 0.11.0 through 0.18.1; katex (npm) >= 0.11.0, < 0.18.2, SEMVER:introduced=0.11.0,fixed=0.18.2.

**Is there a fix for CVE-2026-103923?** Yes. katex (npm): upgrade to 0.18.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-103923 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-103923?** Check whether you run KaTeX or katex (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- katex (npm): upgrade to 0.18.2 or later

  ```sh
  npm install katex@0.18.2
  ```


## Technical details

The vulnerability is a prototype pollution issue in KaTeX's handling of renderer options, trust settings, and namespace lookups between versions 0.11.0 and 0.18.2. An attacker who controls the options object's prototype or can pollute Object.prototype can manipulate inherited properties to be treated as explicitly supplied values, enabling trusted rendering mode and XSS or resource loading attacks. The attack requires prior prototype pollution or attacker control of the options object passed to KaTeX; rendering alone does not execute code.

## Affected products

- KaTeX KaTeX 0.11.0 through 0.18.1

## Identifiers

- CVE-2026-103923
- GHSA-238p-pmpm-9mq7

## Timeline

- 2026-10-01: disclosed
- 2026-08-08: patched

## References

- [https://github.com/KaTeX/KaTeX/commit/0adf7e77db6915d991803b29699f82b1ccf8d4f4](https://github.com/KaTeX/KaTeX/commit/0adf7e77db6915d991803b29699f82b1ccf8d4f4)
- [https://github.com/KaTeX/KaTeX/pull/4260](https://github.com/KaTeX/KaTeX/pull/4260)

## Related threats

- [KaTeX htmlData attribute name validation bypass](https://junglewise.ai/threats/cve-2025-23207-katex-htmldata-attribute-name-validation-bypass)
- [KaTeX protocol normalization bypass in trust option](https://junglewise.ai/threats/cve-2024-28246-katex-protocol-normalization-bypass-in-trust-option)
- [KaTeX includegraphics improper output encoding in filename](https://junglewise.ai/threats/cve-2024-28245-katex-includegraphics-improper-output-encoding-in-filename)
- [KaTeX maxExpand bypass via Unicode sub/superscripts](https://junglewise.ai/threats/cve-2024-28244-katex-maxexpand-bypass-via-unicode-sub-superscripts)
- [KaTeX maxExpand bypass via \edef token expansion](https://junglewise.ai/threats/cve-2024-28243-katex-maxexpand-bypass-via-edef-token-expansion)
