🇰🇷 한글 설명
TensorFlow의 `tf.raw_ops.RaggedCross` 함수에서 사용자 입력값에 대한 검증이 누락되어 발생합니다. 공격자가 잘못된 텐서 값을 전달하면 힙 할당 배열의 범위를 벗어난 메모리에 접근하는 Heap Out-of-Bounds Read 취약점이 발생합니다.
💡 쉬운 설명
프로그램이 정해진 메모리 공간을 넘어서 데이터를 읽을 수 있는 오류입니다. 공격자가 특수한 값을 입력하면 시스템의 민감한 정보를 몰래 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
TensorFlow is an end-to-end open source platform for machine learning. An attacker can force accesses outside the bounds of heap allocated arrays by passing in invalid tensor values to `tf.raw_ops.RaggedCross`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/efea03b38fb8d3b81762237dc85e579cc5fc6e87/tensorflow/core/kernels/ragged_cross_op.cc#L456-L487) lacks validation for the user supplied arguments. Each of the above branches call a helper function after accessing array elements via a `*_list[next_*]` pattern, followed by incrementing the `next_*` index. However, as there is no validation that the `next_*` values are in the valid range for the corresponding `*_list` arrays, this results in heap OOB reads. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.
📍 영향받는 시스템
TensorFlow 2.5.0 미만 버전 (2.4.2, 2.3.3, 2.2.3, 2.1.4 포함)
⚔️ 공격 벡터
유효하지 않은 텐서 값을 `tf.raw_ops.RaggedCross` 연산에 전달하여 메모리 경계 외 접근 유도
🛡️ 대응 방법
TensorFlow를 2.5.0 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.5.0보다 낮은지 확인하십시오.
python3 -c 'import tensorflow as tf; print(tf.__version__)'