jabir-dev/CVE-2026-ThreemaWeb-TURNCredentialLeak

GitHub: jabir-dev/CVE-2026-ThreemaWeb-TURNCredentialLeak

Threema Web客户端硬编码凭证漏洞利用工具

Stars: 0 | Forks: 0

# CVE-2026-XXXXX: Threema Web 硬编码 TURN 服务器凭证 ## 概述 | 字段 | 值 | |-------|-------| | **产品** | Threema Web | | **供应商** | Threema GmbH (threema-ch) | | **版本** | 所有版本至 2.6.4 | | **类型** | 硬编码凭证 (CWE-798) | | **CVSS 4.0** | 6.9 中等 | | **影响** | 服务器滥用、流量拦截、拒绝服务 | | **仓库** | https://github.com/threema-ch/threema-web | ## 漏洞 TURN 服务器认证凭证在客户端源代码 `src/userconfig.js` 行 41 处硬编码: ``` ICE_SERVERS: [{ urls: [ 'turn:ds-turn-{prefix}.threema.ch:443?transport=udp', 'turn:ds-turn-{prefix}.threema.ch:443?transport=tcp', 'turns:ds-turn-{prefix}.threema.ch:443', ], username: 'threema-angular', credential: 'Uv0LcCq3kyx6EiRwQW5jVigkhzbp70CjN2CJqzmRxG3UGIdJHSJV6tpo7Gj7YnGB', }], ``` 这些凭证是: - 在公共 GitHub 仓库中可见 - 嵌入到每个 Threema Web 客户端部署中 - 静态的(从未轮换) - 在所有用户之间共享 ## 影响 ### 1. TURN 服务器滥用 任何人都可以免费使用 Threema 的 TURN 基础设施作为中继: - 在 Threema 的费用下窃取带宽 - 通过 Threema 的服务器进行未经授权的 WebRTC 连接 ### 2. 流量拦截 结合 DNS 污染或中间人攻击: - 假冒的 TURN 服务器接受相同的凭证 - Threema Web 语音/视频通话通过攻击者路由 - 实时监听的可能性 ### 3. 拒绝服务 - 大量连接耗尽 TURN 服务器容量 - 合法用户无法建立 WebRTC 连接 - 所有用户的 Threema Web 语音/视频通话失败 ## 建议的修复方法 实现会话级 TURN 凭证提供(RFC 5766): ``` // Backend: Generate time-limited credentials const timestamp = Math.floor(Date.now() / 1000) + 86400; const username = `${timestamp}:${userId}`; const credential = crypto.createHmac('sha1', TURN_SECRET) .update(username).digest('base64'); // Client: Fetch credentials from authenticated API const response = await fetch('/api/turn-credentials'); const { username, credential, ttl } = await response.json(); ``` ## 使用 ``` node exploit.js ``` ## 免责声明 仅限 **授权安全测试** 和 **教育目的**。 ## 许可证 MIT
标签:CVE, CVSS评分, CWE-798, DNS投毒, GitHub Advanced Security, MITM代理, Threema Web, TLS抓取, TURN服务器, WebRTC, 中间人攻击, 反取证, 威胁模拟, 安全加固, 安全响应, 安全培训, 安全意识, 安全最佳实践, 安全测试, 安全漏洞, 安全漏洞管理, 安全策略, 安全评估, 安全配置, 实时通信, 恶意代码, 恶意软件, 拒绝服务攻击, 提示词设计, 攻击性安全, 数字签名, 数据可视化, 服务器滥用, 流量拦截, 漏洞修复, 硬编码凭证, 网络安全, 网络安全培训, 自定义脚本, 软件安全, 通信安全, 隐私保护