🔍 CVE-2021-37665

7.8
CVSS Score
HIGH
2021-08-12
2026-06-17 04:00
✅ 완료

🇰🇷 한글 설명

TensorFlow의 MKL 구현 내 requantization 과정에서 입력 텐서의 차원을 검증하지 않는 미흡한 검증 결함이 발견되었습니다. 공격자는 이를 통해 널 포인터 참조를 유도하여 정의되지 않은 동작을 발생시키거나 힙 할당 배열의 범위를 벗어난 데이터에 접근할 수 있습니다.

💡 쉬운 설명

머신러닝 도구인 TensorFlow에서 데이터의 크기를 제대로 확인하지 않는 오류가 발견되었습니다. 이를 악용하면 프로그램이 갑자기 멈추거나 허가되지 않은 메모리 영역의 정보를 훔쳐볼 수 있습니다.

🇺🇸 원문 (English)

TensorFlow is an end-to-end open source platform for machine learning. In affected versions due to incomplete validation in MKL implementation of requantization, an attacker can trigger undefined behavior via binding a reference to a null pointer or can access data outside the bounds of heap allocated arrays. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/mkl/mkl_requantization_range_per_channel_op.cc) does not validate the dimensions of the `input` tensor. A similar issue occurs in `MklRequantizePerChannelOp`. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/mkl/mkl_requantize_per_channel_op.cc) does not perform full validation for all the input arguments. We have patched the issue in GitHub commit 9e62869465573cb2d9b5053f1fa02a81fce21d69 and in the Github commit 203214568f5bc237603dbab6e1fd389f1572f5c9. 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 포함)

⚔️ 공격 벡터

조작된 입력 텐서 차원을 포함한 모델을 로드하거나 실행하여 메모리 오류 유도

🛡️ 대응 방법

TensorFlow를 2.6.0 이상 버전으로 업데이트하거나 보안 패치가 적용된 최신 마이너 버전으로 업데이트

🔧 검증 코드

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