fix(deps): patch hickory-proto to 0.26.1 - #442
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
Bumps
hickory-prototo0.26.1, fixing GHSA-q2qq-hmj6-3wpp (O(n²) name compression inBinEncoder, CPU-exhaustion DoS via crafted messages — mirrors CVE-2024-8508). Closes CIP-3808.Cargo.lockonly — noCargo.tomlchanges.Why this wasn't a mechanical bump
hickory-protois transitive:tests/sqlx→cipherstash-client = "=0.42.0"→reqwest ^0.13→hickory-resolver ^0.25→hickory-proto ^0.25.A direct
cargo update hickory-proto --precise 0.26.1fails, because it only tries to move that one package whilehickory-resolver 0.25.2(locked) still requireshickory-proto ^0.25:I initially suspected the
=0.42.0exact pin oncipherstash-client(intests/sqlx/Cargo.toml, deliberately pinned so its SteVec envelope format can't drift independently of the fixtures/bindings this repo tests against) was the real blocker, and that relaxing it to0.42.2would be required to movehickory-proto. That turned out not to be necessary:cipherstash-client's ownreqwestrequirement is^0.13in both 0.42.0 and 0.42.2 — unchanged, so relaxing the pin wouldn't have changed dependency resolution at all here.reqwest 0.13.3(the version locked inCargo.lock) depends onhickory-resolver ^0.25, butreqwest 0.13.4— already withincipherstash-client's allowed^0.13range, just never pulled in because nobody re-rancargo updateafter it was published — depends onhickory-resolver ^0.26, which in turn requireshickory-proto ^0.26.So the fix is
cargo update -p reqwest --precise 0.13.4, which cascades correctly through the wholereqwest → hickory-resolver → hickory-protochain in one coherent step:cipherstash-clientstays exactly pinned at0.42.0— untouched — so the SteVec envelope / fixture-compatibility concern behind that pin's comment doesn't apply here at all.Verification
cargo tree -i hickory-protoconfirms a single resolved version,hickory-proto v0.26.1, matching the advisory's patched version.cargo check -p eql_tests --all-targets: all real dependency and workspace code compiles cleanly (hickory-proto,hickory-resolver,reqwest 0.13.4,stack-auth,cipherstash-client 0.42.0,eql_testsall pass). The only errors are 5 pre-existing "file not found" errors for one locally-missing, gitignored, generated fixture (v3_text_empty_bloom.sql, regenerated viamise run fixture:generate:allwhich needs ZeroKMS creds not present in this environment) — confirmed unrelated to this change by reproducing the same class of failure (worse — 21 errors across several missing fixtures) against a completely clean, unmodifiedmaincheckout with no dependency changes at all.catalogproptest suite (cargo test -p eql-domains --lib proptest_invariants), which exerciseseql-domainscatalog invariants, passes cleanly: 6/6 tests.cipherstash-clientwas never touched, the fixture-oracle / SteVec-payload-compatibility tests this PR would otherwise need to worry about (per the pin's comment intests/sqlx/Cargo.toml) are not implicated — there is no cipherstash-client version change for them to catch.Out of scope
CIP-3792 (a different
hickory-protoadvisory, GHSA-3v94-mw7p-v465, with no released fix at time of writing) is not addressed here.