Repository navigation
fix: green gate: repin moved actions, update vulnerable crates - #83
Merged
Merged
Conversation
zizmor's online audit failed every pull request since 2026-10-18 with stale-action-refs and ref-version-mismatch on 14 pins: the commits pinned for dtolnay/rust-toolchain `v1` (e2a55d2) and Swatinem/rust-cache `v2` (6323deb) are no longer the commits those tags name. Repinned to what the tags name today, each checked with `gh api repos/<owner>/<repo>/git/ref/tags/<tag>`: - dtolnay/rust-toolchain v1 683b588c (11 pins) - Swatinem/rust-cache v2 (= v2.9.3) d1527c8f (3 pins) and, in the same pass, the three updates Dependabot has open, also checked against their tags: - actions/upload-artifact v7.0.2 cf430e03 (#70) - taiki-e/install-action v2.87.30 a4d3f3f7 (#77) - rust-lang/crates-io-auth-action v1.0.6 3268eb41 (#78) `zizmor --persona=pedantic .github/workflows/` with a GitHub token (online audits on, as CI runs it): no findings; offline: no findings. Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
`cargo deny check` failed on 15 advisories. All but one have a fix inside the version ranges the Ballista 54 chain allows, so the lock moves only those crates: - rustls 0.23.45 -> 0.23.46: RUSTSEC-2026-0346 (Debug exposes TLS secrets), -0347, -0348 (Brotli certificate decompression up to 1 GiB before authentication), -0349 - rustls-webpki 0.103.15 -> 0.103.16: RUSTSEC-2026-0382 - tokio 1.53.1 -> 1.54.1: RUSTSEC-2026-0386 (AsyncFd I/O safety) - zstd 0.13.3 -> 0.13.4, zstd-safe 7.2.4 -> 7.4.0, zstd-sys 2.0.16 -> 2.1.2: RUSTSEC-2026-0391, -0398, -0403, -0410. zstd 0.13.4 is the patched 0.13 line, so DataFusion's `zstd ^0.13` no longer holds it back - ctutils 0.4.2 -> 0.4.8: RUSTSEC-2026-0385 - pulldown-cmark 0.13.4 -> 0.13.6 (a build dependency of tonic's prost-build): RUSTSEC-2026-0414, -0433 - the aws-smithy/aws-config family (Ballista's bundled AWS SDK) within semver, which drops pin-utils (RUSTSEC-2026-0441, unmaintained, no fixed release): aws-smithy-http 0.64.3 no longer depends on it and Dependabot's open group (#81) where it applies: insta 1.49.0, libc 0.2.191, objc2 0.6.5, serde_json 1.0.154, plus rustls (#82). The one that cannot move here is thrift (RUSTSEC-2026-0435, which RustSec imported on 2026-11-02 for CVE-2026-43868): parquet 58 requires thrift ^0.17, and the fix is parquet 59, which drops thrift and needs the Ballista 55 chain (#40). RustSec scopes the advisory to TBinaryInputProtocol::read_bytes/read_string; parquet 58 decodes footers with its own compact-protocol reader (parquet/src/thrift.rs) and never constructs the binary protocol. deny.toml accepts the RustSec id with that reason beside the existing GHSA entry, and SECURITY.md names it; both go with the chain bump (#54). Verified: `cargo deny check` passes (the two warnings are the GHSA entry RustSec does not know by that id, as #54 describes); `make msrv` (1.94.1, --locked), `make lint` and `make test` (163 passed, 0 failed) pass. Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
The lockfile update in the previous commit is what the release binaries and `cargo install --locked` build from, so it ships to users and gets a Security entry under [Unreleased]. Signed-off-by: Vyncint Ng <115854244+vyncint@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.
Main has been red since mid-October: every pull request fails
deny(15 RustSec advisories) andzizmor(14 action pins whose tags moved upstream), so none of the open Dependabot PRs can pass on its own. This makes the gate green again; the commit bodies carry the detail.ci: repin the actions whose tags moved.
dtolnay/rust-toolchainv1 (683b588c, 11 pins) andSwatinem/rust-cachev2 = v2.9.3 (d1527c8f, 3 pins), plus the three action updates Dependabot has open:upload-artifactv7.0.2 (#70),install-actionv2.87.30 (#77),crates-io-auth-actionv1.0.6 (#78). Every SHA was checked against its tag withgh api. zizmor at pedantic, online and offline: no findings.fix(deps): update the crates RustSec flags inside the current chain. rustls 0.23.46 (four advisories, including TLS secrets in
Debugand a 1 GiB Brotli decompression before authentication), rustls-webpki 0.103.16, tokio 1.54.1, the patched zstd 0.13.4 line (four advisories), ctutils, pulldown-cmark, and the AWS SDK family within semver, which drops the unmaintained pin-utils. Dependabot's #81 group and #82 are covered where they apply.One advisory stays accepted, with its reason: thrift (RUSTSEC-2026-0435, CVE-2026-43868) via parquet 58. The fix is parquet 59 (no thrift), which needs the Ballista 55 / DataFusion 55 chain bump (#40), coming next. RustSec scopes it to
TBinaryInputProtocol::read_bytes/read_string, which parquet 58's own compact-protocol footer reader never calls.deny.tomlandSECURITY.mdsay so, and both entries go with the chain bump (#54).Verified locally:
cargo deny check,make msrv(1.94.1,--locked),make lint,make test(163 passed, 0 failed), zizmor.Supersedes #70, #75, #77, #78, #79, #82 and the applicable part of #81; Dependabot should close them once this lands.