Catégories
CVE-2021-29550

Vulnérabilité dans tensorflow (CVE-2021-29550)

Résumé

Vulnérabilité dans tensorflow (CVE-2021-29550). Risque d'opérations non autorisées ou de divulgation. Exploitable via tf.raw_ops.FractionalAvgPool. Atténuation : mise à jour vers 2.4.2 ou plus.

Description d'origine

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

TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a runtime division by zero error and denial of service in tf.raw_ops.FractionalAvgPool. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/acc8ee69f5f46f92a3f1f11230f49c6ac266f10c/tensorflow/core/kernels/fractional_avg_pool_op.cc#L85-L89) computes a divisor quantity by dividing two user controlled values. The user controls the values of input_size[i] and pooling_ratio_[i] (via the value.shape() and pooling_ratio arguments). If the value in input_size[i] is smaller than the pooling_ratio_[i], then the floor operation results in output_size[i] being 0. The DCHECK_GT line is a no-op outside of debug mode, so in released versions of TF this does not trigger. Later, these computed values are used as arguments(https://github.com/tensorflow/tensorflow/blob/acc8ee69f5f46f92a3f1f11230f49c6ac266f10c/tensorflow/core/kernels/fractional_avg_pool_op.cc#L96-L99) to GeneratePoolingSequence(https://github.com/tensorflow/tensorflow/blob/acc8ee69f5f46f92a3f1f11230f49c6ac266f10c/tensorflow/core/kernels/fractional_pool_common.cc#L100-L108). There, the first computation is a division in a modulo operation. Since output_length can be 0, this results in runtime crashing. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected an…

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-29550 a été découverte dans tensorflow.
Des attaquants peuvent cibler un point d'entrée spécifique comme tf.raw_ops.FractionalAvgPool à distance pour détourner le produit.
Risque d'opérations non autorisées ou de divulgation.
Action : mettez à jour tensorflow vers 2.4.2 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « tensorflow CVE-2021-29550 » sur le site de l'éditeur.

CVE-2021-29550 (tensorflow) — CWE-369
Vecteur d'attaque : local / sans interaction utilisateur
Surface d'attaque : tf.raw_ops.FractionalAvgPool / pooling_ratio / DCHECK_GT / GeneratePoolingSequence
Correctif : 2.4.2 — appliquer immédiatement
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-369) affecte tensorflow. Les attaquants atteignent le code vulnérable via tf.raw_ops.FractionalAvgPool.

📍 Périmètre concerné

Consultez l'avis de l'éditeur pour les versions affectées de tensorflow. Surface d'attaque : tf.raw_ops.FractionalAvgPool / pooling_ratio / DCHECK_GT / GeneratePoolingSequence.

🔥 Gravité

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

🔧 Comment corriger

Mettre à jour vers 2.4.2.

🛡️ Contournement

En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.

🔍 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 'tensorflow' . | grep -v node_modules

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

  2. 2
    Apply patch patch
    Upgrade tensorflow to 2.4.2

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

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

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

Paquets affectés

PyPI tensorflow
[{"type":"ECOSYSTEM","events":[{"introduced":"2.4.0"},{"fixed":"2.4.2"}]}]
PyPI tensorflow-cpu
[{"type":"ECOSYSTEM","events":[{"introduced":"2.4.0"},{"fixed":"2.4.2"}]}]
PyPI tensorflow-gpu
[{"type":"ECOSYSTEM","events":[{"introduced":"2.4.0"},{"fixed":"2.4.2"}]}]

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