Skip to content

Ignore new rustls advisories pending FIPS-certified aws-lc-rs - #185

Merged
lucaspimentel merged 3 commits into
mainfrom
lpimentel/rustls-audit-ignores
Oct 15, 2026
Merged

lucaspimentel merged 3 commits into
mainfrom
lpimentel/rustls-audit-ignores

Conversation

@lucaspimentel

Copy link
Copy Markdown
Member

What does this PR do?

Adds RUSTSEC-2026-0346, RUSTSEC-2026-0348, and RUSTSEC-2026-0349 to the cargo-audit ignore list in .cargo/audit.toml, alongside the existing RUSTSEC-2026-0285 ignore, each with a justification comment.

Motivation

cargo-audit started failing CI on three new rustls advisories (all published 2026-10-14, all fixed in rustls >= 0.23.46):

  • RUSTSEC-2026-0348 (Brotli cert-decompression DoS): not applicable, the brotli feature is not enabled (default-features = false in crates/datadog-fips).
  • RUSTSEC-2026-0349 (ServerHello downgrade): only weakens post-quantum confidentiality; no key compromise or auth bypass, and behavior depends on server policy.
  • RUSTSEC-2026-0346 (derived Debug impls expose TLS session secrets): only affects custom ClientSessionStore implementations that log Debug output.

The fixed rustls 0.23.46 cannot be taken: every rustls version from 0.23.45 onward requires aws-lc-rs >= 1.18, which pulls in AWS-LC-FIPS 4.x, still pending FIPS 140-3 certification. This is the same tradeoff already accepted for RUSTSEC-2026-0285 in #173. The ignores carry a removal note once a FIPS-certified aws-lc-rs is available.

Additional Notes

main has the same exposure (rustls 0.23.44 < 0.23.46), so its Audit job will fail on these advisories too until this lands.

Describe how to test/QA your changes

cargo audit --file Cargo.lock passes locally with only the two allowed informational warnings (unmaintained unsafe-libyaml, unsound lru). CI's Audit job should go green.

cargo-audit fails on RUSTSEC-2026-0346/0348/0349, which are fixed in
rustls >= 0.23.46. Every rustls version from 0.23.45 onward requires
aws-lc-rs >= 1.18, which pulls in AWS-LC-FIPS 4.x, still pending FIPS
140-3 certification, so the pinned versions cannot be bumped yet.

Each ignored advisory is practically mitigated: the brotli feature is
disabled, 0349 only weakens post-quantum confidentiality, and 0346
requires a custom session store that logs Debug output. Ignores are
commented with justifications and a removal note.
@lucaspimentel
lucaspimentel marked this pull request as ready for review October 15, 2026 17:33
@lucaspimentel
lucaspimentel requested review from a team as code owners October 15, 2026 17:33
@lucaspimentel
lucaspimentel requested review from kathiehuang and litianningdatadog and a balanced review from Copilot and removed request for a team and Copilot October 15, 2026 17:33
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-15T17:36:12.342940Z 448ae6b Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Comment thread .cargo/audit.toml Outdated
Comment thread .cargo/audit.toml Outdated
Co-authored-by: Yiming Luo <10097700+lym953@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 15, 2026 17:59
Co-authored-by: Yiming Luo <10097700+lym953@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Human security review is needed to accept the residual TLS risks while the FIPS dependency constraint remains.

0 open findings

What changed in this PR

Temporarily extends cargo-audit exceptions while the FIPS backend constraint prevents upgrading rustls, continuing the approach from #173.

Changes:

  • Adds three advisory ignores alongside RUSTSEC-2026-0285.
  • Documents exposure rationale and when to remove the ignores.
File Description
.cargo/​audit.toml Adds rustls advisory waivers and justification comments.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@lucaspimentel

Copy link
Copy Markdown
Member Author

@DataDog review

@datadog-datadog-prod-us1-2 datadog-datadog-prod-us1-2 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: PASS

More details

The lockfile confirms Brotli is absent, supporting the decompression-advisory exception. The audit configuration parses successfully, though cargo-audit execution remains unverified.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit 2612ebd

@lucaspimentel
lucaspimentel merged commit 19270f5 into main Oct 15, 2026
27 checks passed
@lucaspimentel
lucaspimentel deleted the lpimentel/rustls-audit-ignores branch October 15, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants