🇰🇷 한글 설명
Node.js용 socket.io-file 패키지 2.0.31 이하 버전에서 경로 탐색(Path Traversal) 취약점이 발견되었습니다. createFile 메시지 처리 시 path.join과 ../ 경로 조작을 통해 의도하지 않은 디렉토리에 접근할 수 있습니다.
💡 쉬운 설명
파일을 업로드할 때 파일 이름에 특수 기호를 섞어 보내면, 서버의 허용된 폴더가 아닌 시스템의 중요한 폴더에 파일을 저장하거나 접근할 수 있는 문제입니다. 이를 통해 해커가 서버의 중요한 파일을 덮어쓰거나 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
A Path Traversal issue was discovered in the socket.io-file package through 2.0.31 for Node.js. The socket.io-file::createFile message uses path.join with ../ in the name option, and the uploadDir and rename options determine the path.
📍 영향받는 시스템
socket.io-file package version <= 2.0.31 (Node.js)
⚔️ 공격 벡터
createFile 메시지의 name 옵션에 '../'와 같은 경로 탐색 문자를 삽입하여 공격
🛡️ 대응 방법
socket.io-file 패키지를 최신 버전으로 업데이트하거나, 입력값에 대한 경로 검증 로직을 추가합니다.
🔧 검증 코드
출력된 결과에서 socket.io-file의 버전이 2.0.31 이하인지 확인합니다.