Skip to content

chore(deps): bump the rust-dependencies group across 1 directory with 3 updates - #2880

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rust-dependencies-9804dbee0c
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rust-dependencies-9804dbee0c

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the rust-dependencies group with 3 updates in the / directory: russh, signal-hook and toml.

Updates russh from 0.65.0 to 0.65.1

Release notes

Sourced from russh's releases.

v0.65.1

Security fixes

GHSA-736f-c93q-9fwx - agent lock status not checked after confirmation wait

Agent lock status is now rechecked after the confirmation await again.

GHSA-9264-jvgf-6w2f - kex_done called before host-key verification

client::Handler::kex_done is now only called after server host key verification succeeds

Fixes

  • 20c5a93: fix(keys): keep the comment when loading a public key file (#801) (@​JakeHuneau) #801
    • load_public_key now keeps the comment from an OpenSSH public key file, so key.comment() returns it and to_openssh() round-trips. Fixes #713.
  • 3a21566: fix(client): accept non-canonical ECDSA P-521 signature mpints after strict decode fails (#803) (@​gugahartmann) #803
    • Fixes key exchange against servers such as the Huawei S6720, which pad P-521 signature scalars with extra leading zero bytes.
  • a6be9ba: fix(cipher): count the MAC tag in the minimum packet length check (#802) (@​JakeHuneau) #802
    • Fixes valid packets being rejected when an EtM MAC is in use. Fixes #787.
  • 43a46d6: fix(AgentClient): propagate method errors (#808) (@​mdevolde) #808
    • add_smartcard_key, lock, unlock, remove_identity, remove_smartcard_key and extension now return the agent's failure response as an error. Before, they always returned Ok(()).
  • 7c59594: fix(server): let Dropbear through strict kex by accounting for the ignored first_kex_packet_follows guess (#805) (@​NatLee) #805
    • Fixes Dropbear clients failing to connect when strict key exchange is on. Fixes #804.

Dependencies

  • d10345d: deps: trim aws-lc-rs features to avoid transitive deps (#809) (@​sepointon) #809
    • Removes the unused ring-compatible API of aws-lc-rs and the old untrusted crate it pulled in.
  • 0a8cc28: deps: remove dep on generic-array 0.14 compat (#810) (@​sepointon) #810

New Contributors

Full Changelog: Eugeny/russh@v0.65.0...v0.65.1

Commits
  • b33092a v0.65.1
  • 20c5a93 fix(keys): keep the comment when loading a public key file (#801)
  • 3a21566 fix(client): accept non-canonical ECDSA P-521 signature mpints after strict d...
  • a6be9ba fix(cipher): count the MAC tag in the minimum packet length check (#802)
  • 43a46d6 fix(AgentClient): propagate method errors (#808)
  • 56384e6 add Eric-D as a contributor for code (#799)
  • 7c59594 fix(server): let Dropbear through strict kex by accounting for the ignored fi...
  • d10345d deps: trim aws-lc-rs features to avoid transitive deps (#809)
  • 0a8cc28 deps: remove dep on generic-array 0.14 compat (#810)
  • 92562d3 tests: adapt to VerifiedPublicKey after #785 (#807)
  • See full diff in compare view

Updates signal-hook from 0.4.5 to 0.4.6

Changelog

Sourced from signal-hook's changelog.

0.4.6

  • Allow registering 'static flags in addition to Arc ones (#215, #180).
Commits

Updates toml from 1.1.8+spec-1.1.0 to 1.2.0+spec-1.1.0

Commits
  • 8ffe3c5 chore: Release
  • fa51878 docs: Update changelog
  • f8ad91e perf(serde): Reuse key allocations (#1261)
  • fe51467 perf(serde): Reuse key allocations
  • 7024319 perf(writer): Expand coverage of the fast path (#1259)
  • be196a8 perf(writer): Expand coverage of the fast path
  • 932704c perf(serde): Pre-allocate serialization buffers (#1258)
  • 52b563d perf(serde): Pre-allocate serialization buffers
  • e346a79 perff(writer): Add key and string fast paths (#1257)
  • ab695e6 perf(writer): Add a fast path for writing string types
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

… 3 updates

Bumps the rust-dependencies group with 3 updates in the / directory: [russh](https://github.com/warp-tech/russh), [signal-hook](https://github.com/vorner/signal-hook) and [toml](https://github.com/toml-rs/toml).


Updates `russh` from 0.65.0 to 0.65.1
- [Release notes](https://github.com/warp-tech/russh/releases)
- [Commits](Eugeny/russh@v0.65.0...v0.65.1)

Updates `signal-hook` from 0.4.5 to 0.4.6
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md)
- [Commits](vorner/signal-hook@v0.4.5...v0.4.6)

Updates `toml` from 1.1.8+spec-1.1.0 to 1.2.0+spec-1.1.0
- [Commits](toml-rs/toml@toml-v1.1.8...toml-v1.2.0)

---
updated-dependencies:
- dependency-name: russh
  dependency-version: 0.65.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: signal-hook
  dependency-version: 0.4.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: toml
  dependency-version: 1.2.0+spec-1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Nov 7, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
bashkit fbc0f22 Commit Preview URL

Branch Preview URL
Nov 07 2026, 02:02 PM

@bashkit-pr-reviewer

Copy link
Copy Markdown

Review summary (PR #2880)

Verdict: Lockfile-only Dependabot bump, safe to merge. No findings — no review submitted.

What changed (Cargo.lock only, diff fully visible, not truncated):

  • russh 0.65.0 → 0.65.1 — patch, in-range for the direct russh = "0.65" requirement in Cargo.toml:145. Notably this release fixes two SSH-security issues (agent-lock recheck GHSA-736f-c93q-9fwx; kex_done now only after host-key verification GHSA-9264-jvgf-6w2f), so this bump strictly improves the ssh/scp/sftp builtins' posture. No API change.
  • signal-hook 0.4.5 → 0.4.6 — transitive patch bump.
  • toml 1.1.8 → 1.2.0 + toml_writer 1.1.3 → 1.2.0 — transitive minor bump, satisfied via existing caret requirements.
  • Lockfile hygiene: drops the now-unused untrusted 0.7.1 entry (and its aws-lc-rs edge), prunes the generic-array edge from framed; ring/rustls-webpki references collapse from untrusted 0.9.0 to unambiguous untrusted. All expected fallout of the same resolution, not manual edits.

Context read beyond the diff: AGENTS.md (project rules), root Cargo.toml (verified russh = "0.65" covers 0.65.1 with no manifest change needed; signal-hook/toml are transitive-only), crates/bashkit/src/ layout. No code, test, or knowledge changes; nothing crosses the sandbox boundary and no knowledge/ entries go stale.

Not reviewed: nothing — single-file diff fully covered. (Per sandbox rules, no build/test run; reasoned from the code.)

chaliy added a commit that referenced this pull request Nov 7, 2026
…cts (#2884)

toml 1.1.8 -> 1.2.0 and toml_writer 1.1.3 -> 1.2.0, with the imports.lock
publisher facts the bump needs (epage, 2026-11-04, fetched from crates.io).

imports.lock records a publisher fact per exact version, so a bump of a trusted
publisher's crate leaves the new version unattested and `cargo vet --locked`
fails. CI only runs the locked form, so it can never record the facts; a
non-locked `cargo vet` is the only thing that does, and Dependabot never runs
one. This will recur on every group bump that moves such a crate.

Two incidental hunks: imports.lock re-aggregated Mozilla's utf8_iter wildcard
audit (changed upstream), and Cargo.lock re-picked which syn cssparser-macros
resolves to (3.0.9 -> 2.0.119) as ordinary resolver churn; both majors already
carry safe-to-deploy exemptions.

russh 0.65.1 and signal-hook 0.4.6 are deliberately excluded: both sit on
delta-audit chains whose entries are human source-safety reviews, so each needs
a new delta audit rather than an exemption.

Part of #2880.

chaliy commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Half of this landed in #2884 (squashed as 0de2044); the other half needs a decision from you, so I'm leaving this open rather than closing it.

Landed: toml 1.1.8 → 1.2.0 and toml_writer 1.1.3 → 1.2.0, with the imports.lock publisher facts the bump requires (epage, 2026-11-04, fetched from crates.io).

Not landed: russh 0.65.1 and signal-hook 0.4.6.

Why the Audit job failed

Vetting Failed!
4 unvetted dependencies:
  russh:0.65.1 / signal-hook:0.4.6 / toml:1.2.0 / toml_writer:1.2.0

Two different causes, which is why the PR splits:

  • toml/toml_writer are covered by [[trusted]] publisher entries, but imports.lock pins a fact per exact version. A bump leaves the new version unattested, and only a non---locked cargo vet records the fact. CI runs cargo vet --locked, which cannot. This is not specific to this PR — it will fail the same way on every group bump that moves a trusted publisher's crate, and Dependabot can't fix it itself. Possibly worth automating.
  • russh/signal-hook are not on exemptions. They sit on delta-audit chains — russh 0.63.3 → 0.64.1 → 0.65.0, signal-hook 0.4.4 → 0.4.5 — whose entries are your own source-safety reviews.

What's needed for the remaining two

cargo vet diff signal-hook 0.4.5 0.4.6   # 4 files, +70/-12
cargo vet diff russh 0.65.0 0.65.1       # 15 files, +388/-49
cargo vet certify …

I did not write these and did not substitute exemptions. Writing an audit would assert a source review that did not happen, under your name; swapping in an exemption would quietly move an SSH implementation reached over the network from audited to accepted-unaudited without you choosing that. Both are your call.

Dependabot will keep re-proposing both until they're certified — reopening/rebasing this PR after certifying should then go green.


Generated by Claude Code

@dependabot @github

dependabot Bot commented on behalf of github Nov 7, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Nov 7, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/rust-dependencies-9804dbee0c branch November 7, 2026 15:35
chaliy added a commit that referenced this pull request Nov 7, 2026
Completes #2880. Both versions are recorded as cargo-vet exemptions rather than
delta audits.

The two crates sit on delta-audit chains (russh 0.63.3 -> 0.64.1 -> 0.65.0,
signal-hook 0.4.4 -> 0.4.5) whose entries are human source-safety reviews, so
`cargo vet --locked` reported them unvetted after the bump and the Audit job
failed. The maintainer approved taking the bumps without new reviews, which is
what an exemption records: accepted, not audited. An audit entry would instead
assert a source review that nobody performed.

The chains therefore stop at 0.65.0 and 0.4.5. The superseded exemptions for
their roots (russh 0.63.3, signal-hook 0.4.4) are kept deliberately: a later
`cargo vet certify` of the 0.65.0 -> 0.65.1 and 0.4.5 -> 0.4.6 deltas resolves
through the full chain, and a chain needs a root. `cargo vet prune` is correct
after that, not before.

Also drops untrusted 0.7.1, which nothing in the graph needs any more.

51 checks green, including Audit (the check that was failing on #2880), 24 ssh
builtin tests exercising russh and the bashkit-cli suite exercising
signal-hook.

chaliy commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Closing — all four bumps from this PR are now on main:

crate version landed in vet coverage
toml 1.1.8 → 1.2.0 #2884 (0de2044) publisher fact refreshed (epage, 2026-11-04)
toml_writer 1.1.3 → 1.2.0 #2884 (0de2044) publisher fact refreshed
russh 0.65.0 → 0.65.1 #2886 (2d9a999) exemption (approved, not audited)
signal-hook 0.4.5 → 0.4.6 #2886 (2d9a999) exemption (approved, not audited)

untrusted 0.7.1 also drops out of the graph.

The split was necessary because the single Audit failure had two different causes: toml/toml_writer needed only an imports.lock publisher-fact refresh, while russh/signal-hook sit on human delta-audit chains and needed a maintainer decision. Audit is green on both merges.

Two follow-ups worth recording:

  1. russh 0.65.1 and signal-hook 0.4.6 are accepted, not audited. If you want them back on the audited chain, cargo vet certify the 0.65.0 → 0.65.1 and 0.4.5 → 0.4.6 deltas and then cargo vet prune. The chain roots (russh 0.63.3, signal-hook 0.4.4 exemptions) were deliberately kept so that path still works.

  2. The imports.lock half of this will recur. Facts are pinned per exact version and CI only runs cargo vet --locked, which cannot fetch them — so every future group bump that moves a trusted publisher's crate fails Audit the same way, and Dependabot cannot fix it. Probably worth a scheduled non---locked refresh or a documented step in the maintenance pass.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant