You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrono 0.4依赖旧time crate触发漏洞,能否忽略cargo audit告警?

关于Chrono 0.4.22依赖time 0.1.44的漏洞告警处理建议

问题背景

我正在用Rust开发应用,使用带Chrono(0.4.22)特性的PostgreSQL客户端连接池做日期时间计算,Cargo.toml配置如下:

[dependencies]
postgres = {version = "0.19", features = ["with-chrono-0_4"]}
chrono = "0.4"
chrono-tz = "0.6"

运行cargo audit后触发RUSTSEC-2020-0071漏洞告警,原因是Chrono依赖旧版本time crate(0.1.44):

# cargo audit
    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
      Loaded 458 security advisories (from /root/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (138 crate dependencies)
Crate:     time
Version:   0.1.44
Title:     Potential segfault in the time crate
Date:      2020-11-18
ID:        RUSTSEC-2020-0071
URL:       https://rustsec.org/advisories/RUSTSEC-2020-0071
Solution:  Upgrade to >=0.2.23

该漏洞CVSS评分为6.2(中等)。

官方相关说明

在Chrono项目的官方讨论中提到:

出于兼容性原因,此版本尚未移除time 0.1依赖,但chrono 0.4.20并未使用time 0.1.x版本中的脆弱部分。在未来的0.5版本中,我们将移除time依赖。

用户疑问

  1. 这是否意味着可以安全忽略cargo audit的这条告警?
  2. 执行cargo update后,chrono已升级到0.4.22,但仍依赖time 0.1.44,能否将上述官方说明作为审计报告的依据?

处理建议

  • 可以安全忽略这条告警:Chrono 0.4.20及后续版本(包括你使用的0.4.22)并未调用time 0.1.44中存在漏洞的代码路径,不会受到该segfault漏洞的影响。
  • 上述官方说明可作为审计报告的依据:这是Chrono维护团队给出的明确结论,直接证明了当前使用的Chrono版本不存在该漏洞的利用风险。

额外注意:

  • 后续升级到Chrono 0.5版本时,time 0.1依赖会被移除,届时这条告警会自动消失。
  • 若后续你的代码中直接引入了time 0.1.44的使用,需要重新评估风险。

内容的提问来源于stack exchange,提问作者Code4R7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:55:20