🇰🇷 한글 설명
PHP의 SQLite 확장에서 sqlite_single_query 및 sqlite_array_query 함수가 빈 SQL 쿼리를 처리할 때 초기화되지 않은 메모리에 접근하는 취약점입니다. 이를 통해 공격자가 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
PHP에서 SQLite를 사용할 때 빈 쿼리를 보내면 메모리 오류로 인해 원하는 코드를 실행할 수 있는 문제입니다. PHP 5.2와 5.3 초반 버전에서만 발생합니다.
🇺🇸 원문 (English)
The (1) sqlite_single_query and (2) sqlite_array_query functions in ext/sqlite/sqlite.c in PHP 5.2 through 5.2.13 and 5.3 through 5.3.2 allow context-dependent attackers to execute arbitrary code by calling these functions with an empty SQL query, which triggers access of uninitialized memory.
📍 영향받는 시스템
PHP 5.2 ~ 5.2.13, PHP 5.3 ~ 5.3.2 (SQLite 확장 포함)
⚔️ 공격 벡터
공격자가 애플리케이션을 통해 빈 SQL 쿼리를 실행하도록 유도하여 메모리 접근 가능
🛡️ 대응 방법
PHP를 5.2.14 이상 또는 5.3.3 이상으로 업그레이드하여 패치 적용
🔧 검증 코드
명령어에서 매치되는 버전이 나타나면 취약한 버전입니다. 5.2.14 이상이나 5.3.3 이상이 설치되어 있으면 안전합니다.
php -v | grep -E 'PHP 5\.(2\.(1[3]|[0-9])|3\.[0-2])'