🇰🇷 한글 설명
TensorFlow의 Keras 풀링 레이어에서 풀 크기가 0이거나 차원이 음수인 경우 세그멘테이션 오류(segfault)가 발생할 수 있습니다. 이는 슬라이딩 윈도우 내의 값이 양수인지 확인하지 않는 구현상의 결함 때문입니다. 이 문제는 TensorFlow 2.7.0 및 특정 패치 버전에서 수정되었습니다.
💡 쉬운 설명
머신러닝 도구인 TensorFlow에서 잘못된 숫자 값을 입력하면 프로그램이 갑자기 종료될 수 있는 오류입니다. 잘못된 설정값을 사용하여 시스템을 불안정하게 만들 수 있습니다.
🇺🇸 원문 (English)
TensorFlow is an open source platform for machine learning. In affected versions the Keras pooling layers can trigger a segfault if the size of the pool is 0 or if a dimension is negative. This is due to the TensorFlow's implementation of pooling operations where the values in the sliding window are not checked to be strictly positive. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
📍 영향받는 시스템
TensorFlow 2.7.0 미만 버전 (2.6.1, 2.5.2, 2.4.4 포함)
⚔️ 공격 벡터
조작된 입력값(0 또는 음수 크기의 풀 레이어 설정)을 통한 서비스 거부(DoS) 유발
🛡️ 대응 방법
TensorFlow를 2.7.0 이상 버전으로 업데이트하거나, 지원되는 버전의 최신 패치 버전(2.6.1, 2.5.2, 2.4.4)으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.7.0 미만인지 확인하여 취약 여부를 판단합니다.
python3 -c 'import tensorflow as tf; print(tf.__version__)'