🇰🇷 한글 설명
PHP의 PostgreSQL 확장 기능에 있는 build_tablename 함수가 테이블 이름의 토큰 검증을 제대로 수행하지 않는 취약점입니다. 원격 공격자가 조작된 테이블 이름을 전송하여 NULL 포인터 참조를 유발하고 응용 프로그램을 중단시킬 수 있습니다.
💡 쉬운 설명
PHP에서 데이터베이스 테이블 이름 처리 시 충분한 검사를 하지 않아 공격자가 잘못된 입력으로 서버를 다운시킬 수 있는 문제입니다. PHP 5.6.7 버전 이하에서 PostgreSQL을 사용할 때 영향을 받습니다.
🇺🇸 원문 (English)
The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate token extraction for table names, which allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted name.
📍 영향받는 시스템
PHP through 5.6.7의 PostgreSQL 확장 모듈
⚔️ 공격 벡터
원격 공격자가 조작된 테이블 이름을 포함한 요청을 전송하여 응용 프로그램 불안정화 또는 충돌 유발
🛡️ 대응 방법
PHP를 5.6.8 이상으로 업그레이드하거나 운영 체제 패키지 관리자를 통해 최신 보안 패치 적용
🔧 검증 코드
출력된 PHP 버전이 5.6.7 이하이면 취약, 5.6.8 이상이면 패치됨
php -v 2>/dev/null | head -1