🔍 CVE-2021-37671

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

🇰🇷 한글 설명

TensorFlow의 tf.raw_ops.Map* 및 tf.raw_ops.OrderedMap* 연산에서 인덱스가 비어 있는지 확인하지 않아 발생하는 취약점입니다. 공격자가 null 포인터에 참조를 바인딩함으로써 정의되지 않은 동작을 유발할 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 데이터 목록이 비어 있을 때 이를 제대로 확인하지 못하는 오류가 발견되었습니다. 이를 악용하면 프로그램이 예상치 못한 방식으로 작동하거나 오류를 일으킬 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause undefined behavior via binding a reference to null pointer in `tf.raw_ops.Map*` and `tf.raw_ops.OrderedMap*` operations. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/map_stage_op.cc#L222-L248) has a check in place to ensure that `indices` is in ascending order, but does not check that `indices` is not empty. We have patched the issue in GitHub commit 532f5c5a547126c634fefd43bbad1dc6417678ac. 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 포함)

⚔️ 공격 벡터

조작된 인덱스(빈 값)를 포함한 TensorFlow 연산 실행을 통한 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