
UpdatedJul 31, 2026
NotCVE-2026-0009 — Updated!
NitroShare v0.3.4의 경로 탐색 취약점
nitroshare의 경로 탐색 취약점
설명
NitroShare Desktop v0.3.4에는 LAN 파일 전송 서버에 경로 탐색 취약점이 있습니다. 서버는 인증 없이 모든 네트워크 인터페이스(포트 40818)에서 수신 대기합니다. 파일을 수신할 때 발신자의 JSON 항목 헤더에 있는 name 필드는 확인 없이 전달되어 해석된 경로가 전송 루트 디렉터리(C:\UserName\Downloads\NitroShare) 내에 유지되는지 확인하지 않습니다. 동일한 LAN에 있는 공격자는 ../(고전적인 점-점-슬래시 공격) 시퀀스가 포함된 조작된 파일 이름을 보내 현재 사용자가 액세스할 수 있는 모든 위치에 파일을 쓸 수 있으며, 여기에는 다음 로그인 시 코드 실행을 위한 Windows 시작 폴더도 포함됩니다(따라서 제작된 PoC). 사용자 상호 작용은 필요하지 않습니다. 또한 TLS는 기본적으로 비활성화되어 있으며(애플리케이션이 제공하는 인증 방법), 즉 기본적으로 인증이 필요하지 않습니다. IT 및 정보 보안 분야에서 수년간 일한 경험을 바탕으로 대부분의 사용자가 그렇게(인증을 활성화하지 않고) 사용할 것이라고 가정합니다.
재현 단계
- LAN에서 NitroShare의 전송 서버의 TCP 포트 40818에 연결합니다.
- JSON 전송 헤더 패킷을 전송합니다:
{"name":"attacker","size":"<n>","count":"1"}. - 경로 탐색 파일 이름이 포함된 JSON 항목 헤더 패킷을 전송합니다:
{"name":"../../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/payload.exe","directory":false,"created":"0","last_modified":"0","last_read":"0","size":"<n>"} - 악성 파일 내용이 포함된 바이너리 패킷을 전송합니다.
- 파일은 다운로드 디렉터리 밖의 공격자가 선택한 경로에 기록됩니다.
- 시작 폴더를 대상으로 하는 경우, 페이로드는 다음 사용자 로그인 시 자동으로 실행됩니다.
작동하는 PoC가 제공되며(poc_path_traversal_via_lan_transfer___arbitrary_file_w.py) Windows의 NitroShare 0.3.4에서 검증되었습니다.
권장 수정 사항
- 수신 파일 이름 삭제 — 경로 구분 기호(
/,\) 및..시퀀스를 제거하거나 거부합니다.QDir::absoluteFilePath()로 확인한 후, 결과가 루트 전송 디렉터리로 시작하는지 확인합니다. - 비밀번호 요구 또는 TLS 기본 활성화 — TLS를 활성화한 상태로 배포하고 첫 실행 시 인증서를 자동 생성하거나, 비밀번호를 설정하는 옵션을 만듭니다.
- 전송 승인 프롬프트 추가 — 수신한 파일을 디스크에 쓰기 전에 사용자에게 확인 메시지를 표시합니다.
- 인증 구현 — 전송을 수락하기 전에 페어링 메커니즘(공유 비밀, QR 코드 또는 인증서 교환)을 요구합니다.
공개 타임라인
- 2026년 4월 13일 - Github 저장소에 게시된 이메일로 개발자에게 연락했습니다. 응답 없음.
- 2026년 4월 19일 - 두 번째 시도. 응답 없음.
- 2026년 5월 3일 - 세 번째 시도. 응답 없음.
- 2026년 7월 22일 - NotCVE-2026-0009 배정됨
- 2026년 7월 28일 - CVE-2026-66050 배정됨