Bug 2544876 (CVE-2026-103923)

Summary: CVE-2026-103923 katex: katex: Cross-site scripting via prototype pollution inheritance
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: cdrage, rushinde, sdawley
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in KaTeX. When JavaScript prototype pollution is present or an attacker can manipulate configuration prototypes, KaTeX improperly relies on inherited properties instead of strictly validated configuration options. A remote attacker submitting crafted mathematical expressions can exploit this behavior to bypass trust restrictions, leading to cross-site scripting (XSS) or the loading of unauthorized external resources in web applications that display unsanitized output.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2558918, 2559059, 2559061, 2559063, 2559065, 2559067, 2559071, 2560643, 2560644, 2560645, 2560646, 2560647, 2560648, 2560649, 2559070    
Bug Blocks:    

Description OSIDB Bzimport 2026-10-01 23:12:02 UTC
KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web. From 0.11.0 until 0.18.2, KaTeX uses ordinary JavaScript property access for the renderer options object, the trust setting, default and processor setting metadata, and namespace lookup and group restoration, allowing inherited properties to be treated as explicitly supplied values. When Object.prototype is already polluted or an attacker controls the options object's prototype, attacker-controlled mathematical expressions can use an inherited trust value to enable trusted rendering and produce links capable of user-interaction cross-site scripting or loading attacker-selected external resources in a consuming application that inserts unsanitized KaTeX output into a page. KaTeX does not itself create the prototype pollution, and rendering an expression alone does not execute script. This issue is fixed in version 0.18.2.