Search for vulnerabilities
Vulnerability details: VCID-pfqz-3pgs-qkbz
Vulnerability ID VCID-pfqz-3pgs-qkbz
Aliases CVE-2024-53989
GHSA-rxv5-gxqc-xx8g
Summary rails-html-sanitizer has XSS vulnerability with certain configurations ## Summary There is a possible XSS vulnerability with certain configurations of Rails::HTML::Sanitizer 1.6.0 when used with Rails >= 7.1.0. * Versions affected: 1.6.0 * Not affected: < 1.6.0 * Fixed versions: 1.6.1 ## Impact A possible XSS vulnerability with certain configurations of Rails::HTML::Sanitizer may allow an attacker to inject content if HTML5 sanitization is enabled and the application developer has overridden the sanitizer's allowed tags in the following way: - the "noscript" element is explicitly allowed Code is only impacted if Rails is configured to use HTML5 sanitization, please see documentation for [`config.action_view.sanitizer_vendor`](https://guides.rubyonrails.org/configuring.html#config-action-view-sanitizer-vendor) and [`config.action_text.sanitizer_vendor`](https://guides.rubyonrails.org/configuring.html#config-action-text-sanitizer-vendor) for more information on these configuration options. The default configuration is to disallow all of these elements. Code is only impacted if allowed tags are being overridden. Applications may be doing this in a few different ways: 1. using application configuration to configure Action View sanitizers' allowed tags: ```ruby # In config/application.rb config.action_view.sanitized_allowed_tags = ["noscript"] ``` see https://guides.rubyonrails.org/configuring.html#configuring-action-view 2. using a `:tags` option to the Action View helper `sanitize`: ``` <= sanitize @comment.body, tags: ["noscript"] > ``` see https://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-sanitize 3. setting Rails::HTML5::SafeListSanitizer class attribute `allowed_tags`: ```ruby # class-level option Rails::HTML5::SafeListSanitizer.allowed_tags = ["noscript"] ``` (note that this class may also be referenced as `Rails::Html::SafeListSanitizer`) 4. using a `:tags` options to the Rails::HTML5::SafeListSanitizer instance method `sanitize`: ```ruby # instance-level option Rails::HTML5::SafeListSanitizer.new.sanitize(@article.body, tags: ["noscript"]) ``` (note that this class may also be referenced as `Rails::Html::SafeListSanitizer`) 5. setting ActionText::ContentHelper module attribute `allowed_tags`: ```ruby ActionText::ContentHelper.allowed_tags = ["noscript"] ``` All users overriding the allowed tags by any of the above mechanisms to include "noscript" should either upgrade or use one of the workarounds. ## Workarounds Any one of the following actions will work around this issue: - Remove "noscript" from the overridden allowed tags, - Or, downgrade sanitization to HTML4 (see documentation for [`config.action_view.sanitizer_vendor`](https://guides.rubyonrails.org/configuring.html#config-action-view-sanitizer-vendor) and [`config.action_text.sanitizer_vendor`](https://guides.rubyonrails.org/configuring.html#config-action-text-sanitizer-vendor) for more information). ## References - [CWE - CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') (4.9)](https://cwe.mitre.org/data/definitions/79.html) - Original report: https://hackerone.com/reports/2509647 ## Credit This vulnerability was responsibly reported by HackerOne user [@taise](https://hackerone.com/taise?type=user).
Status Published
Exploitability 0.5
Weighted Severity 2.8
Risk 1.4
Affected and Fixed Packages Package Details
Weaknesses (3)
System Score Found at
cvssv3 3.1 https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2024-53989.json
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00043 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00054 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00054 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00054 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00068 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00068 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00068 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00068 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00075 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00082 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00082 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00082 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00082 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00082 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00096 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.00113 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
epss 0.0015 https://api.first.org/data/v1/epss?cve=CVE-2024-53989
cvssv3.1_qr LOW https://github.com/advisories/GHSA-rxv5-gxqc-xx8g
generic_textual LOW https://github.com/rails/rails-html-sanitizer
cvssv4 2.3 https://github.com/rails/rails-html-sanitizer/commit/16251735e36ebdc302e2f90f2a39cad56879414f
generic_textual LOW https://github.com/rails/rails-html-sanitizer/commit/16251735e36ebdc302e2f90f2a39cad56879414f
ssvc Track https://github.com/rails/rails-html-sanitizer/commit/16251735e36ebdc302e2f90f2a39cad56879414f
cvssv3.1_qr LOW https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g
cvssv4 2.3 https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g
generic_textual LOW https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g
ssvc Track https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g
generic_textual LOW https://github.com/rubysec/ruby-advisory-db/blob/master/gems/rails-html-sanitizer/CVE-2024-53989.yml
generic_textual LOW https://nvd.nist.gov/vuln/detail/CVE-2024-53989
No exploits are available.
Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N Found at https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2024-53989.json
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

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 Found at https://github.com/rails/rails-html-sanitizer/commit/16251735e36ebdc302e2f90f2a39cad56879414f
Attack Vector (AV) Attack Complexity (AC) Attack Requirements (AT) Privileges Required (PR) User Interaction (UI) Vulnerable System Impact Confidentiality (VC) Vulnerable System Impact Integrity (VI) Vulnerable System Impact Availability (VA) Subsequent System Impact Confidentiality (SC) Subsequent System Impact Integrity (SI) Subsequent System Impact Availability (SA)

network

adjacent

local

physical

low

high

none

present

none

low

high

none

passive

active

high

low

none

high

low

none

high

low

none

high

low

none

high

low

none

high

low

none


Vector: SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2024-12-03T14:35:22Z/ Found at https://github.com/rails/rails-html-sanitizer/commit/16251735e36ebdc302e2f90f2a39cad56879414f
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 Found at https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g
Attack Vector (AV) Attack Complexity (AC) Attack Requirements (AT) Privileges Required (PR) User Interaction (UI) Vulnerable System Impact Confidentiality (VC) Vulnerable System Impact Integrity (VI) Vulnerable System Impact Availability (VA) Subsequent System Impact Confidentiality (SC) Subsequent System Impact Integrity (SI) Subsequent System Impact Availability (SA)

network

adjacent

local

physical

low

high

none

present

none

low

high

none

passive

active

high

low

none

high

low

none

high

low

none

high

low

none

high

low

none

high

low

none


Vector: SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2024-12-03T14:35:22Z/ Found at https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g
Exploit Prediction Scoring System (EPSS)
Percentile 0.10484
EPSS Score 0.00043
Published At Dec. 3, 2024, midnight
Date Actor Action Source VulnerableCode Version
2024-12-04T05:51:59.690638+00:00 Ruby Importer Import https://github.com/rubysec/ruby-advisory-db/blob/master/gems/rails-html-sanitizer/CVE-2024-53989.yml 35.0.0