Skip to content

chore(security): v3 — track upstream-blocked rand 0.8.6 transitive dependency #144

Open

Description

@pacphi

Summary

Tracks transitive Rust dependency vulnerabilities in v3 that cannot be resolved at the project level without upstream releases.

Status (2026-05-14): The rustls-webpki / AWS SDK portion of this issue has been resolved upstream. The rand 0.8.6 portion remains tracked here.


rustls-webpki 0.101.7 (Dependabot alerts #19, #20) — ✅ RESOLVED

CVEs: webpki name constraint issues (fixed in 0.103.12+)

Original root cause: AWS SDK shipped rustls 0.21 support via hyper-rustls 0.24.2 for hyper 0.14 backward compat, which pulled rustls-webpki 0.101.7.

Resolution: The AWS SDK has since dropped the rustls 0.21 compat path.
Current v3/Cargo.lock carries:

  • hyper-rustls 0.27.9 (was 0.24.2)

  • rustls-webpki 0.103.13 only (the 0.101.7 instance is no longer present)

  • Re-check once AWS SDK releases a version that drops hyper 0.14 / rustls 0.21 compat — done; resolved in v3 dependency tree


rand 0.8.6 (transitive only — no separate Dependabot alert) — ⏳ STILL BLOCKED

CVE: Unsoundness with custom logger using rand::rng() (affects 0.9.x / 0.10.x series; 0.8.x is a separate semver series)

Root cause: Several upstream crates still depend on rand 0.8:

Crate Version Status
age 0.11.3 No 0.12 release yet upgrading to rand 0.9+
tera 1.20.1 Latest 1.x still uses rand 0.8
phf_generator 0.11.3 Latest 0.11 still uses rand 0.8

The rand 0.9.x and 0.10.x instances have been updated to 0.9.4 and 0.10.1 respectively (resolving alerts #16 and #17). The 0.8.6 presence is collateral from these upstream crates.

Workaround: None. Monitor upstream for new major versions of age, tera, and/or phf.


Action needed

  • Re-check once age, tera, and/or phf release versions using rand 0.9+

Related

Activity

  1. changed the title [-]chore(security): track upstream-blocked transitive dependency vulnerabilities[/-] [+]chore(security): v3 — track upstream-blocked transitive dependency vulnerabilities[/+] on Apr 30, 2026
  2. pacphi commented on Apr 30, 2026

    @pacphi
    OwnerAuthor

    Re-homing this issue to scope: it covers v3 only (Rustls-webpki 0.101.7 + rand 0.8.6 in v3/Cargo.lock).

    The rand 0.8.6 portion also affects v4 via the same upstream crates (age, tera, phf_generator). v4 already has rustls-webpki 0.103.13 only, so the rustls-webpki concern is v3-only.

    Sibling issue for v4: #281

  3. changed the title [-]chore(security): v3 — track upstream-blocked transitive dependency vulnerabilities[/-] [+]chore(security): v3 — track upstream-blocked rand 0.8.6 transitive dependency[/+] on May 14, 2026
  4. pacphi commented on May 14, 2026

    @pacphi
    OwnerAuthor

    Parent epic: #317 — epic(v3): v3 maintenance & security tracking

  5. pacphi commented on May 30, 2026

    @pacphi
    OwnerAuthor

    rand 0.8.6 advisory — v3 status check (2026-05-30)

    Still blocked. No PR opened.

    Findings

    Crate Baseline Current rand dep Released
    age 0.11.2 0.11.3 "0.8" ❌ 2026-04-22
    age-core 0.11.0 0.11.0 (inherits from age) —
    tera 1.20.1 1.20.1 not in workspace tree —
    phf_generator 0.11.3 0.13.1 dropped rand → fastrand 2.1 ✅ 2025-08-23

    What changed

    • age 0.11.3 shipped April 22 (newer than the 0.11.2 baseline), but its Cargo.toml still contains rand = "0.8". The v3 workspace Cargo.lock confirms rand v0.8.6 is pulled in via age 0.11.3 and age-core 0.11.0.
    • phf_generator 0.13.1 no longer uses rand at all (switched to fastrand), but it isn't present in the v3 dependency tree — so this doesn't affect v3.
    • tera hasn't moved; not a factor here either.

    Next watch point

    age is the sole remaining blocker for v3. Watch the str4d/rage repo for a release that bumps rand to >= 0.9. The relevant tracking issue is str4d/rage#558 (rand 0.9 migration).


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    branch:v3Scoped to v3 (Rust)dependenciesPull requests that update a dependency file

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions