Agent Dart 缺失证书验证检查 · CVE-2024-48915 · GitHub 安全公告数据库
漏洞详情
包信息
- 包管理器: Pub
- 包名:
agent_dart - 受影响版本:
<= 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/AstroxNetwork/agent_dart/blob/f50971dfae3f536c1720f0084f28afbcf5d99cb5/lib/agent/certificate.dart#L162
- https://github.com/AstroxNetwork/agent_dart/blob/main/lib/agent/certificate.dart
时间线
- 报告者: eduarddfinity
- 修复开发者: AlexV525
- 发布至 AstroxNetwork/agent_dart: 2024年10月15日
- 由国家漏洞数据库发布: 2024年10月15日
- 发布至 GitHub 安全公告数据库: 2024年10月15日
- 已审核: 2024年10月15日
- 最后更新: 2025年1月23日
严重性
- 等级: 高
- CVSS 总体评分: 7.6 / 10
CVSS v4 基础指标
- 攻击向量: 网络
- 攻击复杂度: 高
- 攻击要求: 无
- 所需权限: 无
- 用户交互: 被动
- 脆弱系统影响指标:
- 机密性: 高
- 完整性: 高
- 可用性: 无
- 后续系统影响指标:
- 机密性: 无
- 完整性: 无
- 可用性: 无
- 向量字符串: 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% (第21百分位)
- 说明: 此分数估计了该漏洞在未来30天内被利用的概率。数据由 FIRST 提供。
弱点
- CWE-295: 不当的证书验证 - 产品未验证或错误地验证证书。
- CWE-347: 加密签名验证不当 - 产品未验证或错误地验证数据的加密签名。
标识符
- CVE ID: CVE-2024-48915
- GHSA ID: GHSA-fmj7-7gfw-64pg
源代码
- AstroxNetwork/agent_dart
致谢
- 报告者: eduarddfinity
- 修复开发者: AlexV525