🔍 CVE-2015-3411

6.5
CVSS Score
MEDIUM
2016-05-16
2026-05-06 22:30
✅ 완료

🇰🇷 한글 설명

PHP의 pathnames에서 %00 (null byte) 검증 부재로 인한 취약점으로, 특정 함수 호출 시 임의 파일 읽기/쓰기가 가능합니다. 파일명에 null byte를 삽입(예: filename\0.xml)하여 의도된 접근 제한(예: .xml만 읽기)을 우회할 수 있습니다.

💡 쉬운 설명

PHP의 파일 처리 함수들이 파일명의 특수문자(null byte, %00)를 올바르게 검증하지 않아, 공격자가 숨겨진 파일에 접근할 수 있습니다. .xml만 읽도록 제한된 시스템을 null byte로 우회하여 다른 파일에 접근 가능합니다.

🇺🇸 원문 (English)

PHP before 5.4.40, 5.5.x before 5.5.24, and 5.6.x before 5.6.8 does not ensure that pathnames lack %00 sequences, which might allow remote attackers to read or write to arbitrary files via crafted input to an application that calls (1) a DOMDocument load method, (2) the xmlwriter_open_uri function, (3) the finfo_file function, or (4) the hash_hmac_file function, as demonstrated by a filename\0.xml attack that bypasses an intended configuration in which client users may read only .xml files.

📍 영향받는 시스템

PHP 5.4.0~5.4.39, 5.5.0~5.5.23, 5.6.0~5.6.7

⚔️ 공격 벡터

파일명에 %00 (null byte)를 삽입하여 DOMDocument::load(), xmlwriter_open_uri(), finfo_file(), hash_hmac_file() 함수의 파일 접근 제어 우회

🛡️ 대응 방법

PHP를 5.4.40, 5.5.24, 5.6.8 이상으로 업그레이드

🔧 검증 코드

PHP 버전이 5.4.40 이상(5.5는 5.5.24+, 5.6은 5.6.8+)이면 안전하고, 그 이하 버전이면 취약점에 노출됨

Shell / Script
php -v 2>/dev/null | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP