找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5454

积分

0

好友

703

主题
发表于 2 小时前 | 查看: 4| 回复: 0

PHP修复SQL注入、内存损坏与服务器崩溃漏洞

PHP 最近发布了维护更新,修复了三个安全漏洞,其中两个高危漏洞可能导致SQL注入和越界内存写入攻击。

这些漏洞影响Web应用中常用的可选PHP扩展:ext-pgsql、ext-bcmath和ext-phar。建议各组织尽快升级PHP环境,尤其是那些处理不可信输入或上传归档文件的应用。

1. PostgreSQL扩展SQL注入漏洞

最严重的漏洞(CVE-2026-17543)影响PostgreSQL扩展,存在于 php_pgsql_convert() 函数中。pg_insert()pg_update()pg_select()pg_delete() 等便捷函数均会调用该函数。存在缺陷的代码使用 PQescapeStringConn() 对用户提供的值进行转义,随后将结果放入格式为 E'…' 的转义字符串常量中。

当PostgreSQL的 standard_conforming_strings 设置开启时(自PostgreSQL 9.1版本起该设置默认启用),反斜杠在此上下文中无法被安全转义。

攻击者可利用该漏洞注入SQL命令,从而可能访问或修改数据库数据。PHP通过在处理这些参数时改用非转义字符串常量修复了该问题。

2. BCMath扩展内存损坏漏洞

第二个高危漏洞(CVE-2026-17544)影响BCMath扩展的 bccomp() 函数。当应用将攻击者控制的数字字符串与特定的 scale 值一起传入时,便会触发该问题。

该bug位于 bc_str2num() 函数中,PHP在此截断小数位并移除末尾的零。代码减少了分配的缓冲区大小,但未更新用于标记已复制小数数据末尾的指针。

因此,PHP可能复制超过所分配缓冲区容量的数据,导致越界写入,进而破坏栈或堆内存。根据应用条件和PHP运行时环境的不同,内存损坏漏洞可能导致进程崩溃,或为更严重的利用创造条件。

该补丁在截断零值后更新小数数据的末尾指针,确保复制的数据与分配的缓冲区大小一致。

3. Phar扩展拒绝服务漏洞

第三个漏洞(CVE-2026-7260)影响Phar扩展,可导致PHP进程崩溃。

该漏洞源于 phar_get_link_source() 函数,该函数会递归追踪Phar归档中存储的符号链接,且未强制实施递归深度限制,也未检测循环引用。

包含循环符号链接的恶意tar格式Phar归档可触发无限递归,导致PHP因段错误而崩溃,从而造成中等级别的拒绝服务(CVSS 6.5)。

该漏洞需要用户或应用处理特制的归档文件才能触发。不过,它仍可能破坏自动检查、解压或读取上传文件的服务。

升级建议

受影响的用户应将PHP升级至 8.2.33、8.3.33、8.4.24 或 8.5.9 版本。

PHP管理员还应审查依赖PostgreSQL辅助函数、使用外部提供值执行BCMath运算,以及解析Phar或tar归档的文件上传流程的相关应用。

参考来源:PHP Patches Three Flaws Enabling SQL Injection, Memory Corruption and Server Crashes

更多PHP及后端安全动态,可关注云栈社区




上一篇:OctLurk/SilkLurk后门:键盘记录、密码窃取与控制中亚政府计算机
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-5 08:58 , Processed in 0.782895 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表