🔍 CVE-2021-37674

5.5
CVSS Score
MEDIUM
2021-08-12
2026-06-17 04:00
✅ 완료

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.MaxPoolGrad` 함수에서 입력 및 출력 텐서에 대한 검증이 누락되어 발생합니다. 공격자가 조작된 데이터를 입력할 경우 세그멘테이션 결함(Segmentation Fault)을 유발하여 서비스 거부(DoS) 상태를 만들 수 있습니다.

💡 쉬운 설명

TensorFlow라는 인공지능 도구에서 데이터 검사 과정이 빠져 있는 취약점입니다. 나쁜 의도를 가진 데이터가 들어오면 프로그램이 갑자기 멈춰버릴 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can trigger a denial of service via a segmentation fault in `tf.raw_ops.MaxPoolGrad` caused by missing validation. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/maxpooling_op.cc) misses some validation for the `orig_input` and `orig_output` tensors. The fixes for CVE-2021-29579 were incomplete. We have patched the issue in GitHub commit 136b51f10903e044308cf77117c0ed9871350475. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.

📍 영향받는 시스템

TensorFlow 2.6.0 미만 버전 (2.5.1, 2.4.3, 2.3.4 포함)

⚔️ 공격 벡터

조작된 `orig_input` 또는 `orig_output` 텐서를 포함한 데이터를 TensorFlow 모델에 입력하여 프로그램 충돌 유도

🛡️ 대응 방법

TensorFlow를 2.6.0 이상 버전으로 업데이트하거나, 지원되는 버전(2.5.1, 2.4.3, 2.3.4)의 최신 패치 적용

🔧 검증 코드

출력된 버전 번호가 2.6.0보다 낮으면 해당 취약점에 노출된 상태입니다.

Shell / Script
python3 -c 'import tensorflow as tf; print(tf.__version__)'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Azure Machine Learning