🇰🇷 한글 설명
Flight PHP 마이크로 프레임워크 3.18.1 이전 버전의 Flight::jsonp() 함수가 ?jsonp= 쿼리 파라미터를 JavaScript 식별자 검증 없이 application/javascript 응답에 직접 포함시킵니다. 공격자는 임의의 JavaScript 코드를 삽입하여 반사형 XSS 공격을 수행할 수 있습니다.
💡 쉬운 설명
Flight PHP 웹 프레임워크의 특정 기능이 사용자 입력을 충분히 검사하지 않아 악성 코드가 주입될 수 있습니다. 웹사이트 방문자의 브라우저에서 공격자의 명령이 실행될 수 있다는 뜻입니다.
🇺🇸 원문 (English)
Flight is an extensible micro-framework for PHP. Prior to 3.18.1, Flight::jsonp() concatenates the ?jsonp= query parameter directly into an application/javascript response body without validating that the value is a legal JavaScript identifier. An attacker can inject arbitrary JavaScript that executes in the response origin, enabling reflected cross-site scripting. This vulnerability is fixed in 3.18.1.
📍 영향받는 시스템
Flight PHP 프레임워크 3.18.0 이하 버전
⚔️ 공격 벡터
?jsonp= 쿼리 파라미터에 JavaScript 코드를 삽입하여 응답 본문에 포함시키는 방식
🛡️ 대응 방법
Flight를 3.18.1 이상으로 업그레이드하거나 jsonp() 함수 사용 전 파라미터를 JavaScript 식별자로 검증
🔧 검증 코드
명령어 실행 후 버전이 3.18.1 이상이면 안전하고 3.18.0 이하이면 취약함
composer show flight/flight 2>/dev/null | grep -i version