CVE-2026-73648
rails-html-sanitizer: Possible XSS vulnerability with certain configurations
rails-html-sanitizer is responsible for sanitizing HTML fragments in Rails applications. From 1.0.3 until 1.7.1, Rails::HTML::PermitScrubber restricted SVG reference elements in SVG_ALLOW_LOCAL_HREF only when they used xlink:href, even though browsers also accept the plain href attribute. Applications with non-default allowed tags that included SVG use or feImage elements could therefore permit external references; a same-origin external SVG referenced by use could execute scripts in the sanitized document's context, while feImage could load external images for tracking. Applications using the default allowed tags are not affected. This issue is fixed in version 1.7.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Active
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.1
rails-html-sanitizer: Possible XSS vulnerability with certain configurations
rails-html-sanitizer is responsible for sanitizing HTML fragments in Rails applications. From 1.0.3 until 1.7.1, Rails::HTML::PermitScrubber restricted SVG reference elements in SVG_ALLOW_LOCAL_HREF only when they used xlink:href, even though browsers also accept the plain href attribute. Applications with non-default allowed tags that included SVG use or feImage elements could therefore permit external references; a same-origin external SVG referenced by use could execute scripts in the sanitized document's context, while feImage could load external images for tracking. Applications using the default allowed tags are not affected. This issue is fixed in version 1.7.1.
- Record
CVE-2026-73648- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-58191
5.1
rails-html-sanitizer is responsible for sanitizing HTML fragments in Rails applications. From 1.0.3 until 1.7.1, Rails::HTML::PermitScrubber restricted SVG reference elements in SVG_ALLOW_LOCAL_HREF only when they used xlink:href, even though browsers also accept the plain href attribute. Applications with non-default allowed tags that included SVG use or feImage elements could therefore permit external references; a same-origin external SVG referenced by use could execute scripts in the sanitized document's context, while feImage could load external images for tracking. Applications using the default allowed tags are not affected. This issue is fixed in version 1.7.1.
- Record
EUVD-2026-58191- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-cj75-f6xr-r4g7
5.1
Rails HTML Sanitizers: Possible XSS vulnerability with certain configurations
Summary
There is a possible cross-site scripting vulnerability in rails-html-sanitizer when the sanitizer is configured to allow an SVG reference element such as <use>. See related GHSA-9wjq-cp2p-hrgf in Loofah, whose SVG local-reference logic rails-html-sanitizer mirrors.
- Versions affected:
>= 1.0.3, < 1.7.1 - Not affected:
< 1.0.3 - Fixed versions:
1.7.1
Impact
Rails::HTML::PermitScrubber restricts SVG reference elements in the SVG_ALLOW_LOCAL_HREF collection to local, same-document references, but that restriction covered only the xlink:href attribute. Browsers also accept a plain href attribute per the SVG 2 spec, and it was not restricted, so those elements could reference arbitrary external documents. SVG <use> can load and render external SVG content by reference, and if the referenced document is same-origin and contains scripts, it could execute in the context of the sanitized document. <feImage> can load external images, which can be used for tracking.
Applications are impacted only when the allowed tags are overridden to include one of these SVG reference elements, for example <use> or <feImage>. The default allowed tags do not include these SVG elements, so applications using the default configuration are not affected.
Workarounds
Remove the SVG reference elements (such as use and feImage) from the overridden allowed tags. Applications using the default allowed tags are not affected.
References
- GHSA-9wjq-cp2p-hrgf: SVG
hrefattribute bypasses local-reference restriction in Loofah - CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Credit
Found by maintainer Mike Dalessio during a security audit.
- Record
GHSA-cj75-f6xr-r4g7- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
NVD
5.1
rails-html-sanitizer is responsible for sanitizing HTML fragments in Rails applications. From 1.0.3 until 1.7.1, Rails::HTML::PermitScrubber restricted SVG reference elements in SVG_ALLOW_LOCAL_HREF only when they used xlink:href, even though browsers also accept the plain href attribute. Applications with non-default allowed tags that included SVG use or feImage elements could therefore permit external references; a same-origin external SVG referenced by use could execute scripts in the sanitized document's context, while feImage could load external images for tracking. Applications using the default allowed tags are not affected. This issue is fixed in version 1.7.1.
- Record
CVE-2026-73648- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/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 - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
5.1
rails-html-sanitizer: Possible XSS vulnerability with certain configurations
rails-html-sanitizer is responsible for sanitizing HTML fragments in Rails applications. From 1.0.3 until 1.7.1, Rails::HTML::PermitScrubber restricted SVG reference elements in SVG_ALLOW_LOCAL_HREF only when they used xlink:href, even though browsers also accept the plain href attribute. Applications with non-default allowed tags that included SVG use or feImage elements could therefore permit external references; a same-origin external SVG referenced by use could execute scripts in the sanitized document's context, while feImage could load external images for tracking. Applications using the default allowed tags are not affected. This issue is fixed in version 1.7.1.
- Record
CVE-2026-73648- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-73648
5.1
rails-html-sanitizer is responsible for sanitizing HTML fragments in Rails applications. From 1.0.3 until 1.7.1, Rails::HTML::PermitScrubber restricted SVG reference elements in SVG_ALLOW_LOCAL_HREF only when they used xlink:href, even though browsers also accept the plain href attribute. Applications with non-default allowed tags that included SVG use or feImage elements could therefore permit external references; a same-origin external SVG referenced by use could execute scripts in the sanitized document's context, while feImage could load external images for tracking. Applications using the default allowed tags are not affected. This issue is fixed in version 1.7.1.
- Record
DEBIAN-CVE-2026-73648- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/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 - Updated
- 2026-11-02
Show 7 moreShow less
OSVGHSA-cj75-f6xr-r4g7
5.1
Rails HTML Sanitizers: Possible XSS vulnerability with certain configurations
Summary
There is a possible cross-site scripting vulnerability in rails-html-sanitizer when the sanitizer is configured to allow an SVG reference element such as <use>. See related GHSA-9wjq-cp2p-hrgf in Loofah, whose SVG local-reference logic rails-html-sanitizer mirrors.
- Versions affected:
>= 1.0.3, < 1.7.1 - Not affected:
< 1.0.3 - Fixed versions:
1.7.1
Impact
Rails::HTML::PermitScrubber restricts SVG reference elements in the SVG_ALLOW_LOCAL_HREF collection to local, same-document references, but that restriction covered only the xlink:href attribute. Browsers also accept a plain href attribute per the SVG 2 spec, and it was not restricted, so those elements could reference arbitrary external documents. SVG <use> can load and render external SVG content by reference, and if the referenced document is same-origin and contains scripts, it could execute in the context of the sanitized document. <feImage> can load external images, which can be used for tracking.
Applications are impacted only when the allowed tags are overridden to include one of these SVG reference elements, for example <use> or <feImage>. The default allowed tags do not include these SVG elements, so applications using the default configuration are not affected.
Workarounds
Remove the SVG reference elements (such as use and feImage) from the overridden allowed tags. Applications using the default allowed tags are not affected.
References
- GHSA-9wjq-cp2p-hrgf: SVG
hrefattribute bypasses local-reference restriction in Loofah - CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Credit
Found by maintainer Mike Dalessio during a security audit.
- Record
GHSA-cj75-f6xr-r4g7- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-73648
5.1
rails-html-sanitizer is responsible for sanitizing HTML fragments in Rails applications. From 1.0.3 until 1.7.1, Rails::HTML::PermitScrubber restricted SVG reference elements in SVG_ALLOW_LOCAL_HREF only when they used xlink:href, even though browsers also accept the plain href attribute. Applications with non-default allowed tags that included SVG use or feImage elements could therefore permit external references; a same-origin external SVG referenced by use could execute scripts in the sanitized document's context, while feImage could load external images for tracking. Applications using the default allowed tags are not affected. This issue is fixed in version 1.7.1.
- Record
UBUNTU-CVE-2026-73648- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12153-1 No score
hawk2-2.7.2+git.1792148770.648dcddb-1.1 on GA media
These are all security issues fixed in the hawk2-2.7.2+git.1792148770.648dcddb-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12153-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:22068-1 No score
Security update for hawk2
This update for hawk2 fixes the following issues:
- CVE-2026-42246: net-imap: MITM attacker can cause Net::IMAP#starttls to return successfully, without starting TLS (bsc#1268996).
- CVE-2026-66066: unsafe image processing operations on untrusted uploads can allow arbitrary file reading and remote code execution (bsc#1273348).
- CVE-2026-71847: json: heap use-after free in JSON::ResumableParser partial_value can lead to crash on truncated duplicate-key streams (bsc#1275213).
- CVE-2026-73490: loofah: improper handling of SVG attributes in the HTML5 sanitizer allows bypass of local-reference restrictions (bsc#1275179).
- CVE-2026-73491: loofah: improper handling of javascript: URIs can lead to XSS (bsc#1275183).
- CVE-2026-73492: loofah: improper handling of javascript: and vbscript: URIs can lead to XSS (bsc#1275188).
- CVE-2026-73648: rails-html-sanitizer: cross-site scripting is possible when the sanitizer is configured to allow certain SVG reference elements (bsc#1275200).
Changes for hawk2:
- Update to version 2.7.2+git.1788518533.7d4dadd6 (bsc#1275019):
- Test: give sle15 more time when choosing between sle15 and sle16
- Dev: bump jQuery version to 4.0.0
- Dev: bump jQuery version to 3.5.0
- Dev: bump jQuery version to 2.2.4
- Test: update the e2e test for the change allowing custom parameters
- Dev: enable custom Parameters and Meta Attributes (bsc#1274860)
- CI/CD: update hawk examiner entry point
- Test: enable test_add_clone against hawk-apiserver verion 0.2.1
- Test: fix SyntaxWarning: invalid escape sequence '|'
- Test: make the tests compatible against hawk-apiserver ver0.2.0
- Record
openSUSE-SU-2026:22068-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:24195-1 No score
Security update for hawk2
This update for hawk2 fixes the following issues:
- CVE-2026-42246: net-imap: MITM attacker can cause Net::IMAP#starttls to return successfully, without starting TLS (bsc#1268996).
- CVE-2026-66066: unsafe image processing operations on untrusted uploads can allow arbitrary file reading and remote code execution (bsc#1273348).
- CVE-2026-71847: json: heap use-after free in JSON::ResumableParser partial_value can lead to crash on truncated duplicate-key streams (bsc#1275213).
- CVE-2026-73490: loofah: improper handling of SVG attributes in the HTML5 sanitizer allows bypass of local-reference restrictions (bsc#1275179).
- CVE-2026-73491: loofah: improper handling of javascript: URIs can lead to XSS (bsc#1275183).
- CVE-2026-73492: loofah: improper handling of javascript: and vbscript: URIs can lead to XSS (bsc#1275188).
- CVE-2026-73648: rails-html-sanitizer: cross-site scripting is possible when the sanitizer is configured to allow certain SVG reference elements (bsc#1275200).
Changes for hawk2:
- Update to version 2.7.2+git.1788518533.7d4dadd6 (bsc#1275019):
- Test: give sle15 more time when choosing between sle15 and sle16
- Dev: bump jQuery version to 4.0.0
- Dev: bump jQuery version to 3.5.0
- Dev: bump jQuery version to 2.2.4
- Test: update the e2e test for the change allowing custom parameters
- Dev: enable custom Parameters and Meta Attributes (bsc#1274860)
- CI/CD: update hawk examiner entry point
- Test: enable test_add_clone against hawk-apiserver verion 0.2.1
- Test: fix SyntaxWarning: invalid escape sequence '|'
- Test: make the tests compatible against hawk-apiserver ver0.2.0
- Record
SUSE-SU-2026:24195-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:24250-1 No score
Security update for hawk2
This update for hawk2 fixes the following issues:
- CVE-2026-42246: net-imap: MITM attacker can cause Net::IMAP#starttls to return successfully, without starting TLS (bsc#1268996).
- CVE-2026-66066: unsafe image processing operations on untrusted uploads can allow arbitrary file reading and remote code execution (bsc#1273348).
- CVE-2026-71847: json: heap use-after free in JSON::ResumableParser partial_value can lead to crash on truncated duplicate-key streams (bsc#1275213).
- CVE-2026-73490: loofah: improper handling of SVG attributes in the HTML5 sanitizer allows bypass of local-reference restrictions (bsc#1275179).
- CVE-2026-73491: loofah: improper handling of javascript: URIs can lead to XSS (bsc#1275183).
- CVE-2026-73492: loofah: improper handling of javascript: and vbscript: URIs can lead to XSS (bsc#1275188).
- CVE-2026-73648: rails-html-sanitizer: cross-site scripting is possible when the sanitizer is configured to allow certain SVG reference elements (bsc#1275200).
Changes for hawk2:
- Update to version 2.7.2+git.1788518533.7d4dadd6 (bsc#1275019):
- Test: give sle15 more time when choosing between sle15 and sle16
- Dev: bump jQuery version to 4.0.0
- Dev: bump jQuery version to 3.5.0
- Dev: bump jQuery version to 2.2.4
- Test: update the e2e test for the change allowing custom parameters
- Dev: enable custom Parameters and Meta Attributes (bsc#1274860)
- CI/CD: update hawk examiner entry point
- Test: enable test_add_clone against hawk-apiserver verion 0.2.1
- Test: fix SyntaxWarning: invalid escape sequence '|'
- Test: make the tests compatible against hawk-apiserver ver0.2.0
- Record
SUSE-SU-2026:24250-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4445-1 No score
Security update for rubygem-rails-html-sanitizer
This update for rubygem-rails-html-sanitizer fixes the following issue:
- CVE-2026-73648: rails-html-sanitizer: cross-site scripting is possible when the sanitizer is configured to allow certain SVG reference elements (bsc#1275199).
- Record
SUSE-SU-2026:4445-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
rails-html-sanitizerRubyGems |
1.0.3 up to 1.7.1 | 1.7.1 |
ruby-rails-html-sanitizerDebian:12 |
All versions, plus listed versions 1.4.4-11.6.2-11.6.2-1~exp11.7.0-11.7.0-21.7.1-1 |
None known |
ruby-rails-html-sanitizerDebian:13 |
All versions, plus listed versions 1.6.2-11.7.0-11.7.0-21.7.1-1 |
None known |
ruby-rails-html-sanitizerDebian:14 |
before 1.7.1-1, plus listed versions 1.6.2-11.7.0-11.7.0-2 |
1.7.1-1 |
rails-html-sanitizerRubyGems |
1.0.3 up to 1.7.1, plus listed versions 1.0.41.1.01.2.01.3.01.4.0 Show 11 moreShow less1.4.11.4.21.4.31.4.41.5.01.6.01.6.0.rc11.6.0.rc21.6.11.6.21.7.0 |
1.7.1 |
hawk2SUSE:Linux Enterprise High Availability Extension 16.0 From an advisory covering 7 CVEs |
before 2.7.2+git.1788518533.7d4dadd6-160000.1.1 | 2.7.2+git.1788518533.7d4dadd6-160000.1.1 |
hawk2SUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 7 CVEs |
before 2.7.2+git.1788518533.7d4dadd6-160000.1.1 | 2.7.2+git.1788518533.7d4dadd6-160000.1.1 |
rubygem-rails-html-sanitizerSUSE:Linux Enterprise High Availability Extension 15 SP4 |
before 1.0.4-150000.4.9.1 | 1.0.4-150000.4.9.1 |
rubygem-rails-html-sanitizerSUSE:Linux Enterprise High Availability Extension 15 SP5 |
before 1.0.4-150000.4.9.1 | 1.0.4-150000.4.9.1 |
rubygem-rails-html-sanitizerSUSE:Linux Enterprise High Availability Extension 15 SP6 |
before 1.0.4-150000.4.9.1 | 1.0.4-150000.4.9.1 |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rubygem-rails-html-sanitizerSUSE:Linux Enterprise High Availability Extension 15 SP7 |
before 1.0.4-150000.4.9.1 | 1.0.4-150000.4.9.1 |
ruby-rails-html-sanitizerUbuntu:16.04:LTS |
All versions, plus listed versions 1.0.2-11.0.3-11.0.3-2 |
None known |
ruby-rails-html-sanitizerUbuntu:18.04:LTS |
All versions, plus listed versions 1.0.3-21.0.4-1 |
None known |
ruby-rails-html-sanitizerUbuntu:20.04:LTS |
All versions, plus listed versions 1.0.4-11.3.0-1 |
None known |
ruby-rails-html-sanitizerUbuntu:22.04:LTS |
All versions, plus listed versions 1.3.0-21.4.2-11.4.2-2 |
None known |
ruby-rails-html-sanitizerUbuntu:24.04:LTS |
All versions, plus listed versions 1.4.4-1 |
None known |
ruby-rails-html-sanitizerUbuntu:26.04:LTS |
All versions, plus listed versions 1.6.2-1 |
None known |
hawk2openSUSE:Tumbleweed From an advisory covering 7 CVEs |
before 2.7.2+git.1792148770.648dcddb-1.1 | 2.7.2+git.1792148770.648dcddb-1.1 |
hawk2openSUSE:Leap 16.0 From an advisory covering 7 CVEs |
before 2.7.2+git.1788518533.7d4dadd6-160000.1.1 | 2.7.2+git.1788518533.7d4dadd6-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-73648 is a medium vulnerability (CVSS 5.1) in Rails Rails-html-sanitizer, published July 21, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.55%, the 46th percentile. Fixed in rails-html-sanitizer 1.7.1.
References
github.com/rails/rails-html-sanitizer/security/advisories/GHSA-cj75-f6xr-r4g7
github.com/rails/rails-html-sanitizer/pull/223
github.com/rails/rails-html-sanitizer/commit/74dcb8053e6da9921246ce71b06ad9fd65b19586
github.com/rails/rails-html-sanitizer/releases/tag/v1.7.1
github.com/advisories/GHSA-cj75-f6xr-r4g7
github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73648.json
Show 25 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-73648
security-tracker.debian.org/tracker/CVE-2026-73648
github.com/rails/rails-html-sanitizer
suse.com/support/update/announcement/2026/suse-su-202624195-1
bugzilla.suse.com/1268996
bugzilla.suse.com/1273348
bugzilla.suse.com/1274860
bugzilla.suse.com/1275019
bugzilla.suse.com/1275179
bugzilla.suse.com/1275183
bugzilla.suse.com/1275188
bugzilla.suse.com/1275200
bugzilla.suse.com/1275213
suse.com/security/cve/CVE-2026-42246
suse.com/security/cve/CVE-2026-66066
suse.com/security/cve/CVE-2026-71847
suse.com/security/cve/CVE-2026-73490
suse.com/security/cve/CVE-2026-73491
suse.com/security/cve/CVE-2026-73492
suse.com/security/cve/CVE-2026-73648
suse.com/support/update/announcement/2026/suse-su-202624250-1
suse.com/support/update/announcement/2026/suse-su-20264445-1
bugzilla.suse.com/1275199
ubuntu.com/security/CVE-2026-73648
cve.org/CVERecord?id=CVE-2026-73648