🔍 CVE-2021-41213

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

🇰🇷 한글 설명

TensorFlow의 tf.function API에서 상호 재귀적인 두 Python 함수가 호출될 때 데드락(교착 상태)이 발생할 수 있는 취약점입니다. 이는 재진입이 불가능한 Lock 객체를 사용하기 때문에 발생하며, 공격자가 악성 모델을 로드하게 유도하여 서비스 거부(DoS)를 일으킬 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 특정 방식으로 설계된 모델을 불러오면 프로그램이 멈춰버리는 문제가 있습니다. 공격자가 멈춤 현상을 유발하는 모델을 사용하게 만들어 서비스를 마비시킬 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an open source platform for machine learning. In affected versions the code behind `tf.function` API can be made to deadlock when two `tf.function` decorated Python functions are mutually recursive. This occurs due to using a non-reentrant `Lock` Python object. Loading any model which contains mutually recursive functions is vulnerable. An attacker can cause denial of service by causing users to load such models and calling a recursive `tf.function`, although this is not a frequent scenario. 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 포함)

⚔️ 공격 벡터

상호 재귀 구조를 가진 악성 모델을 로드하도록 유도하여 시스템의 데드락 유발

🛡️ 대응 방법

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