Écriture hors limites dans tensorflow (CVE-2021-29514)
Résumé
écriture hors limites dans tensorflow (CVE-2021-29514). L'exploitation peut entraîner la prise de contrôle totale du système. Exploitable via splits. 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. If the splits argument of RaggedBincount does not specify a valid SparseTensor(https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor), then an attacker can trigger a heap buffer overflow. This will cause a read from outside the bounds of the splits tensor buffer in the implementation of the RaggedBincount op(https://github.com/tensorflow/tensorflow/blob/8b677d79167799f71c42fd3fa074476e0295413a/tensorflow/core/kernels/bincount_op.cc#L430-L446). Before the for loop, batch_idx is set to 0. The attacker sets splits(0) to be 7, hence the while loop does not execute and batch_idx remains 0. This then results in writing to out(-1, bin), which is before the heap allocated buffer for the output tensor. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 and TensorFlow 2.3.3, as these are also affected.
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-29514 a été découverte dans tensorflow.
Des attaquants peuvent cibler un point d'entrée spécifique comme splits à distance pour détourner le produit.
L'exploitation peut entraîner la prise de contrôle totale du système.
Action : mettez à jour tensorflow vers 2.4.2 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « tensorflow CVE-2021-29514 » sur le site de l'éditeur.
CVE-2021-29514 (tensorflow) — CWE-787
Vecteur d'attaque : local / sans interaction utilisateur
Surface d'attaque : splits / RaggedBincount / SparseTensor / for
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.
Une écriture hors limites (CWE-787) affecte tensorflow. Les attaquants atteignent le code vulnérable via splits.
Consultez l'avis de l'éditeur pour les versions affectées de tensorflow. Surface d'attaque : splits / RaggedBincount / SparseTensor / for.
Gravité : ?. L'exploitation peut entraîner la prise de contrôle totale du système.
Mettre à jour vers 2.4.2.
En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.
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
-
1Identify exposure identify
grep -r 'tensorflow' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
tensorflowを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade tensorflow to 2.4.2ステージング環境で 2.4.2 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Paquets affectés
Références
- advisory github.com
- advisory github.com
- package github.com
- web nvd.nist.gov
- web github.com
- web github.com
- web github.com