🇰🇷 한글 설명
TensorFlow의 `tf.raw_ops.Conv2DBackpropFilter` 연산에서 호출자가 제어할 수 있는 값을 나누는 수로 사용하여 0으로 나누기(Division by zero) 오류를 유발할 수 있습니다. 이 취약점은 특정 구현 단계에서 나머지 연산 시 발생하며, TensorFlow 2.5.0 및 주요 지원 버전에서 수정되었습니다.
💡 쉬운 설명
머신러닝 도구인 TensorFlow를 사용할 때, 특수한 값을 입력하면 수학적으로 불가능한 '0으로 나누기' 계산을 시도하게 만들어 프로그램이 오류를 일으킬 수 있습니다. 이는 시스템을 중단시키거나 예기치 않은 동작을 유발할 수 있는 문제입니다.
🇺🇸 원문 (English)
TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.Conv2DBackpropFilter`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/496c2630e51c1a478f095b084329acedb253db6b/tensorflow/core/kernels/conv_grad_shape_utils.cc#L130) does a modulus operation where the divisor is controlled by the caller. 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 연산 호출을 통한 서비스 거부(DoS) 유발
🛡️ 대응 방법
TensorFlow를 2.5.0 이상의 최신 버전으로 업데이트하거나 해당 패치가 적용된 버전으로 업그레이드하십시오.
🔧 검증 코드
출력된 버전 번호가 2.5.0 미만인지 확인하여 취약 여부를 판단합니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'