🔍 CVE-2026-48979

7.5
CVSS Score
HIGH
2026-06-17
2026-06-23 16:04
✅ 완료

🇰🇷 한글 설명

PHP Standard Library(PSL)의 Psl\H2\ServerConnection에서 HEADERS 프레임의 content-length와 실제 수신된 DATA 프레임의 바이트 수가 일치하는지 검증하지 않는 취약점이 발견되었습니다. 이로 인해 RFC 9113 규격을 위반하는 HTTP 요청 스머글링(Request Smuggling) 공격이 가능해집니다. 공격자는 선언된 길이보다 더 많은 데이터를 보내거나 적은 데이터를 보내 애플리케이션의 로직을 교란할 수 있습니다.

💡 쉬운 설명

데이터의 실제 크기와 미리 알려준 크기가 다른데도 이를 확인하지 않아 발생하는 보안 문제입니다. 이를 통해 공격자는 몰래 숨겨진 데이터를 끼워 넣어 서버를 혼란에 빠뜨릴 수 있습니다.

🇺🇸 원문 (English)

PHP Standard Library (PSL) is set of APIs covering async, collections, networking, I/O, cryptography, terminal UI, etc. In versions 6.1.0, 6.1.1 and 6.2.0, the Psl\H2\ServerConnection does not validate that the total bytes received in DATA frames match the content-length header declared in the HEADERS frame, allowing request smuggling. This is in violation of RFC 9113 §8.1.1. A malicious client is able to send more DATA bytes than declared, smuggling additional content past application-level size limits and send fewer DATA bytes than declared and close the stream early, causing applications that trust the declared length to behave incorrectly. The vulnerability is only reachable for consumers using Psl\H2\ServerConnection directly to accept untrusted client traffic. Consumers of documented high-level PSL APIs are not affected. This issue has been fixed in versions 6.1.2 and 6.2.1.

📍 영향받는 시스템

PHP Standard Library (PSL) versions 6.1.0, 6.1.1, 6.2.0 (Psl\H2\ServerConnection을 직접 사용하는 경우)

⚔️ 공격 벡터

조작된 HTTP/2 DATA 프레임을 전송하여 선언된 길이와 실제 데이터 크기를 다르게 만드는 요청 스머글링 공격

🛡️ 대응 방법

PSL 버전을 6.1.2 또는 6.2.1 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 정보가 6.1.0, 6.1.1, 6.2.0 중 하나에 해당하면 취약한 상태입니다.

Shell / Script
composer show psr/php-standard-library | grep 'versions'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP