🇰🇷 한글 설명
Open Neural Network Exchange(ONNX) 1.21.0 미만 버전의 onnx.load 함수에서 경로 탐색(Path Traversal) 취약점이 발견되었습니다. 해당 코드는 심볼릭 링크(symlink)는 체크하지만, 일반 파일과 동일하게 보이는 하드링크(hardlink)에 대한 검증을 누락하여 발생합니다.
💡 쉬운 설명
머신러닝 파일을 불러올 때, 공격자가 만든 특수한 연결 파일을 통해 시스템의 허가되지 않은 파일에 접근할 수 있는 문제입니다. 파일의 겉모습만 확인하고 실제 연결된 경로를 제대로 검사하지 못해 발생하는 보안 허점입니다.
🇺🇸 원문 (English)
Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. Prior to version 1.21.0, there is an issue in onnx.load, the code checks for symlinks to prevent path traversal, but completely misses hardlinks because a hardlink looks exactly like a regular file on the filesystem. This issue has been patched in version 1.21.0.
📍 영향받는 시스템
ONNX version < 1.21.0
⚔️ 공격 벡터
악의적으로 조작된 하드링크가 포함된 ONNX 파일을 onnx.load 함수로 로드하여 경로 탐색 공격 수행
🛡️ 대응 방법
ONNX 라이브러리를 1.21.0 버전 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 1.21.0 미만이면 취약한 상태이며, 1.21.0 이상이면 안전합니다.
pip show onnx | grep Version