CVE-2026-44587
Last modified
CVE-2026-44587 is a medium-severity vulnerability rated 6.1/10 on the CVSS scale. CarrierWave is a framework to upload files from Ruby applications. In versions prior to 2.2.7 and 3.1.3, the content_type_denylist check fails to escape regex metacharacters in string entries, causing the denylist to silently not match the content types it is intended to block. EPSS estimates a 0.22% chance of exploitation in the next 30 days.
Description
CarrierWave is a framework to upload files from Ruby applications. In versions prior to 2.2.7 and 3.1.3, the content_type_denylist check fails to escape regex metacharacters in string entries, causing the denylist to silently not match the content types it is intended to block. In lib/carrierwave/uploader/content_type_denylist.rb:57, denylist entries are interpolated directly into a regex without Regexp.quote or anchoring, so an entry such as image/svg+xml becomes the pattern /image\/svg+xml/, in which + is treated as a quantifier rather than a literal character and therefore never matches the real MIME type image/svg+xml. This is inconsistent with the allowlist implementation, which correctly applies both Regexp.quote and a \A anchor. Other content types containing regex metacharacters, such as application/xhtml+xml, are affected as well. As a result, any application that relies on content_type_denylist to block image/svg+xml, most commonly to prevent stored XSS, is silently unprotected. An attacker can upload an SVG file containing arbitrary JavaScript; if the application serves that SVG inline from its own origin, the script executes in the victim's browser, resulting in stored XSS. This issue has been fixed in versions 2.2.7 and 3.1.3.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Carrierwave Project | Carrierwave | < 2.2.7 |
| Carrierwave Project | Carrierwave | >= 3.0.0, < 3.1.3 |
References
- https://github.com/carrierwaveuploader/carrierwave/security/advisories/GHSA-7g26-2qgj-chfgVendor Advisory, Exploit
- https://github.com/carrierwaveuploader/carrierwave/security/advisories/GHSA-7g26-2qgj-chfgVendor Advisory, Exploit
Timeline
- Published
- Last Modified
- Status
- Analyzed
Frequently Asked Questions
What is CVE-2026-44587?
How severe is CVE-2026-44587?
How do I fix CVE-2026-44587?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-44581Next.js is a React framework for building full-stack web app…4.7
- CVE-2026-44582Next.js is a React framework for building full-stack web app…3.7
- CVE-2026-44583Paymenter is a free and open-source webshop solution for man…5.3
- CVE-2026-44584Paymenter is a free and open-source webshop solution for man…4.3
- CVE-2026-44585Paymenter is a free and open-source webshop solution for man…5.4
- CVE-2026-44586SiYuan is an open-source personal knowledge management syste…8.3
- CVE-2026-44588SiYuan is an open-source personal knowledge management syste…9.4
- CVE-2026-44589Nuxt OG Image generates OG Images with Vue templates in Nuxt…3.7
- CVE-2026-4459Out of bounds read and write in WebAudio in Google Chrome pr…8.8
- CVE-2026-44590Sherlock hunts down social media accounts by username across…9.3
- CVE-2026-44592Gradient is a nix-based continuous integration system. In 1.…9.4
- CVE-2026-44593esm.sh is a no-build content delivery network (CDN) for web …8.7
Are you affected by CVE-2026-44587?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
