🔍 CVE-2021-29610

3.6
CVSS Score
LOW
2021-05-14
2026-06-17 03:48
✅ 완료

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.QuantizeAndDequantizeV2` 함수에서 `axis` 인자에 대한 검증 로직 오류가 발견되었습니다. 논리 연산자 오류로 인해 `axis` 값이 -1보다 작을 경우 힙 언더플로우(heap underflow)가 발생하여 메모리의 다른 데이터를 읽거나 쓸 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 특정 값을 잘못 입력하면 컴퓨터의 메모리 영역을 침범할 수 있는 결함이 발견되었습니다. 이를 통해 공격자가 프로그램의 중요한 데이터를 훔쳐보거나 조작할 위험이 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. The validation in `tf.raw_ops.QuantizeAndDequantizeV2` allows invalid values for `axis` argument:. The validation(https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/quantize_and_dequantize_op.cc#L74-L77) uses `||` to mix two different conditions. If `axis_ < -1` the condition in `OP_REQUIRES` will still be true, but this value of `axis_` results in heap underflow. This allows attackers to read/write to other data on the heap. 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 포함)

⚔️ 공격 벡터

조작된 `axis` 인자 값을 포함한 TensorFlow 연산 실행을 통한 힙 언더플로우 유도

🛡️ 대응 방법

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:L/A:L

💻 영향받는 소프트웨어

Azure Machine Learning