🔍 CVE-2021-41201

7.8
CVSS Score
HIGH
2021-11-05
2026-06-17 04:08
✅ 완료

🇰🇷 한글 설명

TensorFlow의 EinsumHelper::ParseEquation() 함수에서 생략 기호(ellipsis) 존재 여부를 나타내는 플래그를 설정할 때, true로 변경은 하지만 false로 초기화하지 않는 결함이 있습니다. 이로 인해 호출자가 해당 플래그가 항상 설정될 것이라고 가정할 경우 초기화되지 않은 변수에 접근하는 문제가 발생할 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow 내부에서 특정 계산 규칙을 처리할 때, 상태를 나타내는 스위치를 제대로 끄지 못하는 오류가 있습니다. 이로 인해 프로그램이 잘못된 정보를 읽어 들여 예상치 못한 동작을 일으킬 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an open source platform for machine learning. In affeced versions during execution, `EinsumHelper::ParseEquation()` is supposed to set the flags in `input_has_ellipsis` vector and `*output_has_ellipsis` boolean to indicate whether there is ellipsis in the corresponding inputs and output. However, the code only changes these flags to `true` and never assigns `false`. This results in unitialized variable access if callers assume that `EinsumHelper::ParseEquation()` always sets these flags. 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 포함)

⚔️ 공격 벡터

조작된 Einsum 수식을 입력하여 초기화되지 않은 메모리 영역에 접근하도록 유도

🛡️ 대응 방법

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:H/I:H/A:H