【漏洞预警】PHP发的补丁里,藏着一个未授权sql注入漏洞(POC脚本已公开)"

admin 2026-10-17 09:29:19 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【漏洞预警】PHP 发的补丁里,藏着一个未授权sql注入漏洞(POC脚本已公开)

YGnight
YGnight

night安全

2026年8月15日 10:11
四川

在小说阅读器读本章

去阅读

一、漏洞描述

CVE-2026-17543 是 PHP 扩展 ext/pgsql 的一个 SQL 注入漏洞,CWE-89,CVSS 9.8。pg\_insert、pg\_select、pg\_update、pg\_delete、pg\_convert 五个函数将字符串值统一交由 php\_pgsql\_convert 处理:先经 libpq 的 PQescapeStringConn 转义,再由 php\_pgsql\_add\_quotes 以 E'...' 转义字符串常量包裹。E'...' 中反斜杠为转义字符,攻击者在值中插入反斜杠加单引号即可突破引号翻倍转义,使字符串字面量提前闭合,后续内容以原始 SQL 执行。

CVE 编号 CVE-2026-17543
漏洞类型 SQL 注入 CWE-89
影响组件 PHP 扩展 ext/pgsql 的 php\_pgsql\_convert 处理路径
受影响版本 8.2 < 8.2.33;8.3 < 8.3.33;8.4 < 8.4.24;8.5 < 8.5.9
修复版本 8.2.33;8.3.33;8.4.24;8.5.9
CVSS 评分 9.8 Critical
披露信息 GHSA-7qpv-r5mr-78m4;修复 commit ab048bd83b57
不受影响路径 pg\_query\_params、PDO\_PGSQL 预处理语句

这个漏洞是利用依赖业务代码将输入的内容传入到上面提到的五个函数中。standard\_conforming\_strings 在 PostgreSQL 9.1 版本后就默认开启了,默认配置就直接满足触发的条件。

CVE-2026-17543漏洞为未授权远程 SQL 注入,CVSS 9.8。风险集中于直接使用 pg\_insert、pg\_select 等函数拼装查询的代码路径,采用参数绑定或者是预处理语句的代码是不受影响的。

二、漏洞原理

漏洞产生的主要原因是转义与包裹采用了两套不兼容的规则。 PostgreSQL 中 '...' 为普通字符串字面量,内部单引号以翻倍方式转义;E'...' 为转义字符串常量,反斜杠为转义字符。PQescapeStringConn是按照普通字符串的标准进行处理,单引号翻倍、反斜杠是原样保留的,php\_pgsql\_add\_quotes 随后以 E'...' 包裹。转义依据与包裹语义不一致,从而导致了可被反斜杠利用的问题。漏洞修复之前的ext/pgsql/pgsql.c 原码:

static zend_string *php_pgsql_add_quotes(zend_string *src)
{
\treturn zend_string_concat3(\"E'\", strlen(\"E'\"),
\t\tZSTR_VAL(src), ZSTR_LEN(src), \"'\", strlen(\"'\"));
}

注入机制。 值 zzz\' OR 1=1 -- 经转义与包裹后生成以下语句,反斜杠使第一个引号变成普通字符,第二个引号提前闭合字符串,OR 1=1 -- 作为原始 SQL 执行:

SELECT * FROM \"users\" WHERE \"name\"=E'zzz\\'' OR 1=1 --'

提前闭合前端拼接的字符串的值,把值构造为 eve\', true) --,经 pg\_insert 生成以下语句,字符串闭合后注入 admin=true,原来的admin 赋值被注释吞掉:

INSERT INTO \"users\" (\"name\",\"admin\") VALUES (E'eve\\'', true) --','f')

修复后包裹改为 '...',反斜杠无特殊含义,payload 整体落入字符串,不产生注入。

POC复现

三、修复建议

升级到修复版本 8.2.33、8.3.33、8.4.24、8.5.9。

代码层改用参数绑定:插入用参数化 INSERT,查询用 pg\_query\_params 或 PDO 预处理。


原创—建言献策之建议国家早点取消退休金养老制度" 网络安全文章

原创—建言献策之建议国家早点取消退休金养老制度"

本文认为现行养老保险制度不科学,随着人口长寿与老龄化,高额退休金会压榨八十后九十后的财富并影响生育率。作者建议取消退休金制度,改为从出生到死亡的全民发工资模式,主张以此大水漫灌式发放刺激经济和提升生育率,并引用历史人物决策呼吁管理层打破顾虑推行改革。
实战|记某次逆向小程序解密及签名破解" 网络安全文章

实战|记某次逆向小程序解密及签名破解"

本文记录了一次授权渗透测试过程,通过弱口令登录后利用文件上传漏洞及JeePlus框架的已知漏洞(SQL注入、任意文件读取/删除/上传)最终获取服务器权限。关键发现包括通过目录扫描找到可解析路径并上传免杀webshell绕过WindowsDefender,成功上线CobaltStrike。建议在渗透测试中注重路径探测与免杀技术应用。
漏洞挖掘实战系列(第6期):文件包含与目录遍历|稳过审核的小众漏洞" 网络安全文章

漏洞挖掘实战系列(第6期):文件包含与目录遍历|稳过审核的小众漏洞"

本文介绍目录遍历与文件包含漏洞,属于小众但审核通过率高的漏洞类型。核心在于程序信任外部路径参数,未做严格过滤。实战中重点测试路径类参数,利用…/序列突破目录限制,并优先寻找敏感配置文件以提升报告评级。远程包含已基本绝迹,重心应放在本地文件读取类测试。
评论:0   参与:  0