🔍 CVE-2021-29596

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

🇰🇷 한글 설명

TensorFlow의 TFLite `EmbeddingLookup` 연산자 구현에서 0으로 나누기 오류(Division by Zero)가 발생할 수 있는 취약점이 발견되었습니다. 공격자가 `value` 입력의 첫 번째 차원을 0으로 설정한 악성 모델을 제작할 경우 시스템 오류를 유발할 수 있습니다. 이 문제는 TensorFlow 2.5.0 및 주요 이전 버전의 패치 버전을 통해 해결되었습니다.

💡 쉬운 설명

특수하게 제작된 인공지능 모델을 실행할 때, 프로그램이 수학적으로 계산할 수 없는 '0으로 나누기' 상황에 빠져 오류가 발생하는 문제입니다. 이로 인해 프로그램이 갑자기 멈추거나 비정상적으로 종료될 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. The implementation of the `EmbeddingLookup` TFLite operator is vulnerable to a division by zero error(https://github.com/tensorflow/tensorflow/blob/e4b29809543b250bc9b19678ec4776299dd569ba/tensorflow/lite/kernels/embedding_lookup.cc#L73-L74). An attacker can craft a model such that the first dimension of the `value` input is 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 포함)

⚔️ 공격 벡터

첫 번째 차원 값이 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