🔍 CVE-2021-41195

5.5
CVSS Score
MEDIUM
2021-11-05
2026-06-17 04:08
✅ 완료

🇰🇷 한글 설명

TensorFlow의 `tf.math.segment_*` 연산 구현 시, segment id가 매우 클 경우 `CHECK`-fail로 인한 프로세스 중단(Denial of Service)이 발생할 수 있습니다. 이는 `AddDim` 함수가 `int64_t` 범위를 초과하는 값을 처리할 때 `std::abort`를 유발하기 때문이며, `AddDimWithStatus`를 사용하도록 수정되어야 합니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 특정 계산을 수행할 때, 입력값이 너무 크면 프로그램이 갑자기 종료되는 문제가 있습니다. 이로 인해 서비스가 중단될 수 있는 보안 취약점입니다.

🇺🇸 원문 (English)

TensorFlow is an open source platform for machine learning. In affected versions the implementation of `tf.math.segment_*` operations results in a `CHECK`-fail related abort (and denial of service) if a segment id in `segment_ids` is large. This is similar to CVE-2021-29584 (and similar other reported vulnerabilities in TensorFlow, localized to specific APIs): the implementation (both on CPU and GPU) computes the output shape using `AddDim`. However, if the number of elements in the tensor overflows an `int64_t` value, `AddDim` results in a `CHECK` failure which provokes a `std::abort`. Instead, code should use `AddDimWithStatus`. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

📍 영향받는 시스템

TensorFlow 2.7.0 미만 버전 (2.6.1, 2.5.2, 2.4.4 포함)

⚔️ 공격 벡터

조작된 대규모 segment id를 포함한 텐서 데이터를 입력하여 프로세스를 강제 종료시킴

🛡️ 대응 방법

TensorFlow를 2.7.0 이상 버전으로 업데이트하거나, 지원되는 최신 패치 버전(2.6.1, 2.5.2, 2.4.4)으로 업데이트

🔧 검증 코드

출력된 버전이 2.7.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:N/I:N/A:H

💻 영향받는 소프트웨어

Azure Machine Learning