🇰🇷 한글 설명
TensorFlow의 tf.raw_ops.QuantizeAndDequantizeV4Grad 함수에서 입력 텐서의 랭크(rank)를 검증하지 않아 발생하는 취약점입니다. 공격자가 조작된 텐서를 입력할 경우 CHECK 실패를 유도하여 서비스 거부(DoS) 상태를 일으킬 수 있습니다.
💡 쉬운 설명
머신러닝 도구인 TensorFlow에서 잘못된 형태의 데이터를 입력하면 프로그램이 갑자기 멈춰버리는 문제입니다. 이를 통해 시스템을 마비시키는 공격이 가능합니다.
🇺🇸 원문 (English)
TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a denial of service via a `CHECK`-fail in `tf.raw_ops.QuantizeAndDequantizeV4Grad`. This is because the implementation does not validate the rank of the `input_*` tensors. In turn, this results in the tensors being passes as they are to `QuantizeAndDequantizePerChannelGradientImpl`. However, the `vec<T>` method, requires the rank to 1 and triggers a `CHECK` failure otherwise. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 as this is the only other affected version.
📍 영향받는 시스템
TensorFlow 2.4.2 및 2.5.0 미만 버전
⚔️ 공격 벡터
조작된 랭크를 가진 텐서를 QuantizeAndDequantizeV4Grad 연산에 입력하여 프로그램 강제 종료 유도
🛡️ 대응 방법
TensorFlow를 2.5.0 버전 이상으로 업데이트하거나 2.4.2 버전의 보안 패치를 적용
🔧 검증 코드
출력된 버전이 2.5.0 이상인지 또는 패치된 2.4.2 버전인지 확인
python3 -c 'import tensorflow as tf; print(tf.__version__)'