返回首页

CVE-2026-20253: Splunk Enterprise Pre-Auth RCE via PostgreSQL Sidecar

-2026-20253:Splunk企业版预认证远程代码执行漏洞——5个HTTP请求攻陷整个SIEM平台

2026年6月18日,将CVE-2026-20253加入已知被利用漏洞目录()。这个CVSS 9.8分的致命漏洞存在于Splunk 的PostgreSQL Sidecar服务中,攻击者无需任何认证,仅通过5个HTTP请求即可实现任意文件写入和远程代码执行。watchTowr Labs于6月13日公开了完整利用链。

漏洞概述与影响范围

section

CVE-2026-20253是Splunk Enterprise中一个预认证远程代码执行漏洞,CVSS评分达到9.8(满分10分)。该漏洞的根本原因是Splunk的PostgreSQL Sidecar服务端点缺少认证控制,任何能够访问网络的用户都可以在无需凭据的情况下调用文件操作。

Splunk作为企业级SIEM(安全信息和事件管理)平台,广泛用于收集、索引、搜索和分析来自整个IT基础设施的机器生成数据。全球超过15,000家企业使用Splunk进行安全监控、日志分析和合规审计。这意味着一旦该漏洞被利用,攻击者不仅能获取对安全数据的未授权访问,还能修改Splunk配置和日志、窃取凭据、建立持久化、进行横向移动,最终完全控制受影响的Splunk环境。

根据Shodan和Censys的扫描数据,全球有超过12,000个Splunk实例暴露在公网上,其中约35%运行着受影响的版本。Resecurity的安全研究人员已确认该漏洞正在被积极利用,攻击活动从6月中旬开始显著增加。

技术原理:PostgreSQL Sidecar的致命缺陷

section

Splunk Enterprise使用PostgreSQL作为其内部数据库,通过一个名为"Sidecar"的服务端点来管理数据库操作。这个Sidecar端点设计初衷是用于Splunk内部组件之间的通信,但存在严重的安全设计缺陷。

漏洞链由多个安全弱点组成:首先是PostgreSQL Sidecar服务端点缺少认证检查(CWE-306),其次是不充分的授权控制(CWE-862),再加上路径遍历漏洞(CWE-22),以及对用户提供的PostgreSQL参数的不安全处理(CWE-88)。这些弱点的组合使得未认证攻击者可以滥用暴露的备份和恢复端点,在任意位置创建文件、强制Splunk连接到攻击者控制的PostgreSQL服务器、并生成恶意数据库转储。

watchTowr Labs的研究人员在6月13日发布的分析中详细描述了利用链:攻击者通过利用系统上存储的可信PostgreSQL凭据,并滥用恢复功能,可以执行攻击者控制的操作并覆盖Splunk使用的文件。整个攻击过程仅需5个HTTP请求,且所有请求都不需要任何认证信息。

受影响版本与修复方案

section

产品 受影响版本 修复版本 CVSS
Splunk Enterprise 9.3.x (低于9.3.3) 9.3.3 9.8
Splunk Enterprise 9.2.x (低于9.2.6) 9.2.6 9.8
Splunk Enterprise 9.1.x (低于9.1.9) 9.1.9 9.8
Splunk Platform 所有版本 由Splunk托管更新 9.8

Splunk已于2026年6月11日发布安全公告SVD-2026-0603并提供补丁。CISA根据BOD 22-01指令,要求联邦机构在2026年7月9日前完成修复。

漏洞检测方法

section

安全团队可以通过以下方式检测是否受到CVE-2026-20253的影响:

# 检查Splunk版本
curl -sk https://<splunk-host>:8089/services/server/info/server-info \
  -H "Authorization: Bearer <token>" | grep -i version

# 检查PostgreSQL Sidecar端点是否暴露
curl -sk https://<splunk-host>:8089/servicesNS/admin/splunk_management_console/storage/collections/config
# 如果返回200且包含配置信息,则端点暴露

# 检查是否有利用痕迹(异常文件创建)
find /opt/splunk -newer /opt/splunk/etc/splunk-launch.conf -name "*.conf" -mtime -7
#!/usr/bin/env python3
"""CVE-2026-20253 Splunk Sidecar Exposure Scanner"""
import requests
import sys
import urllib3
urllib3.disable_warnings()

def check_exposure(host, port=8089):
    endpoints = [
        "/servicesNS/admin/splunk_management_console/storage/collections/config",
        "/servicesNS/nobody/search/storage/collections/config",
        "/services/server/info/server-info"
    ]
    for ep in endpoints:
        try:
            r = requests.get(f"https://{host}:{port}{ep}", verify=False, timeout=10)
            if r.status_code == 200:
                print(f"[VULN] Endpoint exposed: {ep} (HTTP {r.status_code})")
            else:
                print(f"[OK] Endpoint blocked: {ep} (HTTP {r.status_code})")
        except Exception as e:
            print(f"[ERR] {ep}: {e}")

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: python3 check_splunk.py <host> [port]")
        sys.exit(1)
    host = sys.argv[1]
    port = int(sys.argv[2]) if len(sys.argv) > 2 else 8089
    check_exposure(host, port)

紧急缓解措施

section

如果暂时无法打补丁,建议立即采取以下缓解措施:

第一优先级:网络隔离

  • 限制对Splunk管理端口(默认8089)的访问,仅允许可信IP
  • 在防火墙规则中阻止外部网络对Sidecar端点的访问
  • 确保Splunk实例不直接暴露在公网

第二优先级:配置加固

  • 禁用不需要的PostgreSQL Sidecar功能
  • 启用Splunk的访问控制列表(ACL)限制
  • 审计Splunk用户权限,遵循最小权限原则
# 临时缓解:通过iptables限制8089端口访问
iptables -A INPUT -p tcp --dport 8089 -s <trusted_ip_range> -j ACCEPT
iptables -A INPUT -p tcp --dport 8089 -j DROP

# 检查当前8089端口监听状态
netstat -tlnp | grep 8089
ss -tlnp | grep 8089

企业安全影响分析

Splunk在企业安全架构中扮演着核心角色——它是安全运营中心(SOC)的"大脑",收集来自防火墙、EDR、IDS/IPS等所有安全设备的遥测数据。攻陷Splunk意味着攻击者可以:

  1. 窃取安全情报:访问所有安全日志和告警数据,了解企业的防御布局
  2. 篡改审计日志:删除或修改攻击痕迹,实现"无痕入侵"
  3. 获取凭据:Splunk通常拥有对大量系统的读取权限,这些凭据可以用于横向移动
  4. 建立持久化:通过修改Splunk配置和搜索查询,在系统中植入后门
  5. 供应链攻击:如果Splunk被托管服务商使用,攻击可以传导到所有客户

IBM《2026年数据泄露成本报告》显示,涉及SIEM平台的安全事件平均响应成本比普通事件高出47%,因为攻击者通常会利用SIEM的特权位置进行深度渗透。

与CVE-2026-20251的关联

CVE-2026-20253并非孤立事件。Splunk同期还披露了CVE-2026-20251(CVSS 8.0),这是一个低权限用户可以通过jsonpickle反序列化实现代码执行的漏洞。两个漏洞可以组合使用:先通过CVE-2026-20251获取低权限访问,再利用CVE-2026-20253提升至完全控制。

kkm-mako.com的安全研究人员指出,这两个漏洞的组合使得"服务器上的文件可以被创建或销毁而无需登录,服务器可以通过低权限账户的任意代码执行被劫持"。

行业响应与建议

Splunk已发布官方安全公告SVD-2026-0603,强烈建议所有用户立即升级。对于使用Splunk Cloud Platform的客户,补丁已由Splunk团队自动部署。

CISA将该漏洞纳入KEV目录意味着联邦机构必须在30天内完成修复。对于私营企业,虽然没有法律强制要求,但考虑到该漏洞的利用难度极低(5个HTTP请求)且影响范围极大(完全控制SIEM平台),建议将其视为P0优先级进行处理。

安全团队应该:

  1. 立即检查Splunk版本并应用补丁
  2. 审计Splunk日志中是否有异常的Sidecar端点访问
  3. 检查Splunk服务器上是否有异常文件创建
  4. 考虑轮换Splunk服务账户的所有凭据
  5. 加强对Splunk管理接口的网络访问控制

数据来源与参考文献:

  1. Catalog. "CVE-2026-20253." cisa.gov, 2026-06-18.
  2. Resecurity. "CVE-2026-20253: Splunk Enterprise Pre-Authentication Remote Code Execution." resecurity.com, 2026-06-16.
  3. watchTowr Labs. "CVE-2026-20253: Splunk via PostgreSQL Sidecar — Five HTTP Requests." thecybersecguru.com, 2026-06-13.
  4. The Hacker . " Splunk Enterprise Flaw Lets Attackers Run Code Without Login." thehackernews.com, 2026-06.
  5. Deepwatch Labs. "CA-26-022: Unauthenticated Arbitrary File Creation in Splunk Enterprise." deepwatch.com, 2026-06.
  6. Splunk. "SVD-2026-0603 Advisory." splunk.com, 2026-06-11.

评论