🇰🇷 한글 설명
PHP의 OpenSSL 확장 모듈 내 AES-WRAP-PAD 알고리즘 구현에서 버퍼 할당 결함이 발견되었습니다. AES 키 래핑 작업 시 RFC 5649에 따른 확장 크기를 고려하지 않고 버퍼를 할당하여, 할당된 메모리 범위를 초과해 데이터를 쓰는 힙 오버플로우가 발생할 수 있습니다. 이로 인해 힙 메타데이터가 손상되거나 애플리케이션이 강제 종료될 수 있습니다.
💡 쉬운 설명
암호화 키를 보호하는 과정에서 필요한 메모리 공간을 실제보다 작게 잡는 오류가 있습니다. 이로 인해 데이터가 정해진 공간을 넘쳐흘러 프로그램이 갑자기 꺼지거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In PHP versions 8.2.* before 8.2.32, 8.3.* before 8.3.32, 8.4.* before 8.4.23, 8.5.* before 8.5.8, the AES-WRAP-PAD algorithm implementation in OpenSSL extension contains a buffer allocation flaw. The output buffer for the AES key-wrap-with-padding operation is sized from the plaintext length without accounting for RFC 5649 expansion. This may cause OpenSSL to write beyond allocated memory, corrupting heap metadata and triggering application abort.
📍 영향받는 시스템
PHP 8.2.x < 8.2.32, 8.3.x < 8.3.32, 8.4.x < 8.4.23, 8.5.x < 8.5.8
⚔️ 공격 벡터
특수하게 조작된 암호화 데이터를 처리하는 과정에서 메모리 오버플로우 유도
🛡️ 대응 방법
PHP를 보안 패치가 적용된 최신 버전(8.2.32, 8.3.32, 8.4.23, 8.5.8 이상)으로 업데이트
🔧 검증 코드
출력된 PHP 버전이 취약점이 해결된 버전(8.2.32, 8.3.32, 8.4.23, 8.5.8 이상)인지 확인합니다.
php -v | grep -E 'PHP (8\[.23|3\.32|4\.23|5\.8)' || php -v