CVE-2025-56399 – laravel-file-manager v3.3.1의 인증된 원격 코드 실행
🧭 개요
laravel-file-manager v3.3.1 이하에서 발견된 인증된 원격 코드 실행(RCE) 취약점으로 인해 파일 관리자 인터페이스에 접근 권한이 있는 공격자가 서버에서 임의의 코드를 실행할 수 있습니다. 허용된 비-PHP 확장자(예: .png, .pdf)를 가진 파일에 악성 PHP 코드를 포함하여 업로드한 다음 .php 확장자로 이름을 변경하거나, .php 파일을 직접 생성 및 편집함으로써, 공격자는 해당 파일이 공개 URL을 통해 접근될 때 RCE를 달성할 수 있습니다.
🧱 영향받는 구성 요소
- 프로젝트:
laravel-file-manager
- 구성 요소: 파일 업로드 / 이름 변경 API
- 영향받는 버전: v3.3.1 이하
🎯 공격 벡터
- 파일 관리자의 업로드 또는 파일 생성 기능에 접근 권한이 있는 계정으로 인증합니다.
- 파일 관리자의 업로드 인터페이스 또는 API를 통해 악성 PHP 코드(예: )가 포함된 파일(예: shell.png)을 업로드합니다.
- 이름 변경 API 또는 인터페이스를 사용하여 파일 확장자를 shell.png에서 shell.php로 변경합니다.
- 공개 URL(예: https://server-ip-address/storage/shell.php?c=id)로 파일에 접근하여 PHP 페이로드를 실행합니다.
- 또는 "파일 생성" 기능을 사용하여 파일(예: shell.php)을 생성한 다음 편집 기능을 사용하여 악성 PHP 코드를 삽입하고 공개 URL을 통해 접근합니다.
💥 영향
- 원격 코드 실행(RCE): 공격자는 웹 서버의 컨텍스트에서 임의의 명령을 실행할 수 있습니다.
- 시스템 손상: 서버 구성에 따라 웹 애플리케이션과 호스트 시스템 전체가 손상될 수 있습니다.
- 심각한 위험: 영향받는 시스템의 기밀성, 무결성 및 가용성에 높은 영향을 미칩니다.
CVSS v3
기본 점수: 8.8
벡터: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
심각도: 높음
🛡️ 권장 해결 방안
- 파일이 확장자와 일치하는지 확인하기 위해 파일의 MIME 유형과 매직 바이트에 대한 서버 측 검증을 구현합니다.
- 허용된 파일 확장자의 엄격한 화이트리스트를 적용하고 .php와 같은 실행 가능한 확장자를 거부합니다.
- 추가 검증 없이 실행 가능한 확장자로 변경할 수 없도록 파일 이름 변경을 제한합니다.
- 업로드 디렉터리에서 스크립트/PHP 실행을 비활성화합니다.
🙏 크레딧
발견 및 보고: Chayawat Jeamprasertboon, Thanakorn Boontem, Theethat Thamwasin