🇰🇷 한글 설명
alexusmai laravel-file-manager 3.3.1 이하 버전에서 인증된 공격자가 파일 업로드 기능을 악용하여 원격 코드 실행(RCE)을 달성할 수 있습니다. 공격자는 PHP 코드를 포함한 .png 파일을 업로드한 후 API를 통해 확장자를 .php로 변경하여 서버에서 코드를 실행시킬 수 있습니다.
💡 쉬운 설명
Laravel 파일 관리자에서 PHP 코드를 PNG 파일로 위장하여 업로드한 후, 파일 이름을 변경해서 PHP 파일로 만들 수 있습니다. 그러면 웹 브라우저로 접근했을 때 서버가 그 파일을 실행해버립니다.
🇺🇸 원문 (English)
alexusmai laravel-file-manager 3.3.1 and before allows an authenticated attacker to achieve Remote Code Execution (RCE) through a crafted file upload. A file with a '.png` extension containing PHP code can be uploaded via the file manager interface. Although the upload appears to fail client-side validation, the file is still saved on the server. The attacker can then use the rename API to change the file extension to `.php`, and upon accessing it via a public URL, the server executes the embedded code.
📍 영향받는 시스템
alexusmai/laravel-file-manager 버전 3.3.1 이하
⚔️ 공격 벡터
인증된 사용자가 PHP 코드를 포함한 파일을 .png 확장자로 업로드 후 API를 통해 .php로 확장자 변경 및 공개 URL 접근
🛡️ 대응 방법
laravel-file-manager를 3.3.2 이상으로 업그레이드하거나 파일 확장자 변경 기능 제한 설정 적용
🔧 검증 코드
composer.lock 파일에서 laravel-file-manager의 설치 버전이 3.3.1 이하인지 확인하고, 3.3.2 이상으로 업그레이드되었는지 검증
grep -A 2 '"name": "alexusmai/laravel-file-manager"' composer.lock 2>/dev/null | grep '"version"'