🇰🇷 한글 설명
TensorFlow의 `tf.raw_ops.Conv2D` 연산에서 호출자가 제어하는 값에 의해 0으로 나누기(division by 0) 오류가 발생할 수 있습니다. 이 취약점은 특정 입력값을 통해 프로그램의 비정상적인 동작을 유발할 수 있습니다.
💡 쉬운 설명
수학 계산 중에 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.Conv2D`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/988087bd83f144af14087fe4fecee2d250d93737/tensorflow/core/kernels/conv_ops.cc#L261-L263) does a division by a quantity that 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 포함)
⚔️ 공격 벡터
사용자가 제어 가능한 값을 `tf.raw_ops.Conv2D` 연산의 입력값으로 전달하여 0으로 나누기 유도
🛡️ 대응 방법
TensorFlow를 2.5.0 이상의 버전으로 업데이트하거나, 지원되는 버전(2.4.2, 2.3.3, 2.2.3, 2.1.4)의 보안 패치 적용 버전으로 업데이트
🔧 검증 코드
출력된 버전이 2.5.0 미만인지 확인하여 취약 여부를 판단합니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'