freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

高危PHP漏洞可绕过验证加载恶意内容
2025-03-31 04:11:12
所属地 上海

image

PHP的libxml流组件中发现一个高危漏洞,可能影响依赖DOM或SimpleXML扩展处理HTTP请求的Web应用程序。该漏洞编号为CVE-2025-1219,源于处理重定向资源时对content-type标头的错误处理,可能导致文档解析错误和验证绕过等安全风险。

受影响PHP版本包括:

  • 8.1.32以下版本
  • 8.2.28以下版本
  • 8.3.18以下版本
  • 8.4.5以下版本

漏洞技术细节

当HTTP流包装器跟随重定向时,该漏洞会触发。系统未在执行后续请求前清除先前捕获的标头,而是将多个请求的标头追加到同一数组中,导致最终数组包含所有请求的标头(最后请求的标头位于末尾)。

函数php_libxml_input_buffer_create_filename()php_libxml_sniff_charset_from_stream()会扫描该数组寻找content-type标头以确定响应字符集。但系统会从上至下顺序处理标头,并在遇到首个content-type标头时停止。根据PHP报告,该标头可能不对应最终包含待解析HTML正文的响应,从而导致文档可能以错误字符集解析,引发安全隐患。

攻击者可利用该漏洞通过操纵字符集检测来改变文档解析方式,具体表现为:

  • 文档可能被错误解读,改变其原意
  • 若文档解析错误,验证流程可能被绕过
  • 使用->saveHtml()等方法导出文档时,可能保留原始字符集导致意外输出

使用PHP的DOM或SimpleXML扩展处理HTTP请求的应用程序尤其易受攻击。

漏洞验证实例

概念验证(PoC)展示了漏洞利用方式:

  1. 重定向脚本(redirect.php)发送指定字符集(utf-16)的content-type标头并重定向到其他资源
  2. 通过PHP的DOMDocument或SimpleXML扩展访问时,系统错误地使用初始content-type标头而非最终响应的标头进行解析

该行为可导致解析错误和验证绕过,例如导出的HTML内容在篡改后仍保留原始字符集。

PHP开发团队已在以下版本修复该问题:

  • PHP 8.1.32
  • PHP 8.2.28
  • PHP 8.3.19
  • PHP 8.4.5

缓解措施

为防范CVE-2025-1219漏洞,强烈建议用户将PHP升级至上述已修复版本:

  1. 使用php -v命令检查当前版本
  2. 通过包管理器更新系统,或从php.net下载更新后的二进制文件
  3. 更新后重启所有依赖PHP的服务

CVE-2025-1219暴露了PHP使用libxml流处理HTTP重定向时的关键缺陷,对通过HTTP请求解析文档的应用程序构成风险。该漏洞再次凸显定期更新软件以应对新兴安全威胁的重要性。

参考来源:

Critical PHP Vulnerability Let Hackers Bypass the Validation To Load Malicious Content

# 网络安全 # web安全
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录