🇰🇷 한글 설명
mysqlnd 와이어 프로토콜 파서가 서버 패킷의 데이터 길이를 확인하기 전에 필드를 먼저 읽는 취약점이 존재합니다. 악의적인 또는 변조된 MySQL 서버가 잘린 패킷을 전송할 경우, 클라이언트가 패킷 버퍼의 끝을 넘어 데이터를 읽게 되어 정의되지 않은 동작이 발생하거나 프로세스가 충돌할 수 있습니다.
💡 쉬운 설명
데이터를 읽기 전에 데이터가 충분히 있는지 확인하지 않아 발생하는 오류입니다. 나쁜 서버가 데이터를 중간에 끊어서 보내면, 컴퓨터 프로그램이 엉뚱한 곳을 읽으려다 갑자기 꺼질 수 있습니다.
🇺🇸 원문 (English)
The mysqlnd wire protocol parser reads fields out of server packets before checking that the packet still holds enough bytes for them. A malicious or compromised MySQL server can send a truncated packet and make the client read past the end of the packet buffer, which is undefined behaviour and can crash the process.
📍 영향받는 시스템
mysqlnd 라이브러리를 사용하는 PHP 클라이언트 환경
⚔️ 공격 벡터
악의적으로 조작된(잘린) 패킷을 전송하는 MySQL 서버를 통한 클라이언트 공격
🛡️ 대응 방법
PHP 및 mysqlnd 라이브러리를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 mysqlnd 버전을 확인하여 해당 취약점이 해결된 최신 버전인지 제조사 보안 권고문과 비교하십시오.
php -i | grep 'mysqlnd' | grep 'version'