🇰🇷 한글 설명
plank/laravel-mediable 6.4.0 이하 버전에서 클라이언트가 제공한 MIME 타입을 신뢰할 경우 위험한 파일이 업로드될 수 있습니다. 공격자는 실행 가능한 PHP 코드가 포함된 파일을 일반 이미지 파일인 것처럼 속여 업로드함으로써 임의의 파일을 실행할 수 있습니다.
💡 쉬운 설명
파일을 올릴 때 파일의 종류를 사용자가 직접 정할 수 있는 허점이 있어, 해커가 악성 프로그램을 이미지 파일로 위장해 서버에 올릴 수 있습니다. 이를 통해 해커는 서버를 마음대로 조종할 수 있게 됩니다.
🇺🇸 원문 (English)
plank/laravel-mediable through version 6.4.0 can allow upload of a dangerous file type when an application using the package accepts or prefers a client-supplied MIME type during file upload handling. In that configuration, a remote attacker can submit a file containing executable PHP code while declaring a benign image MIME type, resulting in arbitrary file upload.
📍 영향받는 시스템
plank/laravel-mediable version 6.4.0 and below
⚔️ 공격 벡터
클라이언트가 조작한 MIME 타입을 검증 없이 수용하여 악성 PHP 파일을 이미지로 위장해 업로드
🛡️ 대응 방법
해당 패키지를 최신 보안 버전으로 업데이트하고, 파일 업로드 시 클라이언트가 보낸 MIME 타입 대신 서버 측에서 파일 내용을 직접 검증하도록 수정
🔧 검증 코드
출력된 버전이 6.4.0 이하인지 확인하여 취약 여부를 판단합니다.
composer show plank/laravel-mediable | grep 'versions'