🔍 CVE-2021-29598

2.5
CVSS Score
LOW
2021-05-14
2026-06-17 03:47
✅ 완료

🇰🇷 한글 설명

TensorFlow의 TFLite `SVDF` 연산자 구현에서 0으로 나누기 오류(division by zero)가 발생할 수 있는 취약점이 발견되었습니다. 공격자가 `params->rank` 값을 0으로 설정하도록 조작된 모델을 생성할 경우 시스템 오류가 발생할 수 있습니다.

💡 쉬운 설명

머신러닝 모델을 처리하는 과정에서 수학적으로 불가능한 '0으로 나누기' 계산이 발생하여 프로그램이 멈출 수 있는 문제입니다. 악의적으로 만들어진 특수한 모델 파일을 실행할 때 발생할 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. The implementation of the `SVDF` TFLite operator is vulnerable to a division by zero error(https://github.com/tensorflow/tensorflow/blob/7f283ff806b2031f407db64c4d3edcda8fb9f9f5/tensorflow/lite/kernels/svdf.cc#L99-L102). An attacker can craft a model such that `params->rank` would be 0. 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 포함)

⚔️ 공격 벡터

rank 값이 0이 되도록 정교하게 설계된 악성 TFLite 모델 파일을 제공하여 공격

🛡️ 대응 방법

TensorFlow를 2.5.0 이상의 최신 버전으로 업데이트하거나 해당 패치가 적용된 버전을 사용

🔧 검증 코드

출력된 버전이 2.5.0 미만인 경우 해당 취약점에 노출되어 있을 가능성이 높습니다.

Shell / Script
python3 -c 'import tensorflow as tf; print(tf.__version__)'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L

💻 영향받는 소프트웨어

Azure Machine Learning