ci: unblock Sprig publishing and clear RUSTSEC-2026-0224 - #4
Merged
Conversation
Bump `nostr-relay-pool` from 0.44.1 to 0.44.2 to clear [RUSTSEC-2026-0224](https://rustsec.org/advisories/RUSTSEC-2026-0224), which addresses verification-cache poisoning that could let forged Nostr events bypass signature validation on redelivery. The dependency is transitive through `nostr-sdk`; this PR updates only the corresponding package version and checksum in `Cargo.lock`. The advisory currently marks every open PR red until this fix merges. - `cargo test -p buzz-sdk -p buzz-cli` passes: 271 + 241 tests - `cargo deny check advisories` passes - `just fmt-check` passes Signed-off-by: Will Pfleger <pfleger.will@gmail.com> Co-authored-by: npub16v54tttfqacx9ycvc3k0ut0npj564ahcuajzy6qjvh57ntmsf4uq4806j2 <d32955ad69077062930cc46cfe2df30ca9aaf6f8e76422681265e9e9af704d78@buzz.block.builderlab.xyz> Signed-off-by: aria-inboxia <aria@inboxia.com>
`Publish rolling release` has failed on every push to main with `release not found`, exit 1. The step calls `gh release edit sprig-latest` with no create path, so it can only ever succeed on a repo where that release already exists. Nothing creates it. `publish-tag` cuts `sprig-v*` tags, not the rolling tag, and releases are not inherited when a repo is forked or re-created — so the first run on a fresh repo fails, and keeps failing, with two successful build jobs behind it. Create the release on demand, then edit as before so the title and notes still track the current SHA. Signed-off-by: mattbalza <mattbalza@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two independent CI failures, both red on every push to
main.Sprig —
Publish rolling releaseFailed in ~12s on every run, with both
Buildjobs green behind it. The log is one line:.github/workflows/sprig.ymlcallsgh release edit sprig-latestwith no create path, andnothing else ever creates that release —
publish-tagonly cutssprig-v*.gh release liston this repo returns empty, so the step could never have succeeded here.
Fixed by making the step create-or-edit. Upstream has the same bug (any repo whose
sprig-latesthas not been cut by hand fails identically); I'll send it toblock/buzzseparately.
CI —
Securitycargo-deny:advisories FAILED, bans ok, licenses ok, sources ok.error[vulnerability]RUSTSEC-2026-0224 onnostr-relay-pool 0.44.1— the crate insertedthe signature-verification cache entry before verifying, so a re-delivered event carrying a
forged signature hit the cache, skipped verification entirely, and reached
NostrDatabase::save_event().CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N— integrity only,but it means arbitrary unsigned events can be persisted as trusted, i.e. impersonation of any
pubkey.
0.44.1and0.44.0are both yanked; patched in0.44.2.The advisory was published today, which is why
Securitywas green at 12:55 UTC and red at19:22 — this is environmental, not caused by any PR.
Cherry-picked upstream's fix (block#4139,
Cargo.lockonly —nostr-sdk 0.44.1requires^0.44, so nothing else moves).Supply-chain note
nostr-relay-pool 0.44.2was published2026-08-01T07:40:08Z, ~12.5h before this PR — insideour 24h cooling-off window. Taken deliberately, with the owner's explicit sign-off, because the
alternative is running a yanked crate with an unpatched signature bypass on a production relay.
Recon before taking it:
yukibtc, the same publisher as every prior0.44.xgithub.com/rust-nostr/nostrmatches the crate nameblock/buzzmainTest plan
cargo deny check advisories→advisories ok(exit 0); only the pre-existing non-fatalwarning[yanked] spin 0.9.8(flume → mdns-sd → mesh-llm-host-runtime) remainssprig.ymlparsesSprig / Publish rolling releasegreen and asprig-latestprereleasecreated carrying both musl tarballs
CI / Securitygreen