🔍 CVE-2021-29568

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

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.ParameterizedTruncatedNormal` 연산에서 입력 인자를 검증하지 않아 발생하는 취약점입니다. 공격자가 빈 shape 인자를 전달할 경우 null 포인터 바인딩을 유발하여 정의되지 않은 동작을 일으킬 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 데이터의 모양을 지정하는 값이 비어있을 때 이를 확인하지 않아 발생하는 오류입니다. 이로 인해 프로그램이 예상치 못한 방식으로 작동하거나 멈출 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger undefined behavior by binding to null pointer in `tf.raw_ops.ParameterizedTruncatedNormal`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/3f6fe4dfef6f57e768260b48166c27d148f3015f/tensorflow/core/kernels/parameterized_truncated_normal_op.cc#L630) does not validate input arguments before accessing the first element of `shape`. If `shape` argument is empty, then `shape_tensor.flat<T>()` is an empty array. 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 포함)

⚔️ 공격 벡터

조작된 shape 인자를 포함한 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:N/A:L

💻 영향받는 소프트웨어

Azure Machine Learning