Skip to content

fix(deps): patch RUSTSEC-2026-0386, acknowledge RUSTSEC-2026-0387 - #47

Merged
christianhuening merged 3 commits into
mainfrom
fix/rustsec-2026-0386-0387
Oct 24, 2026
Merged

christianhuening merged 3 commits into
mainfrom
fix/rustsec-2026-0386-0387

Conversation

@christianhuening

Copy link
Copy Markdown
Contributor

Summary

Two advisories published on 2026-10-23 fail cargo-deny on every branch, main included (#46 is blocked by it).

 Cargo.lock
-tokio 1.53.1
+tokio 1.53.3          # RUSTSEC-2026-0386 (AsyncFd I/O-safety unsoundness)
 deny.toml [advisories] ignore
+RUSTSEC-2026-0387     # crypto-bigint 0.5.5, no 0.5.x fix
  • RUSTSEC-2026-0386 (tokio): a patch bump. knot's own code never calls AsyncFd.
  • RUSTSEC-2026-0387 (crypto-bigint 0.5.5): it comes in through openidconnect 4.0.1 → p256/p384 0.13 → elliptic-curve 0.13. openidconnect 4.0.1 is the latest release, and the fix exists only in crypto-bigint 0.7.6, which elliptic-curve 0.13 can't reach. knot authenticates to the OIDC provider with a client secret and only verifies ES256/ES384 ID-token signatures. The affected arithmetic therefore only ever sees public values, so a timing leak reveals nothing. The ignore entry follows the existing rsa one (RUSTSEC-2023-0071) on the same path, and records when to drop it.

Evidence

Merge Danger

Door: two-way

The change is a patch-level lockfile bump and one ignore entry.

Blast Radius: low

tokio 1.53.1 → 1.53.3 is a patch release with no API changes. The ignore entry has to be removed once openidconnect moves to elliptic-curve 0.14.

🤖 Generated with Claude Code

christianhuening and others added 2 commits October 24, 2026 08:26
tokio 1.53.1 -> 1.53.3 fixes the AsyncFd I/O-safety unsoundness
(RUSTSEC-2026-0386); knot never calls AsyncFd itself.

crypto-bigint 0.5.5 (RUSTSEC-2026-0387) is pinned by openidconnect
4.0.1 -> p256/p384 0.13 -> elliptic-curve 0.13 and has no 0.5.x fix.
knot only verifies ES256/ES384 ID-token signatures over public values
and holds no EC private key, so it is ignored in deny.toml with the
reachability analysis, like the rsa entry on the same path.

Both advisories were published on 2026-10-23 and fail cargo-deny on
every branch.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
christianhuening added a commit that referenced this pull request Oct 24, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
revoked_editor_is_closed_with_4403_and_its_edits_are_dropped failed
about one run in five (CI: ConnectionReset at the send after the
revoke). The server may close the revoked editor's socket before the
editor's "keeps typing" write; that write then gets a TCP reset, which
can also discard the pending 4403 close frame.

The write may now fail (an edit that never arrives is dropped too), and
the 4403 is read from a second peer that stays silent after the revoke,
so it is checked on every run. The persistence and byline assertions are
unchanged. 30/30 local runs pass, from 10/12 before.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@christianhuening
christianhuening merged commit 19bdefc into main Oct 24, 2026
5 checks passed
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