diff --git a/.github/workflows/security-scan.yml b/.github/workflows/security-scan.yml index e13b093b..896f5c31 100644 --- a/.github/workflows/security-scan.yml +++ b/.github/workflows/security-scan.yml @@ -222,7 +222,9 @@ jobs: - name: Run cargo audit run: | cargo install cargo-audit --version 0.22.1 --locked - cd cli && cargo audit + # RUSTSEC-2026-0258: low-severity h2 DoS; direct h2 bumped to 0.4.18, + # remaining transitive h2 0.3.x via tonic 0.11 <- libsql has no patch (see deny.toml) + cd cli && cargo audit --ignore RUSTSEC-2026-0258 # ============================================================================ # RUST SECURITY (SAST, Deny, Outdated) diff --git a/cli/Cargo.lock b/cli/Cargo.lock index c893f106..ffd69731 100644 --- a/cli/Cargo.lock +++ b/cli/Cargo.lock @@ -91,7 +91,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -102,7 +102,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -761,7 +761,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -992,9 +992,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.14" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "171fefbc92fe4a4de27e0698d6a5b392d6a0e333506bc49133760b3bcf948733" +checksum = "839c0e8a181239723652be9062bb56ca5bf5f64011f73b623f6f4fc59086a228" dependencies = [ "atomic-waker", "bytes", @@ -1191,7 +1191,7 @@ dependencies = [ "bytes", "futures-channel", "futures-core", - "h2 0.4.14", + "h2 0.4.18", "http 1.4.0", "http-body 1.0.1", "httparse", @@ -1247,7 +1247,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -1769,7 +1769,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2026,7 +2026,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.2", "rustls", - "socket2 0.6.3", + "socket2 0.5.10", "thiserror 2.0.20", "tokio", "tracing", @@ -2063,7 +2063,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2 0.5.10", "tracing", "windows-sys 0.60.2", ] @@ -2242,7 +2242,7 @@ dependencies = [ "base64 0.22.1", "bytes", "futures-core", - "h2 0.4.14", + "h2 0.4.18", "http 1.4.0", "http-body 1.0.1", "http-body-util", @@ -2321,7 +2321,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2527,7 +2527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -2606,7 +2606,7 @@ dependencies = [ "getrandom 0.4.2", "once_cell", "rustix 1.1.4", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -3276,7 +3276,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] diff --git a/deny.toml b/deny.toml index 127af790..92210d97 100644 --- a/deny.toml +++ b/deny.toml @@ -9,6 +9,11 @@ db-urls = ["https://github.com/rustsec/advisory-db"] # Any advisory ids to ignore e.g. ["RUSTSEC-2019-0001", "...] ignore = [ "RUSTSEC-2025-0141", # bincode is unmaintained + # h2 unbounded empty DATA frames (low, DoS). Patched only in >=0.4.16; the + # remaining hit is the transitive h2 0.3.x via tonic 0.11 <- libsql, which has + # no patched 0.3 release. Upgrading requires a tonic/libsql major bump + # (tracked separately); CLI exposure is client-side sync, not an h2 server. + "RUSTSEC-2026-0258", ] # Options for checking licenses