GeoServer未经身份验证的SQL注入漏洞(CVSS9.8)正在野外遭到利用,PoC已公开

admin 2026-08-23 05:10:00 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: GeoServer存在一个未经身份验证的SQL注入漏洞(CVSS9.8),正被野外利用且PoC已公开。该漏洞存在于jsonArrayContains过滤函数中,影响PostGIS数据存储,可导致数据泄露甚至远程代码执行。建议立即升级至GeoServer2.27.6/2.28.5/3.0.1或GeoTools33.6/34.5/35.1版本,并限制公开访问、使用低权限数据库账户。 综合评分: 90 文章分类: 漏洞分析,应急响应,威胁情报,漏洞预警,解决方案


cover_image

GeoServer 未经身份验证的 SQL 注入漏洞(CVSS 9.8)正在野外遭到利用,PoC 已公开

sec随谈 sec随谈

sec随谈

2026年8月18日 13:17 北京

在小说阅读器读本章

去阅读

摘要

GeoServer 中一个未经身份验证的 SQL 注入漏洞正在遭受实际攻击。该漏洞存在于针对 PostGIS 图层的 jsonArrayContains 过滤函数中。攻击者在漏洞公开披露后数小时内便开始进行探测,目前一个可实现远程代码执行的概念验证(PoC)利用代码已经公开。该漏洞 CVSS 评分为 9.8。

编号追踪:截至发布时尚未分配 CVE 编号,该修复以 GitHub 安全公告 GHSA-mqjf-5f49-2fjh 进行追踪。该漏洞是 CVE-2023-25158 的回归问题。

为何重要

GeoServer 是部署最广泛的开源地理空间服务器,政府机构、公共事业单位以及国防承包商都在使用它,其中许多部署未经身份验证就暴露了 OGC WMS 和 WFS 端点。

这一 GeoServer 未经身份验证的 SQL 注入漏洞直接触及这些端点。Shadowserver 报告称全球范围内存在超过 1,500 个暴露的实例。值得注意的是,RondoDox 僵尸网络已经加入了利用尝试的行列。

利用状况

安全研究人员 @q1uf3ng 于 2026 年 8 月 12 日以零日漏洞的形式披露了该问题。据 Shadowserver 和 watchTowr 的传感器数据显示,利用尝试在数小时内便随之出现。安全公司 Hadrian 随后发布了一份技术分析报告,其中包含一个能够实现远程代码执行的可用概念验证利用代码。目前观察到的大部分流量看起来仍属于扫描和探测性质。

攻击原理

该漏洞存在于 GeoTools 将 CQL 过滤条件转换为针对 PostGIS 数据存储的 SQL 语句的过程中。据 Hadrian 研究人员 Melvin Lammerts 介绍,jsonArrayContains 函数会将用户提供的数值原样嵌入 SQL 表达式中,而未做任何转义处理。

由于该数值直接来自 HTTP 请求,攻击者便能够注入 SQL 语句。在 PostGIS 12 或更高版本中,该漏洞影响字符串(String)或 JSON 类型的字段。这一注入还可以通过 Web Feature Service 1.0 进一步升级,从而允许执行第二条 SQL 语句。

其实际影响程度取决于数据库权限:如果 GeoServer 以 PostgreSQL 超级用户身份连接,或使用拥有程序执行权限的角色连接,该漏洞就能进一步升级为操作系统命令执行。即便没有这些权限,官方 GeoTools 安全公告也指出,该注入漏洞仍会导致数据库数据泄露。(本报道不包含任何可用的具体利用代码。)

受影响版本

该漏洞影响使用 PostGIS 数据存储并调用 jsonArrayContains 函数的 GeoServer 部署,触发条件需要 PostGIS 12 或更高版本,并存在字符串或 JSON 类型字段。

需要特别指出的是,该漏洞是 CVE-2023-25158 的回归问题——此前针对该漏洞采取的缓解措施(启用预编译语句并禁用 encode 函数)并不能阻止这一变种攻击。

补丁与缓解措施

请立即升级至已修复的版本。GeoTools 已在 33.6、34.5 和 35.1 版本中发布修复;GeoServer 已在 2.27.6、2.28.5 和 3.0.1 版本中发布修复。

在完成升级之前,应限制对 GeoServer 的公开访问,对 OGC 相关服务使用 VPN、IP 白名单或经过身份验证的网关进行防护。此外,还应将 GeoServer 的数据库连接配置为低权限角色,切勿使用超级用户账户。Hadrian 已详细记录了从注入攻击到实现远程代码执行的完整路径,研究人员也已公开分享了相应的概念验证利用代码。

参考链接:

https://hadrian.io/blog/here-be-dragons-geoserver-pre-auth-sql-injection-to-rce#s-from-injection-to-rce

https://gist.github.com/portbuster1337/70d75ec246b85e3199037ce212ff1a06

https://github.com/geotools/geotools/security/advisories/GHSA-mqjf-5f49-2fjh


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:sec随谈 sec随谈 sec随谈《GeoServer 未经身份验证的 SQL 注入漏洞(CVSS 9.8)正在野外遭到利用,PoC 已公开》

评论:0   参与:  0