CVE-2026-20253:Splunk Enterprise PostgreSQL Sidecar未授权RCE漏洞遭野外大规模利用

事件概述

CVE-2026-20253 是 Splunk Enterprise 中 PostgreSQL Sidecar 服务暴露的未授权远程代码执行漏洞,CVSSv3.1 评分 9.8(Critical),属于 CWE-306(关键功能缺少身份认证)。漏洞于 2026 年 6 月 10 日由奇安信 CERT 协同 watchTowr Labs 披露,6 月 12 日公开完整 PoC 与原理分析,6 月 18 日 Splunk 官方确认已被野外利用,同日 CISA 将其加入 KEV 目录,要求联邦机构在 6 月 21 日前完成修复。Splunk Enterprise 是企业安全运维体系中核心的 SIEM 平台,一旦失守,攻击者可篡改日志、关闭告警、窃取所有日志数据并以此为跳板横向移动。

技术细节

受影响产品

  • Splunk Enterprise 10.0.0 ~ 10.0.6:升级到 10.0.7
  • Splunk Enterprise 10.2.0 ~ 10.2.3:升级到 10.2.4
  • Splunk Enterprise 10.4.0+:不受影响
  • Splunk Enterprise 9.4.x 及更早:不受影响
  • Splunk Cloud Platform:不受影响

漏洞原理

Splunk Enterprise 10.x 引入 PostgreSQL Sidecar 服务,用以支撑 Edge Processor、OpAmp、SPL2 等数据管道。Sidecar 监听在 127.0.0.1:5435,看似仅本机可达,但 Splunk Web 的 splunkd/__raw 反向代理路径未对其进行身份认证校验,可由公网经 Splunk Web 转发至 Sidecar。攻击者通过精心构造的 HTTP POST 请求调用 /v1/postgres/recovery/backup/v1/postgres/recovery/restore 接口,配合路径遍历与 PostgreSQL 连接字符串注入,最终实现未授权 RCE。具体触发链路:

  1. 匿名访问 /en-US/splunkd/__raw/v1/postgres/recovery/backup,请求携带 Authorization: Basic Og==(空用户名空密码)
  2. backupFile 参数中嵌入路径遍历(如 ../../../../../../tmp/poc),实现在任意可写位置创建/截断文件
  3. 通过 PostgreSQL 连接串注入控制 pg_dump/pg_restore 的目标主机
  4. 利用 passfile 参数读取本地 .pgpass,获得凭据回传
  5. 在 Splunk 进程账户下执行任意代码

PoC 与野外利用

watchTowr Labs 在 6 月 12 日发布 watchTowr DAG 检测工具:以 HTTP 400 响应识别未修补实例,HTTP 401 表示已修复。奇安信鹰图测绘显示全球暴露资产约 30661 个,关联 IP 23296 个,AWS 云部署因默认启用 PostgreSQL Sidecar 成为重灾区。Splunk 公告(SVD-2026-0603)将威胁等级标注为 Critical,提示 AWS 部署用户需立即检查。

影响评估

该漏洞具备未授权、网络可达、无需用户交互三大要素,攻击链稳定可批量复制。利用后获得 splunk 用户权限,可读取所有索引数据(包括身份验证日志、检测规则、调查历史),篡改审计、屏蔽告警,对依赖 Splunk 进行威胁检测的安全运营中心(SOC)造成毁灭性打击。MITRE ATT&CK 对应 T1190(面向公网应用攻击)、T1059(命令与脚本解释器)、T1569.002(系统服务执行)、T1105(工具传输)。

修复建议

立即补丁

  • 升级到 Splunk Enterprise 10.0.7 / 10.2.4 / 10.4.0+,官方下载地址 https://www.splunk.com/zh_cn/download.html
  • 无法立即升级的实例:在 $SPLUNK_HOME/etc/system/local/server.conf 中添加 [postgres] disabled = true 并重启(仅适用于未使用 Edge Processor、OpAmp、SPL2 的环境)

缓解与加固

  • 将 Splunk Web 默认 8000 端口置于零信任接入层之后,禁止公网直接访问
  • 在防火墙/WAF 上拦截指向 splunkd/__raw 路径的可疑 POST 请求
  • 检查 /tmp/var/tmp 下异常文件创建与 .pgpass 文件读取日志
  • 审查 Splunk 进程账户的异常连接与命令执行,对照 ATT&CK T1105 检查可疑下载载荷
  • 如确认已被入侵,立即轮换所有管理员账号、检查检测规则是否被篡改、重建可能受影响的索引 bucket

参考来源