🔍 CVE-2021-29539

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

🇰🇷 한글 설명

TensorFlow에서 `tf.raw_ops.ImmutableConst` 함수를 호출할 때 `dtype`을 `tf.resource` 또는 `tf.variant`로 설정하면 세그멘테이션 오류(segfault)가 발생합니다. 이는 구현 코드가 텐서 내용이 순수 스칼라라고 가정하기 때문에 발생하는 문제입니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow를 사용할 때 특정 설정을 잘못 입력하면 프로그램이 갑자기 강제로 종료되는 오류가 발생할 수 있습니다. 이는 데이터의 형식을 잘못 처리하여 컴퓨터 메모리 관리 과정에서 충돌이 일어나기 때문입니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. Calling `tf.raw_ops.ImmutableConst`(https://www.tensorflow.org/api_docs/python/tf/raw_ops/ImmutableConst) with a `dtype` of `tf.resource` or `tf.variant` results in a segfault in the implementation as code assumes that the tensor contents are pure scalars. We have patched the issue in 4f663d4b8f0bec1b48da6fa091a7d29609980fa4 and will release TensorFlow 2.5.0 containing the patch. TensorFlow nightly packages after this commit will also have the issue resolved. If using `tf.raw_ops.ImmutableConst` in code, you can prevent the segfault by inserting a filter for the `dtype` argument.

📍 영향받는 시스템

TensorFlow 2.5.0 미만 버전

⚔️ 공격 벡터

악의적으로 조작된 `dtype` 인자를 포함한 TensorFlow 연산 호출

🛡️ 대응 방법

TensorFlow를 2.5.0 이상 버전으로 업데이트하거나, `tf.raw_ops.ImmutableConst` 사용 시 `dtype` 인자에 대한 필터링 로직을 추가합니다.

🔧 검증 코드

출력된 버전이 2.5.0 미만이면 해당 취약점에 노출된 상태입니다.

Shell / Script
pip show tensorflow | grep 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