🔍 CVE-2021-37670

5.5
CVSS Score
MEDIUM
2021-08-12
2026-06-17 04:00
✅ 완료

🇰🇷 한글 설명

TensorFlow의 `tf.raw_ops.UpperBound` 및 `tf.raw_ops.LowerBound` 함수에서 `sorted_input` 인자의 랭크(rank)를 검증하지 않아 발생하는 취약점입니다. 공격자가 특수하게 조작된 인자를 전달하면 힙(heap)에 할당된 데이터의 범위를 벗어난 영역을 읽을 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 데이터의 범위를 확인하는 과정에 오류가 있어, 허용되지 않은 메모리 영역을 몰래 들여다볼 수 있는 문제입니다. 공격자가 잘못된 값을 입력하면 프로그램이 관리하는 데이터의 경계를 넘어 정보를 읽어낼 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can read from outside of bounds of heap allocated data by sending specially crafted illegal arguments to `tf.raw_ops.UpperBound`. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/searchsorted_op.cc#L85-L104) does not validate the rank of `sorted_input` argument. A similar issue occurs in `tf.raw_ops.LowerBound`. We have patched the issue in GitHub commit 42459e4273c2e47a3232cc16c4f4fff3b3a35c38. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.

📍 영향받는 시스템

TensorFlow 2.6.0 미만 버전 (2.5.1, 2.4.3, 2.3.4 포함)

⚔️ 공격 벡터

특수하게 조작된 인자를 `tf.raw_ops.UpperBound` 또는 `tf.raw_ops.LowerBound` 함수에 전달하여 메모리 경계 외 데이터 읽기

🛡️ 대응 방법

TensorFlow를 2.6.0 이상 버전으로 업데이트하거나, 지원되는 버전(2.5.1, 2.4.3, 2.3.4)의 보안 패치를 적용하십시오.

🔧 검증 코드

출력된 버전 번호가 2.6.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:N/A:N

💻 영향받는 소프트웨어

Azure Machine Learning