🔍 CVE-2021-29548

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

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.QuantizedBatchNormWithGlobalNormalization` 연산에서 입력 제약 조건을 제대로 검증하지 않아 런타임 시 0으로 나누기 오류가 발생할 수 있습니다. 이로 인해 서비스 거부(DoS) 상태가 초래될 수 있는 취약점입니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 특정 계산을 수행할 때 잘못된 값을 넣으면 프로그램이 갑자기 멈춰버릴 수 있습니다. 공격자가 이를 악용하면 시스템을 마비시킬 수 있습니다.

🇺🇸 원문 (English)

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.QuantizedBatchNormWithGlobalNormalization`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/55a97caa9e99c7f37a0bbbeb414dc55553d3ae7f/tensorflow/core/kernels/quantized_batch_norm_op.cc) does not validate all constraints specified in the op's contract(https://www.tensorflow.org/api_docs/python/tf/raw_ops/QuantizedBatchNormWithGlobalNormalization). 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 포함)

⚔️ 공격 벡터

조작된 입력 데이터를 사용하여 `QuantizedBatchNormWithGlobalNormalization` 연산을 실행함으로써 0으로 나누기 오류 유도

🛡️ 대응 방법

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