Catégories
CVE-2021-21305

Vulnérabilité dans carrierwave (CVE-2021-21305)

Résumé

Vulnérabilité dans carrierwave (CVE-2021-21305). Risque d'opérations non autorisées ou de divulgation. Atténuation : mise à jour vers 2.1.1 ou plus.

Description d'origine

La description telle que publiée par la source (souvent en anglais).

Impact

CarrierWave::RMagick has a Code Injection vulnerability. Its #manipulate! method inappropriately evals the content of mutation option(:read/:write), allowing attackers to craft a string that can be executed as a Ruby code.
If an application developer supplies untrusted inputs to the option, it will lead to remote code execution(RCE).

(But supplying untrusted input to the option itself is dangerous even in absence of this vulnerability, since is prone to DoS vulnerability - attackers can try to consume massive amounts of memory by resizing to a very large dimension)

Proof of Concept

class MyUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick
end

MyUploader.new.manipulate!({ read: { density: "1 }; p 'Hacked'; {" }}) # => shows "Hacked"

Patches

Upgrade to 2.1.1 or 1.3.2.

Workarounds

Stop supplying untrusted input to #manipulate!'s mutation option.

References

Code Injection Software Attack

For more information

If you have any questions or comments about this advisory:

Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV

Résumé généré automatiquement

Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.

Une vulnérabilité référencée CVE-2021-21305 a été découverte dans carrierwave.
Risque d'opérations non autorisées ou de divulgation.
Action : mettez à jour carrierwave vers 2.1.1 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « carrierwave CVE-2021-21305 » sur le site de l'éditeur.

CVE-2021-21305 (carrierwave) — CWE-74
Vecteur d'attaque : distant (réseau) / sans interaction utilisateur
Correctif : 2.1.1 — appliquer immédiatement
Contournement : Stop supplying untrusted input to #manipulate!'s mutation option.
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.

❓ Quel est le problème

Une vulnérabilité (CWE-74) affecte carrierwave.

📍 Périmètre concerné

Consultez l'avis de l'éditeur pour les versions affectées de carrierwave.

🔥 Gravité

Gravité : ?. Risque d'opérations non autorisées ou de divulgation.

🔧 Comment corriger

Mettre à jour vers 2.1.1.

🛡️ Contournement

Contournement : Stop supplying untrusted input to #manipulate!'s mutation option.

🔍 Détection

Recherchez dans les logs des requêtes correspondant aux IOC connus de cette CVE. Auditez les SBOM/dépendances.

Actions de réponse

Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre

  1. 1
    Identify exposure identify
    grep -r 'carrierwave' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で carrierwave を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Apply temporary workaround mitigate
    Stop supplying untrusted input to `#manipulate!`'s mutation option.

    パッチが適用されるまでの応急処置として、Stop supplying untrusted input to #manipulate!'s mutation option. を実施。回避策の副作用 (機能低下) を確認した上で。

  3. 3
    Apply patch patch
    Upgrade carrierwave to 2.1.1

    ステージング環境で 2.1.1 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  4. 4
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Paquets affectés

RubyGems carrierwave
[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.1.1"}]}]

État des correctifs par distribution

Paquets corrigés publiés par chaque distribution pour cette CVE

Références

Nous utilisons des cookies pour l'analyse d'audience et la mesure publicitaire. Ce réglage s'applique à tous les sites de Game co., Ltd. En savoir plus