🔍 CVE-2026-42549

4.4
CVSS Score
MEDIUM
2026-05-13
2026-10-26 14:10
✅ 완료

🇰🇷 한글 설명

Flight PHP 프레임워크 3.18.1 이전 버전에서 make:controller CLI 명령이 사용자 입력을 충분히 검증하지 않은 채 디렉토리를 재귀 생성하므로, 공격자가 ../ 문자를 포함한 컨트롤러 이름으로 프로젝트 루트 외부에 디렉토리를 생성할 수 있습니다. 경로 순회 공격을 통해 예상치 못한 위치에 파일 시스템 구조를 생성할 수 있습니다.

💡 쉬운 설명

PHP Flight 프레임워크의 컨트롤러 생성 명령이 특수 경로(../)를 제대로 검사하지 않습니다. 악의적인 사용자가 이를 이용해 프로젝트 외부에 폴더를 만들 수 있습니다.

🇺🇸 원문 (English)

Flight is an extensible micro-framework for PHP. Prior to 3.18.1, the make:controller CLI command calls mkdir(..., recursive: true) on a path built from the user-supplied controller name, before Nette's class-name validation runs. The class-file write is correctly rejected by Nette when the name contains /, but the recursive directory creation side effect is already committed — including directories located outside the project root through ../ traversal. This vulnerability is fixed in 3.18.1.

📍 영향받는 시스템

Flight PHP 프레임워크 3.18.0 이하

⚔️ 공격 벡터

make:controller CLI 명령에 ../ 경로 순회 문자가 포함된 컨트롤러 이름 입력

🛡️ 대응 방법

Flight을 3.18.1 이상으로 업그레이드 (composer update flight/engine)

🔧 검증 코드

출력된 버전이 3.18.1 이상이면 안전, 3.18.0 이하이면 즉시 업그레이드 필요

Shell / Script
composer show flight/engine 2>/dev/null | grep -oP '(?<=flight/engine\s+)\S+'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L

💻 영향받는 소프트웨어

PHP