Skip to content

chore(deps): sync the events lockfile, bump rustls for RUSTSEC-2026-0285 - #320

Merged
senzenn merged 1 commit into
mainfrom
fix/proc-macro-events-lockfile
Sep 16, 2026
Merged

senzenn merged 1 commit into
mainfrom
fix/proc-macro-events-lockfile

Conversation

@senzenn

@senzenn senzenn commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

tests/proc-macro-events is a separate workspace, so the version bump in #316 did not
reach its lockfile. It still pins the 13 in-repo shipstern-* crates at 0.9.0, and running
cargo test against that manifest rewrites them, leaving a dirty tree after a clean
checkout. CI does not pass --locked so it is not a hard failure, but the file is a cache
key in ci.yml, which the stale copy makes wrong.

13 packages, version field only. Nothing added, removed or upgraded.

The root lockfile also moves rustls 0.23.44 to 0.23.45. 0.23.44 is RUSTSEC-2026-0285: it
accepted TLS 1.3 handshake messages sent at the wrong encryption level when they followed
a key-changing message in the same record, which RFC 8446 section 5.1 requires be
rejected. The handshake transcript is still authenticated, so a network-position attacker
cannot use it to alter or complete a handshake, but cargo deny check advisories treats it
as a vulnerability and that gate runs in the fmt job on every PR.

That failure does not come from this branch. The same check fails on an untouched
origin/main, and the green tick this PR was carrying predates the advisory rather than
surviving it. rustls is already declared rustls = "^0.23" in the root manifest, so the
caret absorbs the patch and only the lockfile moves: four lines.

It stays its own PR because two stacks need the lockfile sync, and because the advisory
bump is easier to review on its own than buried inside a codama migration.

Tested: cargo test --tests --manifest-path tests/proc-macro-events/Cargo.toml passes and
the tree stays clean afterwards. cargo deny check advisories goes from FAILED to ok.

@senzenn
senzenn marked this pull request as ready for review September 13, 2026 12:08
`tests/proc-macro-events` is a separate workspace, so the version bump in #316
did not reach its lockfile. It still pins the 13 in-repo `shipstern-*` crates at
`0.9.0`, and running `cargo test --manifest-path tests/proc-macro-events/Cargo.toml`
rewrites them, leaving a dirty tree after a clean checkout.

The root lockfile moves rustls 0.23.44 to 0.23.45 in the same commit. 0.23.44 is
RUSTSEC-2026-0285: it accepted TLS 1.3 handshake messages sent at the wrong
encryption level when they followed a key-changing message in the same record,
which RFC 8446 section 5.1 requires be rejected. The transcript is still
authenticated, so a network-position attacker cannot alter or complete a handshake
with it, but `cargo deny check advisories` treats it as a vulnerability and that
gate runs in the fmt job on every PR.

Nothing in this stack caused it. The same check fails on an untouched origin/main,
and the green tick this branch was carrying predates the advisory rather than
surviving it. rustls is already declared `rustls = "^0.23"` in the root manifest,
so the caret absorbs the patch and only the lockfile moves: four lines.
@senzenn
senzenn force-pushed the fix/proc-macro-events-lockfile branch from 6b3e68c to dd0e333 Compare September 14, 2026 18:04
@senzenn senzenn changed the title chore(tests): sync the proc-macro-events lockfile to 0.10.0 chore(deps): sync the events lockfile, bump rustls for RUSTSEC-2026-0285 Sep 14, 2026
@senzenn
senzenn merged commit df4f0e0 into main Sep 16, 2026
7 checks passed
@senzenn
senzenn deleted the fix/proc-macro-events-lockfile branch September 16, 2026 17:12
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.

2 participants