🔍 CVE-2021-29565

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

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.SparseFillEmptyRows` 구현 과정에서 입력값 검증 누락으로 인해 Null 포인터 역참조가 발생할 수 있는 취약점입니다. `dense_shape` 텐서가 비어 있을 경우 시스템 오류를 유발할 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 특정 데이터를 처리할 때 프로그램이 예상치 못한 빈 값을 받으면 갑자기 멈추거나 오류가 발생할 수 있습니다. 이는 잘못된 데이터 입력으로 인해 소프트웨어가 비정상적으로 종료되는 현상을 일으킵니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a null pointer dereference in the implementation of `tf.raw_ops.SparseFillEmptyRows`. This is because of missing validation(https://github.com/tensorflow/tensorflow/blob/fdc82089d206e281c628a93771336bf87863d5e8/tensorflow/core/kernels/sparse_fill_empty_rows_op.cc#L230-L231) that was covered under a `TODO`. If the `dense_shape` tensor is empty, then `dense_shape_t.vec<>()` would cause a null pointer dereference in the implementation of the op. 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 포함)

⚔️ 공격 벡터

조작된 `dense_shape` 값을 포함한 텐서를 `tf.raw_ops.SparseFillEmptyRows` 연산에 입력하여 발생

🛡️ 대응 방법

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