🔍 CVE-2021-37689

7.8
CVSS Score
HIGH
2021-08-12
2026-06-17 04:00
✅ 완료

🇰🇷 한글 설명

TensorFlow의 MLIR 최적화 과정 중 L2NormalizeReduceAxis 연산자에서 발생하는 결함입니다. 공격자가 조작된 TFLite 모델을 사용하여 Null 포인터 역참조를 유발함으로써 시스템 충돌 및 서비스 거부(DoS) 상태를 만들 수 있습니다.

💡 쉬운 설명

특수하게 만들어진 인공지능 모델 파일을 실행하면 프로그램이 갑자기 꺼지는 문제입니다. 이로 인해 인공지능 서비스를 정상적으로 이용할 수 없게 됩니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can craft a TFLite model that would trigger a null pointer dereference, which would result in a crash and denial of service. This is caused by the MLIR optimization of `L2NormalizeReduceAxis` operator. The [implementation](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/compiler/mlir/lite/transforms/optimize.cc#L67-L70) unconditionally dereferences a pointer to an iterator to a vector without checking that the vector has elements. We have patched the issue in GitHub commit d6b57f461b39fd1aa8c1b870f1b974aac3554955. 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 포함)

⚔️ 공격 벡터

조작된 TFLite 모델 파일을 시스템에 입력하여 Null 포인터 역참조 유발

🛡️ 대응 방법

TensorFlow를 2.6.0 이상의 버전으로 업데이트하거나 보안 패치가 적용된 버전으로 교체

🔧 검증 코드

출력된 버전 번호가 2.6.0보다 낮은지 확인하여 취약 여부를 판단합니다.

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

📊 CVSS Vector String

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