🇰🇷 한글 설명
TensorFlow의 TFLite 구현 중 나눗셈 연산 과정에서 제로 나누기(division by zero) 오류가 발생할 수 있는 취약점이 발견되었습니다. 나누는 값(divisor) 텐서에 0이 포함되어 있는지 확인하는 검증 절차가 누락되어 발생하며, 이는 프로그램의 비정상 종료를 유발할 수 있습니다.
💡 쉬운 설명
수학 계산을 할 때 0으로 나누는 실수를 방지하는 안전장치가 없어 프로그램이 갑자기 멈출 수 있는 문제입니다. 악의적인 데이터가 입력될 경우 인공지능 모델 실행 중 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation of division in TFLite is [vulnerable to a division by 0 error](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/div.cc). There is no check that the divisor tensor does not contain zero elements. We have patched the issue in GitHub commit 1e206baedf8bef0334cca3eb92bab134ef525a28. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.
📍 영향받는 시스템
TensorFlow 2.6.0 미만 버전 (2.5.1, 2.4.3, 2.3.4 포함)
⚔️ 공격 벡터
0을 포함하는 조작된 텐서 데이터를 TFLite 모델의 입력값으로 제공하여 연산 수행
🛡️ 대응 방법
TensorFlow를 2.6.0 이상 버전으로 업데이트하거나 패치가 적용된 2.5.1, 2.4.3, 2.3.4 버전으로 업데이트
🔧 검증 코드
출력된 버전 번호가 2.6.0 미만인지 확인하여 취약 여부를 판단합니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'