Agent Dart 缺少证书验证检查 · CVE-2024-48915 · GitHub Advisory Database
漏洞详情
包管理器: pub 包名称: agent_dart (Pub) 受影响版本: <= 1.0.0-dev.28 已修复版本: 1.0.0-dev.29
漏洞描述
已发现证书验证(位于 lib/agent/certificate.dart 中)存在两个问题:
- 在委派验证期间(
_checkDelegation函数中),未验证canister_ranges。 不检查canister_ranges的影响是,一个子网可以代表另一个子网签署容器响应。您可以在此处查看 IC 规范中的更多详细信息。作为参考,您可以查看 agent-rs 中是如何实现的。 - 未验证证书的时间戳,即
/time路径,这意味着证书实际上没有过期时间。 IC 规范没有指定过期时间,但给出了一些建议,引述如下:“对于 R.signatures 和证书 Cert 中的时间戳,合理的过期时间是 5 分钟(类似于 IC 主网强制执行的最大允许入口过期时间)。委派至少需要一周的过期时间,因为 IC 主网仅在副本升级(通常每周发生一次)后才刷新委派”。作为参考,您可以查看 agent-rs 中是如何实现的(此处和此处)。
此外,似乎未实现副本签名查询功能。
参考信息
- GHSA-fmj7-7gfw-64pg
- AstroxNetwork/agent_dart@0d20068
- https://nvd.nist.gov/vuln/detail/CVE-2024-48915
- https://github.com/Astro xNetwork/agent_dart/blob/f50971dfae3f536c1720f0084f28afbcf5d99cb5/lib/agent/certificate.dart#L162
- https://github.com/Astro xNetwork/agent_dart/blob/main/lib/agent/certificate.dart
发布时间线
- AlexV525 于 2024年10月15日 发布至 AstroxNetwork/agent_dart
- 国家漏洞数据库 (NVD) 于 2024年10月15日 发布
- GitHub Advisory Database 于 2024年10月15日 发布
- 已审查 于 2024年10月15日
- 最后更新 于 2025年1月23日
严重性
高 CVSS 总体评分: 7.6 / 10
CVSS v4 基础指标
攻击向量 (AV): 网络 (N) 攻击复杂度 (AC): 高 (H) 攻击要求 (AT): 无 (N) 所需权限 (PR): 无 (N) 用户交互 (UI): 被动 (P)
漏洞系统影响指标: 机密性 (VC): 高 (H) 完整性 (VI): 高 (H) 可用性 (VA): 无 (N)
后续系统影响指标: 机密性 (SC): 无 (N) 完整性 (SI): 无 (N) 可用性 (SA): 无 (N)
CVSS:4.0 向量: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
EPSS 评分
0.066% (第20百分位) 此分数估计了此漏洞在未来 30 天内被利用的概率。数据由 FIRST 提供。
弱点
- CWE-295: 证书验证不当
- 产品未验证或错误验证证书。
- CWE-347: 加密签名验证不当
- 产品未验证或错误验证数据的加密签名。
标识符
- CVE ID: CVE-2024-48915
- GHSA ID: GHSA-fmj7-7gfw-64pg
源代码
AstroxNetwork/agent_dart
致谢
报告者: eduarddfinity 修复开发者: AlexV525