Bug 2520568

Summary: CVE-2026-65898 jupyterlab: DOMPurify: Cross-site scripting via permanent attribute allowlist pollution [fedora-all]
Product: [Fedora] Fedora Reporter: Ganesh <gnaik>
Component: jupyterlabAssignee: Lumír Balhar <lbalhar>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: lbalhar, python-packagers-sig, romain.geissler
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: {"flaws": ["c2e04916-ac6b-4c4c-99cc-bc8e4232b943"]}
Fixed In Version: Doc Type: ---
Doc Text:
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:    
Bug Blocks: 2506436    

Description Ganesh 2026-08-20 16:51:17 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

Comment 1 Lumír Balhar 2026-10-12 08:36:09 UTC
Fixed in rawhide, f45 and older still affected.

Comment 2 Lumír Balhar 2026-10-14 11:58:15 UTC
I've just created an update for Jupyterlab (to 4.6.3) and related packages for F45 which is going to fix this vulnerability.