🇰🇷 한글 설명
TensorFlow의 `tf.tile` 함수 호출 시 매우 큰 입력 인자를 사용하면 정수 오버플로로 인해 프로세스가 충돌합니다. 출력 텐서의 요소 수가 `int64_t` 데이터 타입을 초과하여 `CHECK` 실패가 발생하고 프로세스가 중단됩니다.
💡 쉬운 설명
머신러닝 도구인 TensorFlow에서 너무 큰 숫자를 다루려고 하면 프로그램이 계산 범위를 넘어서서 갑자기 꺼져버리는 문제입니다. 이는 시스템을 의도적으로 멈추게 만드는 서비스 거부(DoS) 공격으로 이어질 수 있습니다.
🇺🇸 원문 (English)
TensorFlow is an open source platform for machine learning. In affected versions if `tf.tile` is called with a large input argument then the TensorFlow process will crash due to a `CHECK`-failure caused by an overflow. The number of elements in the output tensor is too much for the `int64_t` type and the overflow is detected via a `CHECK` statement. This aborts the process. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
📍 영향받는 시스템
TensorFlow 2.7.0 미만 버전 (2.6.1, 2.5.2, 2.4.4 포함)
⚔️ 공격 벡터
조작된 대규모 입력 인자를 포함한 `tf.tile` 함수 호출을 통한 서비스 거부(DoS)
🛡️ 대응 방법
TensorFlow를 2.7.0 이상 버전으로 업데이트하거나, 지원되는 버전(2.6.1, 2.5.2, 2.4.4)의 최신 패치 적용
🔧 검증 코드
출력된 버전 번호가 2.7.0보다 낮은지 확인하여 취약 여부를 판단합니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'