PHP高危预警:ext-pgsql扩展反斜杠逃逸SQL注入漏洞可绕过转义实现数据窃取与权限提升"

admin 2026-10-19 20:02:59 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

PHP 高危预警:ext-pgsql 扩展反斜杠逃逸 SQL 注入漏洞 可绕过转义实现数据窃取与权限提升

原创

360漏洞研究院
360漏洞研究院

360漏洞研究院

2026年8月14日 14:49
四川

在小说阅读器读本章

去阅读

PHP ext-pgsql 扩展曝出高危 SQL 注入漏洞(CVE-2026-17543,CVSS 9.8),该漏洞影响 pg\_insert()、pg\_update()、pg\_select() 及 pg\_delete() 等函数。由于内部函数 php\_pgsql\_convert() 在处理用户参数时使用 PQescapeStringConn() 转义后错误地包裹在E'...'转义字符串常量中,而 PostgreSQL 默认开启 standard\_conforming\_strings 配置(自9.1版本起),反斜杠不会被转义,攻击者可利用反斜杠突破转义字符串常量边界注入恶意SQL语句。

利用前置条件:

  • 目标应用使用PHP的ext-pgsql扩展连接PostgreSQL数据库
  • 目标应用调用了pg\_select()、pg\_insert()、pg\_update()或pg\_delete()函数处理用户可控的输入参数
  • PostgreSQL服务器的standard\_conforming\_strings配置必须为on(该配置自9.1版本起为默认值)

目前 360漏洞挖掘智能体已成功复现该漏洞。本文包含完整影响范围、临时修复方案、技术原理与复现细节。

漏洞概述
漏洞名称 PHP pgsql 扩展 SQL 注入漏洞
漏洞编号 CVE-2026-17543
公开时间 2026-07-30 POC状态 已公开
漏洞类型 SQL注入 EXP状态 已公开
利用可能性 高 技术细节状态 已公开
CVSS 3.1 9.8 在野利用状态 未发现

01

漏洞影响范围

受影响的软件版本:

PHP 8.2 分支 < 8.2.33

PHP 8.3 分支 < 8.3.33

PHP 8.4 分支 < 8.4.24

PHP 8.5 分支 < 8.5.9

02

修复建议

防护方案

升级至已修复版本:8.2.33、8.3.33、8.4.24或8.5.9及以上版本

03

漏洞描述

该漏洞的核心问题出在 php\_pgsql\_convert() 函数的字符串转义与包裹逻辑中:函数在处理用户输入的字符串参数时,先调用 PQescapeStringConn() 对单引号进行转义(将 ' 转为 ''),随后通过 php\_pgsql\_add\_quotes() 将结果包裹在 PostgreSQL 转义字符串常量 E'...' 中。

然而,自 PostgreSQL 9.1 起,standard\_conforming\_strings 默认开启(on)。在此配置下,PQescapeStringConn() 仅转义单引号,不会转义反斜杠(\)。当攻击者构造包含 \' 序列的输入时,PQescapeStringConn() 将其处理为 \''(反斜杠保留,单引号被双写),随后被整体包裹为 E'...\''。由于 E'...' 语法会重新启用反斜杠转义,反斜杠将吃掉第一个单引号,使得第二个单引号成功闭合字符串常量,后续内容被解析为 SQL 语法的一部分。

攻击者可通过 pg\_select() 实现全表数据泄露(如注入 OR 1=1),或通过 pg\_insert() 篡改 INSERT 语句结构实现字段值注入与权限提升(如强制 admin = true)。

04

漏洞复现

360漏洞研究院已成功复现 PHP pgsql 扩展 SQL 注入漏洞(CVE-2026-17543),在 PHP 8.5.2 环境下,利用默认开启的 standard\_conforming\_strings = on 配置,两个攻击场景均成功触发:

场景一:pg\_select() 数据泄露

Payload:zzz\' OR 1=1 --

生成 SQL:SELECT \* FROM \"users\" WHERE \"name\"=E'zzz\'' OR 1=1 --';

结果:返回表中全部 2 行数据,成功绕过条件过滤实现全表读取。

场景二:pg\_insert() 权限提升

Payload:eve\', true) --

生成 SQL:INSERT INTO \"users\" (\"name\",\"admin\") VALUES (E'eve\'', true) --','f');

结果:插入的新记录中 admin 字段被强制设为 TRUE,成功篡改数据完整性。

CVE-2026-17543

PHP pgsql 扩展 SQL 注入漏洞复现

05

时间线

2026年8月14日,360漏洞研究院发布本安全风险通告。

06

参考链接

https://github.com/php/php-src/security/advisories/GHSA-7qpv-r5mr-78m4

https://nvd.nist.gov/vuln/detail/CVE-2026-17543

https://www.cve.org/CVERecord/SearchResults?query=CVE-2026-17543

07

更多漏洞情报

“扫描下方二维码,进入公众号粉丝交流群。更多一手网安资讯、漏洞预警、技术干货和技术交流等您参与!”

建议您订阅360数字安全-漏洞情报服务,获取更多漏洞情报详情以及处置建议,让您的企业远离漏洞威胁。

邮箱:[email protected]

网址:https://vi.loudongyun.360.net

“洞”悉网络威胁,守护数字安全

关于我们

360 漏洞研究院,隶属于360数字安全集团。其成员常年入选谷歌、微软、华为等厂商的安全精英排行榜, 并获得谷歌、微软、苹果史上最高漏洞奖励。研究院是中国首个荣膺Pwnie Awards“史诗级成就奖”,并获得多个Pwnie Awards提名的组织。累计发现并协助修复谷歌、苹果、微软、华为、高通等全球顶级厂商CVE漏洞3000多个,收获诸多官方公开致谢。研究院也屡次受邀在BlackHat,Usenix Security,Defcon等极具影响力的工业安全峰会和顶级学术会议上分享研究成果,并多次斩获信创挑战赛、天府杯等顶级黑客大赛总冠军和单项冠军。研究院将凭借其在漏洞挖掘和安全攻防方面的强大技术实力,帮助各大企业厂商不断完善系统安全,为数字安全保驾护航,筑造数字时代的安全堡垒。


为什么风险暴露管理正在取代漏洞管理?" 网络安全文章

为什么风险暴露管理正在取代漏洞管理?"

传统漏洞管理将严重度等同于风险,在复杂环境中已失效。攻击者不关注单一漏洞,而是利用低危漏洞、弱凭据和过度权限组合成攻击路径。Gartner的持续威胁暴露管理框架推动安全视角从找漏洞转向理解暴露。建议安全团队跳出漏洞数量与补丁速度局限,评估攻击者可触达范围及真实业务风险,优先阻断关键攻击路径以提升防御韧性。
医疗行业数据安全风险评估工作探讨六" 网络安全文章

医疗行业数据安全风险评估工作探讨六"

本文结合国标与NICE框架,系统梳理了医疗数据安全评估人员的技能与素养需求。核心结论指出,医疗评估是高度定制化的系统工程,须基于业务而非纯技术,旨在发现真实风险而非表面合规。建议从业者积累3至5年行业经验,树立生命安全高危思维,坚守专业底线以发挥评估真正价值。
评论:0   参与:  0