CVE-2024-29034 CarrierWave's Content-Type allowlist bypass vulnerability which possibly leads to XSS remained
An attacker can bypass Content-Type restrictions in CarrierWave to inject malicious scripts, 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-2024-29034?
CVE-2024-29034 is a medium-severity cross-site scripting vulnerability in carrierwaveuploader carrierwave, published on 24 Mar 2024. 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. The vulnerability CVE-2023-49090 wasn't fully addressed. This vulnerability is caused by the fact that when uploading to object storage, including Amazon S3, it is possible to set a Content-Type value that is interpreted by browsers to be different from what's allowed by `content_type_allowlist`, by providing multiple values separated by commas. This bypassed value can be used to cause XSS. Upgrade to 3.0.7 or 2.2.6.
Which versions are affected by CVE-2024-29034?
4 open source packages ship an affected version, including carrierwave. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
carrierwave RubyGems | All versions | 2.2.6 |
carrierwave RubyGems | All versions | 2.2.6 |
carrierwave RubyGems | From 3.0.0 | 3.0.7 |
carrierwave RubyGems | From 3.0.0 | 3.0.7 |
Products include Carrierwave Project Carrierwave.
How do I fix CVE-2024-29034?
Upgrade carrierwave to a fixed version for your release line: 2.2.6 or 3.0.7.
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-2024-29034 being exploited?
There is no known exploitation of CVE-2024-29034 in the wild and no public exploit code.
Other vulnerabilities in carrierwaveuploader carrierwave
- CVE-2021-21305 Code Injection vulnerability in CarrierWave
- CVE-2023-49090 CarrierWave has a content-type allowlist bypass vulnerability, possibly leading to XSS
- 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 GHSA-vfmv-jfc5-pjjw.