🔍 CVE-2021-29559

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

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.UnicodeEncode` 연산에서 힙 할당 배열의 범위를 벗어난 데이터에 접근할 수 있는 취약점이 발견되었습니다. 이는 구현 과정에서 `input_value`/`input_splits` 쌍이 유효한 희소 텐서(sparse tensor)라고 잘못 가정하기 때문에 발생합니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 데이터 처리 중 정해진 메모리 범위를 넘어서는 영역을 읽을 수 있는 오류가 있습니다. 공격자가 이를 악용하면 프로그램의 메모리 정보를 훔쳐볼 위험이 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. An attacker can access data outside of bounds of heap allocated array in `tf.raw_ops.UnicodeEncode`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/472c1f12ad9063405737679d4f6bd43094e1d36d/tensorflow/core/kernels/unicode_ops.cc) assumes that the `input_value`/`input_splits` pair specify a valid sparse tensor. 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 포함)

⚔️ 공격 벡터

조작된 희소 텐서(sparse tensor) 데이터를 `tf.raw_ops.UnicodeEncode` 연산에 입력하여 메모리 경계 외 데이터에 접근

🛡️ 대응 방법

TensorFlow를 2.5.0 이상 버전으로 업데이트하거나, 지원되는 버전(2.4.2, 2.3.3, 2.2.3, 2.1.4)의 보안 패치 버전을 적용

🔧 검증 코드

출력된 버전 번호가 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