CVE-2026-41240

Aliases:GHSA-h7mw-gpvr-xq4mDEBIAN-CVE-2026-41240CGA-9g7h-qj9p-4pgwCGA-9jgh-3wpc-79jqCGA-gpch-839g-crfcCGA-25pw-5crf-h9pmCGA-26qr-5m2v-jhr9CGA-2fjm-28f6-cpxhCGA-2jf5-6vc6-hpphCGA-32mp-xc2f-w5wjCGA-3588-gpjw-9cfrCGA-36f5-vw59-hw93CGA-3849-qrcj-3mvcCGA-47fq-w33f-4gpfCGA-4f27-7cqp-jh9jCGA-4gcj-x2gv-2v65CGA-4h87-jp5w-jr86CGA-4xrg-hmfx-j8c5CGA-548h-4m3v-6fp8CGA-5crc-fmcq-hf6wCGA-6cvp-6mx8-92rrCGA-6hxf-9gwg-rqwhCGA-6jvr-xgwq-vr2qCGA-6v79-4r3f-3gf8CGA-75xj-j2rr-xv87CGA-78xx-fhgm-xrc5CGA-7g7c-8x6f-rrp8CGA-7j4p-3mrg-wgj5CGA-83hm-qf3q-4q9pCGA-8wv9-27mf-rhrxCGA-9f29-gvwf-f7wvCGA-9f35-gjvh-pw2wCGA-c54p-h445-82wpCGA-c7mp-r4v7-pp7xCGA-c86q-pvmj-823xCGA-cc77-8qv3-m6r4CGA-chgm-mh36-522qCGA-cqc9-7vvx-3pf8CGA-f85x-333x-8vj6CGA-fjrf-vq4p-x7hqCGA-fxqg-p8xf-h237CGA-g22m-j59r-m8c9CGA-g5jc-4889-fhgqCGA-g72r-6p9g-g4grCGA-g8gq-j3gj-vxgfCGA-gjqf-9rvm-p46wCGA-gqmh-6c2f-h3qjCGA-gx2w-cpjp-322gCGA-h723-p7g7-93m6CGA-hcfv-p278-h938CGA-hhh6-jhwq-j636CGA-j4cc-g2cp-82w6CGA-jf7g-7m42-vv5pCGA-jqxf-f5wq-g3h6CGA-jw8c-prc8-cx2cCGA-m2vg-vv3h-rj5vCGA-m8jp-8jh3-h9pjCGA-mmgm-q4mf-wgpqCGA-mv67-gp89-5gh4CGA-mx29-62f7-cj94CGA-pmwc-38f4-wh7xCGA-pqp6-35q7-w677CGA-pqxx-cw5q-mxj5CGA-pw7f-2p6w-vgjrCGA-pxq8-m7h8-6237CGA-q5j5-6m22-cwfqCGA-q95v-g962-9wf2CGA-r2c4-rj4p-c5v2CGA-rhh3-h3cg-62gcCGA-rrv7-mc67-f6wwCGA-v48x-p3f9-7m79CGA-v54q-wmcm-j2xgCGA-v994-v4pf-rcqwCGA-vc2w-6w2m-qqcpCGA-vgh4-89x8-93cjCGA-vrh6-9mh3-4h7cCGA-w5vv-xp8f-mx65CGA-wj9j-8cm2-rfqxCGA-xc75-x7jq-w7cgCGA-xfvj-44mx-f38p
Advisory lineage Upstream: 0 Downstream: 4
Analyzed
Published: 23 Apr 2026, 14:54
Last modified:23 Apr 2026, 17:21

Vulnerability Summary

Overall Risk (default)
medium
34/100
CVSS Score
6.1 MEDIUM
v3.1 (nvd)
EPSS Score
0.31% LOW
0% probability 0.00%
KEV
Not listed
Ransomware
No reports
Public exploits
1 found
Dark Web
Not detected

Timeline

23 Apr 2026, 14:54
Published
Vulnerability first disclosed
23 Apr 2026, 17:21
Last Modified
Vulnerability information updated

Description

DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Versions prior to 3.4.0 have an inconsistency between FORBID_TAGS and FORBID_ATTR handling when function-based ADD_TAGS is used. Commit c361baa added an early exit for FORBID_ATTR at line 1214. The same fix was not applied to FORBID_TAGS. At line 1118-1123, when EXTRA_ELEMENT_HANDLING.tagCheck returns true, the short-circuit evaluation skips the FORBID_TAGS check entirely. This allows forbidden elements to survive sanitization with their attributes intact. Version 3.4.0 patches the issue.

CVSS Metrics

  • v4.0MEDIUMScore: 6CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
  • v4.0MEDIUMScore: 6CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • v3.1MEDIUMScore: 6.1CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

EPSS Trends

Current EPSS score: 0.31% Percentile: 24%

Techniques & Countermeasures

  • CWE-79Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

    The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

  • CWE-183Permissive List of Allowed Inputs

    The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are explicitly allowed by policy because the inputs are assumed to be safe, but the list is too permissive - that is, it allows an input that is unsafe, leading to resultant weaknesses.

Affected Systems

  • chainguardairflow-2

    all

  • chainguardairflow-core-2

    all

  • chainguardgitlab-rails-ce-18.1

    all

  • chainguardgitlab-rails-ce-18.10

    all

  • chainguardgitlab-rails-ce-18.11

    all

  • chainguardgitlab-rails-ce-18.5

    all

  • chainguardgitlab-rails-ce-18.6

    all

  • chainguardgitlab-rails-ce-18.7

    all

  • chainguardgitlab-rails-ce-18.8

    all

  • chainguardgitlab-rails-ce-18.9

    all

  • chainguardgitlab-rails-ce-fips-18.1

    all

  • chainguardgitlab-rails-ce-fips-18.10

    all

  • chainguardgitlab-rails-ce-fips-18.11

    all

  • chainguardgitlab-rails-ce-fips-18.5

    all

  • chainguardgitlab-rails-ce-fips-18.6

    all

  • chainguardgitlab-rails-ce-fips-18.7

    all

  • chainguardgitlab-rails-ce-fips-18.8

    all

  • chainguardgitlab-rails-ce-fips-18.9

    all

  • chainguardlangfuse-fips-3

    < 3.164.0-r6

  • chainguardlangfuse-fips-3-worker

    < 3.164.0-r6

  • chainguardlangfuse-fips-3.152

    all

  • chainguardlangfuse-fips-3.152-worker

    all

  • chainguardnextcloud-server-31

    all

  • chainguardnextcloud-server-33

    < 33.0.6-r0

  • chainguardopensearch-dashboards-3

    < 3.6.0-r3

  • chainguardopensearch-dashboards-3-fips

    < 3.6.0-r4

  • chainguardwazuh-dashboard-alerting-dashboards-plugin

    < 4.14.4-r3

  • chainguardwazuh-dashboard-anomaly-detection-dashboards-plugin

    < 4.14.4-r3

  • chainguardwazuh-dashboard-dashboards-maps

    < 4.14.4-r3

  • chainguardwazuh-dashboard-dashboards-notifications

    < 4.14.4-r3

  • chainguardwazuh-dashboard-dashboards-reporting

    < 4.14.4-r3

  • chainguardwazuh-dashboard-dashboards-visualizations

    < 4.14.4-r3

  • chainguardwazuh-dashboard-index-management-dashboards-plugin

    < 4.14.4-r3

  • chainguardwazuh-dashboard-plugins

    < 4.14.4-r3

  • chainguardwazuh-dashboard-plugins-fips

    < 4.14.4-r2

  • wolfinextcloud-server-33

    < 33.0.6-r0

  • wolfiopensearch-dashboards-3

    < 3.6.0-r3

  • cure53dompurify

    < 3.4.0

  • debiannode-dompurify

    all | all | < 3.4.1+dfsg-1

  • Npmdompurify

    < 3.4.0

References (7)