Skip to content

build(deps): openssl 0.10.80 for three RustSec advisories; rmcp advisory assessed not applicable - #1220

Merged
avrabe merged 1 commit into
mainfrom
fix/advisories-openssl-rmcp
Nov 10, 2026
Merged

avrabe merged 1 commit into
mainfrom
fix/advisories-openssl-rmcp

Conversation

@avrabe

@avrabe avrabe commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

Red-main fix. Cargo Deny, a CI Gate need, fails on main and on every PR (e.g. #1218) because of four advisories published against existing lockfiles.

advisory crate decision
RUSTSEC-2026-0474 openssl 0.10.78 (X509Ref::ocsp_responders non-UTF-8 &str) fixed: openssl 0.10.80
RUSTSEC-2026-0476 openssl (AES key-wrap-with-padding overflow, cipher_update) fixed: 0.10.80
RUSTSEC-2026-0477 openssl (same, cipher_update_inplace) fixed: 0.10.80
RUSTSEC-2026-0462 rmcp 1.5.0 (unbounded body buffering in Streamable HTTP clients) assessed not applicable: ignored with reason

openssl is pinned to exactly 0.10.80 (openssl-sys 0.9.116), the newest versions that Bytecode Alliance's imported cargo-vet audits cover. cargo vet added exactly those four imported audits (0.10.78 → 0.10.80, 0.9.114 → 0.9.116) to imports.lock, so no unreviewed code enters. 0.10.82 would add about 1400 unaudited lines and no further fix.

rmcp: the fix is rmcp 3.9.0, two major versions away, under rivet's MCP server. The advisory is confined to the transport-streamable-http-client-reqwest / -unix-socket features, and rivet enables neither. The mcp feature takes server, transport-io, macros and transport-streamable-http-server; the dev-dependency takes client and transport-child-process. I measured this with cargo tree -e features -i rmcp. deny.toml records the assessment, why not to upgrade now, the re-check trigger (enabling any streamable-HTTP client feature), and a 2027-02-01 date. The real fix is the rmcp 3.x migration. The audit step gets the matching --ignore, as its comment requires.

Note: the wohl session's report named crypto-bigint (RUSTSEC-2026-0387) and domain (RUSTSEC-2026-0310). Neither appears in rivet's cargo-deny output.

Local checks:

  • cargo deny check advisories bans licenses sources (0.20.2, CI's version): all ok.
  • cargo audit --ignore RUSTSEC-2026-0462: exits 0, with the same 7 allowed warnings as before.
  • cargo vet --locked: succeeds.
  • actionlint: clean.

On macOS, native-tls uses Security.framework, so only Linux CI builds openssl itself.

🤖 Generated with Claude Code

https://claude.ai/code/session_015HMQUV3u86jN2hmCtXNTc9

…ory assessed not applicable

Cargo Deny (a CI Gate need) has been red on main and on every PR since
four new advisories were published:

- RUSTSEC-2026-0474, -0476, -0477 (openssl 0.10.78: non-UTF-8 &str from
  X509Ref::ocsp_responders; AES key-wrap-with-padding buffer overflows in
  cipher_update and cipher_update_inplace). Fixed in 0.10.80. openssl is
  pinned to exactly 0.10.80 and openssl-sys to 0.9.116, the newest versions
  Bytecode Alliance's imported cargo-vet audits cover (0.10.78 -> 0.10.80,
  0.9.114 -> 0.9.116); `cargo vet` refreshed imports.lock with those four
  audits and nothing else, so no unreviewed code enters. 0.10.82 would add
  ~1400 unaudited lines for no further fix.

- RUSTSEC-2026-0462 (rmcp 1.5.0: unbounded body buffering in the
  Streamable HTTP clients). Fixed only in rmcp 3.9.0, two major versions
  away. rivet enables neither affected feature
  (transport-streamable-http-client-reqwest / -unix-socket); measured with
  `cargo tree -e features -i rmcp`. Ignored in deny.toml with the
  assessment, the reason not to upgrade now, a re-check trigger and a
  2027-02-01 date, and in the audit step alongside it, as that step's
  comment requires.

Confirmed locally: cargo deny check advisories bans licenses sources (0.20.2,
CI's version) all ok; cargo audit --ignore RUSTSEC-2026-0462 exits 0 (7
allowed warnings, unchanged); cargo vet --locked succeeds; actionlint clean.
On macOS native-tls uses Security.framework, so the openssl build itself is
exercised only by Linux CI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015HMQUV3u86jN2hmCtXNTc9
@avrabe
avrabe enabled auto-merge November 10, 2026 20:09
@avrabe
avrabe added this pull request to the merge queue Nov 10, 2026
@codecov

codecov Bot commented Nov 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Merged via the queue into main with commit b33c7b8 Nov 10, 2026
35 checks passed
@avrabe
avrabe deleted the fix/advisories-openssl-rmcp branch November 10, 2026 22:48
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.

1 participant