🇰🇷 한글 설명
FrankenPHP 1.11.2부터 1.12.3 미만 버전의 cgi.go에 있는 splitPos() 함수는 비ASCII 문자가 포함된 요청 경로에서 golang.org/x/text/search를 잘못 사용하여 대소문자를 무시하는 검색을 수행합니다. 이로 인해 공격자가 비PHP 파일을 PHP 스크립트로 오인하게 만들어 원격 코드 실행(RCE)을 유발할 수 있습니다. 이 취약점은 버전 1.12.3에서 수정되었습니다.
💡 쉬운 설명
웹 서버가 파일 확장자를 잘못 인식하게 만드는 결함이 있어, 공격자가 악성 파일을 PHP 스크립트로 실행할 수 있습니다. 이를 통해 서버에 대한 완전한 제어권을 탈취당할 위험이 있습니다.
🇺🇸 원문 (English)
FrankenPHP is a modern application server for PHP. From version 1.11.2 to before version 1.12.3, the splitPos() function in cgi.go misuses golang.org/x/text/search with search.IgnoreCase when the request path contains a non-ASCII byte. Two distinct flaws in that fallback let an attacker mislead FrankenPHP into treating a non-.php file as a .php script. In any deployment where the attacker can place content into a file served by FrankenPHP (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This issue has been patched in version 1.12.3.
📍 영향받는 시스템
FrankenPHP version >= 1.11.2 and < 1.12.3
⚔️ 공격 벡터
공격자가 서버에 파일을 업로드하거나 저장할 수 있는 권한이 있을 경우, 비ASCII 문자가 포함된 URL 경로를 조작하여 PHP 파일이 아닌 파일을 PHP 스크립트로 실행시킴
🛡️ 대응 방법
FrankenPHP를 1.12.3 이상 버전으로 즉시 업그레이드하십시오.
🔧 검증 코드
명령어 실행 시 해당 버전 범위의 문자열이 출력되면 취약한 버전이 설치된 것이므로 업그레이드가 필요합니다.
frankenphp -v 2>/dev/null | grep -E '1\.11\.[2-9]|1\.12\.[0-2]'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server