Lucene search

K
githubGitHub Advisory DatabaseGHSA-F5WW-CQ3M-Q3G7
HistoryJul 06, 2023 - 7:45 p.m.

Sanitize vulnerable to Cross-site Scripting via insufficient neutralization of `style` element content

2023-07-0619:45:44
CWE-79
GitHub Advisory Database
github.com
3
sanitize
cross-site scripting
html and css
upgrade

7.1 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

CHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

LOW

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L

0.001 Low

EPSS

Percentile

30.8%

Impact

Using carefully crafted input, an attacker may be able to sneak arbitrary HTML and CSS through Sanitize >= 3.0.0, < 6.0.2 when Sanitize is configured to use the built-in “relaxed” config or when using a custom config that allows style elements and one or more CSS at-rules. This could result in XSS (cross-site scripting) or other undesired behavior when the malicious HTML and CSS are rendered in a browser.

Patches

Sanitize >= 6.0.2 performs additional escaping of CSS in style element content, which fixes this issue.

Workarounds

Users who are unable to upgrade can prevent this issue by using a Sanitize config that doesn’t allow style elements, using a Sanitize config that doesn’t allow CSS at-rules, or by manually escaping the character sequence </ as <\/ in style element content.

Credit

This issue was found by @cure53 during an audit of a project that uses Sanitize and was reported by one of that project’s maintainers. Thank you!

Affected configurations

Vulners
Node
sanitize_projectsanitizeRange3.0.0ruby
OR
sanitize_projectsanitizeRange<6.0.2ruby
CPENameOperatorVersion
sanitizege3.0.0
sanitizelt6.0.2

7.1 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

CHANGED

Confidentiality Impact

LOW

Integrity Impact

LOW

Availability Impact

LOW

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L

0.001 Low

EPSS

Percentile

30.8%