🇰🇷 한글 설명
TensorFlow의 TFLite 내 strided slice 구현에서 로직 오류가 발견되었습니다. 공격자가 특정 축 정의에 ellipsis를 포함한 모델을 제작할 경우, 무한 루프를 유발할 수 있습니다.
💡 쉬운 설명
특수하게 제작된 인공지능 모델을 실행하면 프로그램이 끝나지 않고 계속 맴도는 현상이 발생할 수 있습니다. 이로 인해 컴퓨터의 자원이 고갈되어 시스템이 멈출 수 있습니다.
🇺🇸 원문 (English)
TensorFlow is an end-to-end open source platform for machine learning. In affected versions the strided slice implementation in TFLite has a logic bug which can allow an attacker to trigger an infinite loop. This arises from newly introduced support for [ellipsis in axis definition](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/strided_slice.cc#L103-L122). An attacker can craft a model such that `ellipsis_end_idx` is smaller than `i` (e.g., always negative). In this case, the inner loop does not increase `i` and the `continue` statement causes execution to skip over the preincrement at the end of the outer loop. We have patched the issue in GitHub commit dfa22b348b70bb89d6d6ec0ff53973bacb4f4695. TensorFlow 2.6.0 is the only affected version.
📍 영향받는 시스템
TensorFlow 2.6.0 (TFLite 포함)
⚔️ 공격 벡터
악의적으로 조작된 TensorFlow Lite 모델 파일을 실행하여 무한 루프 유발
🛡️ 대응 방법
TensorFlow를 최신 버전으로 업데이트하거나 패치가 적용된 버전(commit dfa22b348b70bb89d6d6ec0ff53973bacb4f4695 이상) 사용
🔧 검증 코드
출력된 버전이 2.6.0인 경우 해당 취약점에 노출된 상태입니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'