CVE-2025-1220 是一个在 PHP 中发现的漏洞,源于 fsockopen() 函数对主机名输入验证不足。攻击者可以通过构造包含空字符的主机名,绕过安全检查,进而影响 parse_url() 函数的行为,可能导致安全问题。该漏洞影响 PHP 8.1.0 至 8.4.10 版本。已发布安全补丁,建议尽快升级。
该漏洞允许攻击者通过在主机名中注入空字符,绕过应用程序的安全检查。攻击者可以利用此漏洞构造恶意的 URL,欺骗应用程序访问未经授权的资源或执行恶意代码。例如,如果应用程序使用 parse_url() 函数来验证用户提供的 URL,攻击者可以注入空字符来绕过验证,从而访问敏感数据或执行未经授权的操作。虽然 CVSS 评分为低危,但如果应用程序依赖于主机名验证来保护敏感资源,则该漏洞可能被利用。
目前尚未公开可用的漏洞利用代码,但该漏洞的潜在影响不容忽视。该漏洞已添加到 CISA KEV 目录中,表明其具有一定的风险。建议密切关注安全社区的动态,及时获取最新的漏洞信息和缓解措施。
Applications built using PHP that rely on user-supplied hostnames for access control or resource identification are at risk. This includes web applications that connect to external services or databases using dynamically constructed URLs. Legacy PHP applications with outdated security practices are particularly vulnerable.
• php: Examine PHP application code for instances of fsockopen() and parse_url() where hostnames are used without proper validation. Look for patterns where user-supplied input is directly passed to these functions.
// Example of vulnerable code
$hostname = $_GET['hostname'];
$url = parse_url('http://' . $hostname);
$ip = $url['host'];• linux / server: Monitor PHP error logs (typically in /var/log/php_errors.log) for errors related to URL parsing or hostname resolution. Use journalctl -u php-fpm to filter for relevant errors.
• generic web: Use curl to test endpoints that accept hostnames as parameters. Attempt to inject null characters into the hostname and observe the response. curl -H "Host: example.com%00" http://your-application/
disclosure
漏洞利用状态
EPSS
0.04% (11% 百分位)
CISA SSVC
CVSS 向量
为了缓解 CVE-2025-1220 漏洞,建议立即升级到 PHP 8.4.10 或更高版本。如果无法立即升级,可以考虑以下临时缓解措施:在应用程序代码中对用户提供的主机名进行严格的输入验证,确保主机名不包含空字符。使用 Web 应用防火墙 (WAF) 或代理服务器来过滤包含恶意字符的请求。对应用程序的配置进行审查,确保没有不必要的权限或访问控制绕过。
升级到 PHP 的最新可用版本。 确保升级到 8.1.33、8.2.29、8.3.23 或 8.4.10 或更高版本,具体取决于您的 PHP 分支。 这将修复受影响函数中的空字节终止漏洞。
漏洞分析和关键警报直接发送到您的邮箱。
CVE-2025-1220 是一个影响 PHP 8.1.0 至 8.4.10 版本的漏洞,由于 fsockopen() 函数缺乏对主机名中空字符的验证,可能导致 parse_url() 函数错误处理,从而引发安全问题。
如果您正在使用 PHP 8.1.0 至 8.4.10 版本,则可能受到此漏洞的影响。请立即检查您的 PHP 版本并升级。
建议升级到 PHP 8.4.10 或更高版本以修复此漏洞。如果无法立即升级,请采取临时缓解措施,例如对用户提供的主机名进行严格的输入验证。
目前尚未公开可用的漏洞利用代码,但该漏洞的潜在影响不容忽视。建议密切关注安全社区的动态。
请访问 PHP 官方安全公告页面:https://www.php.net/security/advisory.php