Skip to content

fix(deps): bump rustls to 0.23.45 for RUSTSEC-2026-0285 - #130

Merged
github-actions[bot] merged 4 commits into
mainfrom
fix/rustls-rustsec-2026-0285
Sep 28, 2026
Merged

github-actions[bot] merged 4 commits into
mainfrom
fix/rustls-rustsec-2026-0285

Conversation

@brujack

@brujack brujack commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Bump rustls 0.23.40 → 0.23.45 in Cargo.lock (RUSTSEC-2026-0285: TLS 1.3 handshake messages accepted across encryption-level boundaries). etch is a TLS client on this path (octocrab, reqwest, gix transport, update-informer). The scheduled cargo-audit has failed since 2026-09-21. The blocking cargo deny check advisories PR job also fails on main.
  • cargo update -p rustls alone stops at 0.23.43, which is still vulnerable, because 0.23.44+ needs a newer aws-lc-rs. --precise 0.23.45 also moves rustls-webpki 0.103.15, aws-lc-rs 1.18.1 and aws-lc-sys 0.45.0. There are no new packages.
  • Fix a test that has been failing on main: test_ci_python_version_matches_the_platform_invariance_argument searched CLAUDE.md for reasoning that 5110f6b moved to ai-config knowledge. It is replaced by a direct assertion that ci.yml pins Python below 3.14, which keeps the compression.zstd test skipped while the Python coverage floor stands.
  • Backlog: fuzz/Cargo.lock still pins rustls 0.23.40, and nothing scans that lockfile.

Test Plan

  • cargo deny check advisories: advisories ok (main: FAILED, RUSTSEC-2026-0285)
  • make test: 1129 Rust + 64 pytest pass
  • New assertion mutation-checked: pins 3.9 / 3.13 / 3.13.1 pass; 3.14 / 3.14.2 fail
  • CI cargo-audit job green (local cargo audit could not fetch its advisory DB)
  • Coverage: floors unchanged (Rust 81 / Python 87). Lockfile and test-only change; no CI coverage figure yet.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JpgnFhAKUzzmpqSKqmDiZz

brujack and others added 4 commits September 28, 2026 11:57
rustls 0.23.40 accepts TLS 1.3 handshake messages across encryption
level boundaries. etch is a TLS client on this path (octocrab,
reqwest, gix transport, update-informer).

`cargo update -p rustls` stops at 0.23.43: 0.23.44+ needs a newer
aws-lc-rs, which plain -p keeps locked. `--precise 0.23.45` also
moves rustls-webpki 0.103.15, aws-lc-rs 1.18.1, aws-lc-sys 0.45.0.

Scheduled cargo-audit has failed since 2026-09-21; the blocking
cargo-deny PR job failed on main for the same advisory.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpgnFhAKUzzmpqSKqmDiZz
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpgnFhAKUzzmpqSKqmDiZz
5110f6b moved the platform-invariance reasoning to ai-config
knowledge, so the regex over CLAUDE.md matched nothing and main's
make test has failed since. The invariant that matters is that CI
pins below 3.14, keeping the compression.zstd test skipped while
the Python coverage floor stands; assert that against ci.yml.

Mutation-checked: pin set to 3.14 turns the test red.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpgnFhAKUzzmpqSKqmDiZz
A "3.13.1" pin failed with "expected one python-version pin, found []",
naming the wrong cause. Match an optional patch component; compare on
major.minor only.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpgnFhAKUzzmpqSKqmDiZz
@github-actions
github-actions Bot merged commit f1be54d into main Sep 28, 2026
12 checks passed
@brujack
brujack deleted the fix/rustls-rustsec-2026-0285 branch September 28, 2026 16:32
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