🔍 CVE-2021-29570

2.5
CVSS Score
LOW
2021-05-14
2026-06-17 03:47
✅ 완료

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.MaxPoolGradWithArgmax` 구현에서 조작된 입력값이 제공될 경우 힙 할당 데이터의 경계를 벗어난 읽기 작업이 발생할 수 있습니다. 이는 두 개의 서로 다른 배열에 동일한 인덱스 값을 사용하지만 두 배열의 크기가 동일하다는 보장이 없기 때문에 발생합니다.

💡 쉬운 설명

TensorFlow라는 인공지능 도구에서 데이터를 처리할 때, 정해진 메모리 범위를 넘어서 데이터를 읽어오는 오류가 발견되었습니다. 공격자가 특수하게 만든 데이터를 입력하면 시스템의 민감한 정보가 유출될 위험이 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. The implementation of `tf.raw_ops.MaxPoolGradWithArgmax` can cause reads outside of bounds of heap allocated data if attacker supplies specially crafted inputs. The implementation(https://github.com/tensorflow/tensorflow/blob/ef0c008ee84bad91ec6725ddc42091e19a30cf0e/tensorflow/core/kernels/maxpooling_op.cc#L1016-L1017) uses the same value to index in two different arrays but there is no guarantee that the sizes are identical. 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 and still in supported range.

📍 영향받는 시스템

TensorFlow 2.5.0 미만 버전 (2.4.2, 2.3.3, 2.2.3, 2.1.4 포함)

⚔️ 공격 벡터

특수하게 조작된 입력 데이터를 TensorFlow 모델의 MaxPoolGradWithArgmax 연산에 전달

🛡️ 대응 방법

TensorFlow를 2.5.0 이상의 버전으로 업데이트하거나 해당 보안 패치가 적용된 버전으로 업그레이드

🔧 검증 코드

출력된 버전 번호가 2.5.0보다 낮은지 확인하여 취약 여부를 판단합니다.

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

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Azure Machine Learning