🔍 CVE-2026-42550

8.8
CVSS Score
HIGH
2026-05-13
2026-10-26 14:10
✅ 완료

🇰🇷 한글 설명

Flight PHP 마이크로프레임워크의 SimplePdo 클래스의 insert(), update(), delete() 메서드에서 테이블명과 데이터 배열 키를 검증 없이 SQL 쿼리에 직접 연결하여 SQL 인젝션 취약점이 발생합니다. 사용자 입력 데이터를 직접 이 함수들에 전달하면 공격자가 악의적인 배열 키를 통해 임의의 SQL 명령을 실행할 수 있으며, 3.18.1 버전에서 수정되었습니다.

💡 쉬운 설명

Flight 프레임워크가 데이터베이스에 정보를 저장할 때 사용자가 보낸 데이터를 안전하게 검사하지 않아 공격자가 데이터베이스를 조종할 수 있습니다. 사용자의 데이터 필드명을 변조하여 악의적인 SQL 명령을 실행할 수 있는 문제입니다.

🇺🇸 원문 (English)

Flight is an extensible micro-framework for PHP. Prior to 3.18.1, SimplePdo::insert(), SimplePdo::update(), and SimplePdo::delete() build SQL statements by concatenating the $table argument and the keys of the $data array directly into the query, with no identifier quoting and no validation. When an application forwards user-controlled data shapes to these helpers — a common and documented pattern, e.g. $db->insert('users', $request->data->getData()) — an attacker can inject arbitrary SQL by crafting malicious array keys. This vulnerability is fixed in 3.18.1.

📍 영향받는 시스템

Flight 3.18.1 이전의 모든 버전 (PHP 마이크로프레임워크)

⚔️ 공격 벡터

사용자 제어 데이터의 배열 키를 조작하여 SimplePdo 메서드에 전달함으로써 SQL 쿼리에 임의의 SQL 코드 주입

🛡️ 대응 방법

Flight를 3.18.1 이상으로 업그레이드하거나, 사용자 입력 데이터를 SimplePdo 메서드에 직접 전달하지 않고 입력값 검증 및 매개변수화된 쿼리 사용

🔧 검증 코드

3.18.1 이상의 버전이 표시되면 안전하고, 그 이하 버전이면 즉시 업그레이드 필요합니다.

Shell / Script
composer show flight 2>/dev/null | grep -E '^version' | awk '{print $2}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP