CVE-2023-49090 CarrierWave has a content-type allowlist bypass vulnerability, possibly leading to XSS
Attackers can bypass content-type allowlists in CarrierWave to upload malicious files, potentially leading to Cross-Site Scripting (XSS) attacks.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2023-49090?
CVE-2023-49090 is a medium-severity cross-site scripting vulnerability in carrierwaveuploader carrierwave, published on 29 Nov 2023. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
CarrierWave is a solution for file uploads for Rails, Sinatra and other Ruby web frameworks. CarrierWave has a Content-Type allowlist bypass vulnerability, possibly leading to XSS. The validation in `allowlisted_content_type?` determines Content-Type permissions by performing a partial match. If the `content_type` argument of `allowlisted_content_type?` is passed a value crafted by the attacker, Content-Types not included in the `content_type_allowlist` will be allowed. This issue has been patched in versions 2.2.5 and 3.0.5.
Weakness: CWE-79
Which versions are affected by CVE-2023-49090?
4 open source packages ship an affected version, including carrierwave. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
carrierwave RubyGems | All versions | 2.2.5 |
carrierwave RubyGems | All versions | 2.2.5 |
carrierwave RubyGems | From 3.0.0 | 3.0.5 |
carrierwave RubyGems | From 3.0.0 | 3.0.5 |
Products include Carrierwave Project Carrierwave.
How do I fix CVE-2023-49090?
Upgrade carrierwave to a fixed version for your release line: 2.2.5 or 3.0.5.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2023-49090 being exploited?
There is no known exploitation of CVE-2023-49090 in the wild and no public exploit code.
Other vulnerabilities in carrierwaveuploader carrierwave
- CVE-2021-21305 Code Injection vulnerability in CarrierWave
- CVE-2024-29034 CarrierWave's Content-Type allowlist bypass vulnerability which possibly leads to XSS remained
- CVE-2026-44587 CarrierWave has a denylisted_content_type bypass via Unescaped Regex Metacharacters
- CVE-2021-21288 Server-side request forgery in CarrierWave
Sources
Also known as DEBIAN-CVE-2023-49090, GHSA-gxhx-g4fq-49hj, UBUNTU-CVE-2023-49090.