🔍 CVE-2016-7412

8.1
CVSS Score
HIGH
2016-09-17
2026-05-06 22:30
✅ 완료

🇰🇷 한글 설명

PHP의 mysqlnd 익스텐션이 MySQL 필드 메타데이터의 UNSIGNED_FLAG를 검증하지 않아 원격 MySQL 서버가 조작된 필드 정보를 통해 힙 버퍼 오버플로우를 발생시킬 수 있는 취약점입니다. PHP 5.6.26 이전 및 7.0.11 이전 버전이 영향을 받습니다.

💡 쉬운 설명

PHP가 데이터베이스에서 받은 특정 필드 정보를 제대로 검증하지 않아, 악의적인 MySQL 서버가 PHP 애플리케이션을 충돌시키거나 제어할 수 있습니다. 데이터베이스 연결 과정에서 발생하는 메모리 손상 공격입니다.

🇺🇸 원문 (English)

ext/mysqlnd/mysqlnd_wireprotocol.c in PHP before 5.6.26 and 7.x before 7.0.11 does not verify that a BIT field has the UNSIGNED_FLAG flag, which allows remote MySQL servers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact via crafted field metadata.

📍 영향받는 시스템

PHP 5.6.0-5.6.25, PHP 7.0.0-7.0.10 (mysqlnd 익스텐션 활성화된 환경)

⚔️ 공격 벡터

악의적이거나 손상된 MySQL 서버가 조작된 필드 메타데이터를 전송하여 PHP 클라이언트의 메모리 오버플로우 유발

🛡️ 대응 방법

PHP를 5.6.26 이상 또는 7.0.11 이상으로 업그레이드

🔧 검증 코드

VULNERABLE이 출력되면 패치가 필요한 버전입니다. SAFE가 출력되면 현재 버전은 안전합니다.

Shell / Script
php -r 'echo phpversion();' | grep -qE '^(5\.[0-5]|5\.6\.[0-9]|7\.0\.[0-9])' && echo 'VULNERABLE' || echo 'SAFE'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

MySQL