🇰🇷 한글 설명
TensorFlow의 TFLite 구현체 내 `Split_V` 연산에서 힙 영역의 Out-of-Bounds(OOB) Read 취약점이 발견되었습니다. 조작된 TFLite 모델을 사용할 경우 `axis_value`가 유효 범위를 벗어나 텐서 모양 배열의 경계를 넘어서는 데이터에 접근할 수 있습니다.
💡 쉬운 설명
특수하게 만들어진 인공지능 모델 파일을 실행하면 프로그램이 허용되지 않은 메모리 영역을 읽을 수 있는 보안 약점이 있습니다. 이를 통해 시스템의 민감한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
TensorFlow is an end-to-end open source platform for machine learning. A specially crafted TFLite model could trigger an OOB read on heap in the TFLite implementation of `Split_V`(https://github.com/tensorflow/tensorflow/blob/c59c37e7b2d563967da813fa50fe20b21f4da683/tensorflow/lite/kernels/split_v.cc#L99). If `axis_value` is not a value between 0 and `NumDimensions(input)`, then the `SizeOfDimension` function(https://github.com/tensorflow/tensorflow/blob/102b211d892f3abc14f845a72047809b39cc65ab/tensorflow/lite/kernels/kernel_util.h#L148-L150) will access data outside the bounds of the tensor shape array. 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 포함)
⚔️ 공격 벡터
악의적으로 조작된 TFLite 모델 파일을 TensorFlow 환경에서 로드하여 실행
🛡️ 대응 방법
TensorFlow를 2.5.0 이상의 최신 버전으로 업데이트하거나 해당 보안 패치가 적용된 버전으로 업그레이드
🔧 검증 코드
출력된 버전 번호가 2.5.0보다 낮은지 확인하여 취약 여부를 판단합니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'