CVE-2026-55584
PHP 취약성 분석 및 완화

개요

CVE-2026-55584 is an IP allowlist bypass vulnerability in phpSysInfo, a customizable PHP system information script. The flaw exists in read_config.php, where the PSI_ALLOWED access-control check unconditionally trusts attacker-controlled X-Forwarded-For and Client-IP HTTP headers over the authoritative REMOTE_ADDR, allowing any unauthenticated remote attacker to impersonate a trusted IP address. All versions up to and including 3.4.5 are affected; the issue was fixed in version 3.4.6. It carries a CVSS v3.1 base score of 7.5 (High) (Github Advisory, phpsysinfo Advisory). The vulnerability was reported by Muhammed Mirac Kayıkci and published to the GitHub Advisory Database on August 28, 2026.

기술적 세부 사항

The root cause is CWE-290 (Authentication Bypass by Spoofing): read_config.php resolves the client IP by checking HTTP_X_FORWARDED_FOR first, then HTTP_CLIENT_IP, and only falling back to REMOTE_ADDR if neither header is present. Since both X-Forwarded-For and Client-IP are fully attacker-controlled HTTP request headers, an attacker can supply any IP address in these headers to satisfy the PSI_ALLOWED allowlist check — even when phpSysInfo is deployed without any reverse proxy. The vulnerable code pattern is:

if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
    $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
    if (isset($_SERVER["HTTP_CLIENT_IP"])) {
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    } else {
        $ip = $_SERVER["REMOTE_ADDR"];
    }
}

The fix in v3.4.6 introduces a PSI_TRUSTED_PROXIES configuration option; proxy headers are only honored when the actual REMOTE_ADDR matches a configured trusted proxy, and the rightmost untrusted hop is extracted from the XFF chain (phpsysinfo Advisory, Patch Commit).

영향

Successful exploitation allows any unauthenticated remote attacker to bypass the sole IP-based access restriction and read all system information exposed by phpSysInfo, including hostname, kernel version, CPU model, memory layout, mounted filesystems, and all network interface addresses and IP assignments. There is no integrity or availability impact; the vulnerability is purely a confidentiality breach. The disclosed information is directly useful for reconnaissance, enabling attackers to map the target environment and identify further attack vectors against the host or its network (phpsysinfo Advisory, Github Advisory).

악용 가능성

A public proof-of-concept exploit is available on GitHub, demonstrating the bypass with a simple curl command using a spoofed X-Forwarded-For header (PoC GitHub). No privileges or user interaction are required, and attack complexity is low, making this trivially exploitable by any remote attacker. As of the time of publication, there is no evidence of in-the-wild exploitation, and the vulnerability is not listed in the CISA KEV catalog. The EPSS score is approximately 2.42% (83rd percentile), indicating a moderate probability of exploitation within 30 days (Github Advisory). Detection is available via Nessus plugin ID 341559.

착취 단계

  1. Reconnaissance: Identify internet-facing phpSysInfo instances (versions ≤ 3.4.5) using search engines like Shodan or Censys, or by scanning for the default xml.php or index.php endpoints. Look for the characteristic phpSysInfo page title or XML output structure.
  2. Probe for access restriction: Send a plain HTTP request to the target's xml.php endpoint without any spoofed headers. If PSI_ALLOWED is configured, the server will respond with Client IP address (<your_ip>) not allowed.
  3. Identify an allowed IP: Determine an IP address in the PSI_ALLOWED allowlist. Common values include 127.0.0.1, 8.8.8.8, or internal network ranges. This may require guessing common configurations or obtaining the phpsysinfo.ini through other means.
  4. Spoof the header to bypass the allowlist: Send a crafted HTTP request with the X-Forwarded-For header set to an allowed IP address:
curl -s -H "X-Forwarded-For: 8.8.8.8" http://target/xml.php

Alternatively, use the Client-IP header if X-Forwarded-For is filtered:

curl -s -H "Client-IP: 8.8.8.8" http://target/xml.php
  1. Harvest system information: Parse the returned XML response to extract hostname, kernel version, CPU details, memory configuration, mounted filesystems, and all network interface addresses for use in further reconnaissance or targeted attacks (phpsysinfo Advisory, PoC GitHub).

타협의 징후

  • Network: HTTP requests to /xml.php, /index.php, or other phpSysInfo endpoints containing X-Forwarded-For or Client-IP headers with IP addresses not belonging to known reverse proxies; repeated access attempts from a single external IP with varying spoofed header values.
  • Logs: Web server access logs (Apache/Nginx) showing requests to phpSysInfo endpoints with X-Forwarded-For or Client-IP headers set to allowlisted IPs (e.g., 8.8.8.8, 127.0.0.1) from unexpected remote addresses; successful 200 responses to xml.php from IPs not in the configured PSI_ALLOWED list.
  • Application: Absence of Client IP address not allowed denial messages in logs for requests that should have been blocked based on REMOTE_ADDR; unexpected access to phpSysInfo from geographic regions or IP ranges inconsistent with the organization's user base.

완화 및 해결 방법

Upgrade phpSysInfo to version 3.4.6 or later, which introduces the PSI_TRUSTED_PROXIES configuration option and fixes the header-trust logic to use REMOTE_ADDR as the authoritative client IP by default (phpsysinfo Release, Patch Commit). For deployments that cannot immediately upgrade, configure the web server or a WAF to strip or reject X-Forwarded-For and Client-IP headers from untrusted external sources before they reach phpSysInfo. Additionally, implement network-level controls (firewall rules) to restrict access to phpSysInfo endpoints to trusted IP ranges, providing defense-in-depth independent of the application's own access control.

추가 자료


근원이 보고서는 AI를 사용하여 생성되었습니다.

관련 PHP 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

CVE-2026-54721HIGH8.8
  • PHP logoPHP
  • composer://silverstripe/userforms
아니요Aug 27, 2026
CVE-2026-55584HIGH7.5
  • PHP logoPHP
  • phpsysinfo
아니요Aug 28, 2026
CVE-2026-55779MEDIUM5.4
  • PHP logoPHP
  • composer://silverstripe/versioned
아니요Aug 28, 2026
CVE-2026-55696MEDIUM4.3
  • PHP logoPHP
  • privatebin/privatebin
아니요Aug 28, 2026
CVE-2026-55891NONE해당 사항 없음
  • PHP logoPHP
  • privatebin
아니요Aug 28, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자