文章总结: SplunkEnterprise10.x版本存在高危漏洞CVE-2026-20253(CVSS9.8),根因是PostgreSQLSidecar服务缺乏认证。攻击者可通过空凭证访问backup和restore端点,利用路径遍历和数据库注入实现远程代码执行。CISA已将其列入KEV清单,受影响版本为10.0.0至10.0.6与10.2.0至10.2.3,建议立即升级至10.0.7、10.2.4或10.4.0修复版本。 综合评分: 90 文章分类: 漏洞分析,应急响应,安全工具,漏洞预警,红队
Splunk Enterprise 高危漏洞 CVE-2026-20253(CVSS 9.8)
原创
janice janice
船山信安
2026年7月1日 12:41 广东
在小说阅读器读本章
去阅读
Splunk这回栽了个大问题,编号CVE-2026-20253-CVSS 9.8 漏洞根因是没认证。
Splunk Enterprise 10版引入了PostgreSQL Sidecar Service,其本地部署不是默认启用,但AWS云上开箱就带。安全假设是它只绑localhost端口5435,外部碰不到;可主Web接口8000端口会转发请求给它,一个本该隔离的服务就这样被架到了公网。
watchTowr Labs的Piotr Bazydlo发现,backup和restore两个端点接受HTTP Basic认证,实际上任意凭证都放行,包括空凭证。Base64解码Og==空用户名空密码,这不是设计缺陷,这是压根没做认证。
攻击链七步搞定:
空凭证POST到backup端点拿400响应确认漏洞存在;
往backupFile塞路径遍历在任意位置建空文件;
database字段注入hostaddr让pg_dump连攻击者自己的PostgreSQL,把恶意数据写入目标文件系统;
restore端点塞passfile=/opt/splunk/var/packages/data/postgres/.pgpass,利用Splunk自存凭据自动认证本地数据库;
攻击者数据库预埋SQL通过lo_export实现任意文件写入;
覆盖ssg_enable_modular_input.py这个周期执行的Python脚本;
等脚本自动触发完成RCE。
PoC检测脚本来自watchTowr GitHub仓库,完整代码如下。
import argparse
import urllib3
import requests
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
def dag(host, region):
url = f"{host}{region}/splunkd/__raw/v1/postgres/recovery/backup"
headers = {“Authorization”: “Basic ZGdgOg==”}
resp = requests.post(url, headers=headers, verify=False)
if resp.status_code == 400 and ‘Failed to decode’ in resp.text:
print(‘[+] VULNERABLE’)
elif resp.status_code == 401:
print(‘[-] NOT VULNERABLE’)
运行方式
python3 watchTowr-vs-Splunk-RCE-CVE-2026-20253.py -H http://target:8000 -r en-US
返回400表示漏洞存在,401表示已修复。CISA 在6月18日把此漏洞列入KEV清单限期三天修补,受影响版本10.0.0至10.0.6与10.2.0至10.2.3,修复版本为10.0.7 、10.2.4及10.4.0 赶紧升级到修复版本吧
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:船山信安 janice janice《Splunk Enterprise 高危漏洞 CVE-2026-20253(CVSS 9.8)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论