🇰🇷 한글 설명
TensorFlow의 `tf.raw_ops.RaggedTensorToSparse` 함수에서 splits 값이 증가하는 순서인지 확인하는 검증 과정이 누락되었습니다. 이로 인해 공격자가 null 포인터에 참조를 바인딩하여 정의되지 않은 동작을 유발할 수 있습니다.
💡 쉬운 설명
머신러닝 도구인 TensorFlow에서 데이터의 순서를 확인하는 과정이 빠져 있어 오류가 발생할 수 있는 문제입니다. 이를 악용하면 프로그램이 예상치 못한 방식으로 작동하거나 멈출 수 있습니다.
🇺🇸 원문 (English)
TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause undefined behavior via binding a reference to null pointer in `tf.raw_ops.RaggedTensorToSparse`. The [implementation](https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/ragged_tensor_to_sparse_kernel.cc#L30) has an incomplete validation of the splits values: it does not check that they are in increasing order. We have patched the issue in GitHub commit 1071f554dbd09f7e101324d366eec5f4fe5a3ece. 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 포함)
⚔️ 공격 벡터
조작된 splits 값을 포함한 RaggedTensor를 사용하여 `tf.raw_ops.RaggedTensorToSparse` 연산을 실행
🛡️ 대응 방법
TensorFlow를 2.6.0 이상 버전으로 업데이트하거나, 패치가 적용된 2.5.1, 2.4.3, 2.3.4 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 2.6.0 미만인 경우 해당 취약점에 노출되어 있을 가능성이 높습니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'