Miggo Logo

CVE-2024-53989: rails-html-sanitizer has XSS vulnerability with certain configurations

2.3

CVSS Score
4.0

Basic Information

EPSS Score
0.31176%
Published
12/2/2024
Updated
12/3/2024
KEV Status
No
Technology
TechnologyRuby

Technical Details

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/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
Package NameEcosystemVulnerable VersionsFirst Patched Version
rails-html-sanitizerrubygems= 1.6.01.6.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper handling of 'noscript' tags in HTML5 sanitization configurations. The core issue was in PermitScrubber's validate! logic (validate! method) that didn't enforce noscript removal, as shown in the commit diff modifying scrubbers.rb. The SafeListSanitizer's sanitize method is also implicated as it's the entry point for processing user-configured tags. The high confidence for validate! comes from direct patch evidence, while medium confidence for sanitize comes from its role in processing vulnerable configurations.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

## Summ*ry T**r* is * possi*l* XSS vuln*r**ility wit* **rt*in *on*i*ur*tions o* R*ils::*TML::S*nitiz*r *.*.* w**n us** wit* R*ils >= *.*.*. * V*rsions *****t**: *.*.* * Not *****t**: < *.*.* * *ix** v*rsions: *.*.* ## Imp**t * possi*l* XSS vuln*r

Reasoning

T** vuln*r**ility st*ms *rom improp*r **n*lin* o* 'nos*ript' t**s in *TML* s*nitiz*tion *on*i*ur*tions. T** *or* issu* w*s in `P*rmitS*ru***r`'s `v*li**t*!` lo*i* (`v*li**t*!` m*t*o*) t**t *i*n't *n*or** nos*ript r*mov*l, *s s*own in t** *ommit *i**