CVE-2026-20253|Splunk Enterprise PostgreSQL Sidecar未授权远程代码执行漏洞(POC)
alicy
alicy
信安百科
2026年6月21日 20:00
河北
在小说阅读器读本章
去阅读
0x00 前言
Splunk Enterprise 是一款企业级实时数据分析和监控平台,主要用于收集、索引和搜索机器生成的数据(如日志、事件、指标等),帮助组织实现安全监控、IT运维管理(ITOps)、应用性能监控和业务分析等场景。它采用分布式架构,支持从本地服务器、云端到混合环境的多种部署方式,通过其强大的搜索处理语言(SPL)让用户能够快速查询和分析海量数据,并借助仪表板、告警和机器学习功能实现自动化洞察与响应,被广泛应用于安全运营中心(SOC)、DevOps 和合规审计等领域。
0x01 漏洞描述
该漏洞的根因在于 Splunk Enterprise 的 PostgreSQL Sidecar 服务(splunk-postgres)的 HTTP API 端点完全缺少身份认证控制(CWE-306)。该 Sidecar 进程监听在本地回环地址的 5435 端口,但 Splunk 主 Web 应用(监听在所有网络接口的 8000 端口)充当反向代理,将请求转发至 Sidecar API,且未添加任何额外的身份认证层。攻击者可通过以下两个核心端点实现完整的 RCE 利用链:
端点一:/v1/postgres/recovery/backup — 调用 pg\_dump 命令,接受 database 和 backupFile 两个参数。backupFile 参数存在路径遍历缺陷,可写入任意文件系统位置;database 参数被直接传递给 pg\_dump 的位置参数,而 PostgreSQL 的 libpq 将其解释为连接字符串,攻击者可通过 hostaddr=attacker.db.example.com 将数据库连接重定向至攻击者控制的外部 PostgreSQL 服务器,从而将攻击者控制的数据库转储写入 Splunk 服务器文件系统。
端点二:/v1/postgres/recovery/restore — 调用 pg\_restore 命令,将转储文件中的 SQL 语句恢复到本地 Splunk PostgreSQL 实例。攻击者利用 Splunk 本地存储的 .pgpass 凭据文件(路径为 /opt/splunk/var/packages/data/postgres/.pgpass,包含 postgres\_admin 用户的明文密码)完成身份认证,使攻击者控制的 SQL 在本地数据库中执行。通过 PostgreSQL 的 lo\_export 大对象导出函数,攻击者可将任意内容写入文件系统任意位置。
0x02 CVE编号
CVE-2026-20253
0x03 影响版本
10.2.0 <= Splunk Enterprise < 10.2.410.0.0 <= Splunk Enterprise < 10.0.7
0x04 漏洞详情
0x05 参考链接
https://github.com/watchtowrlabs/watchTowr-vs-Splunk-CVE-2026-20253
https://advisory.splunk.com/advisories/SVD-2026-0603
推荐阅读:
CVE-2026-50751|Check Point VPN身份验证绕过漏洞(POC)
CVE-2026-4480|Samba打印子系统远程代码执行漏洞(POC)
CVE-2023-40595|Splunk Enterprise 远程代码执行漏洞
Ps:国内外安全热点分享,欢迎大家分享、转载,请保证文章的完整性。文章中出现敏感信息和侵权内容,请联系作者删除信息。信息安全任重道远,感谢您的支持!!!
本公众号的文章及工具仅提供学习参考,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论