fix: bump mint/hpax/req to clear known security advisories - #232
Conversation
mix.exs already requires req ">= 0.5.0", which permits the patched releases -- the vulnerable versions were only pinned because mix.lock hadn't been refreshed. No mix.exs constraint change needed. Verified req 0.6.0's removal of automatic archive-decoding (its own fix for the decompression-bomb advisory) doesn't affect Burrito: Downloader.get!/1 already calls Req.get!(url, raw: true), which disables all response auto-decoding regardless of Req version. `mix hex.audit`/`mix deps.get` show no more VULNERABLE! warnings; compile and format stay clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JB25iAFxMVFobn96APu8dW
|
The CI failure here (
This matches the long-running pattern behind #170, #171, #178, #184, #193, #205, #207, #211, #212, #220, #223 — all "no precompiled build yet," all self-resolved within a few days once the CDN caught up. No action needed here; should go green once that happens. |
mix.lockwas pinningmint1.7.1,hpax1.0.2, andreq0.5.8, each of which has a known HIGH-severity advisory:mint1.7.1: unbounded HTTP/2 CONTINUATION-frame and header-block accumulation, and unboundedPUSH_PROMISEstream growth (both DoS via memory exhaustion). Fixed in 1.9.0.hpax1.0.2: unauthenticated DoS via unbounded HPACK integer decoding. Fixed in 1.0.3.req0.5.8: decompression-bomb DoS via auto-decoded archive/compressed response bodies. Fixed in 0.6.0.mix.exsalready declares{:req, ">= 0.5.0"}with no upper bound, so a fresh install already resolves to the patched releases -- the vulnerable versions were only pinned becausemix.lockhadn't been refreshed since they landed. Nomix.exsconstraint change needed, just the lock bump (finchalso moves 0.19.0 -> 0.23.0, pulled in by mint/req's own tightened constraints;jason/mime/telemetryget minor bumps too).Checked req 0.6.0's breaking change (dropping automatic archive-decoding, its own fix for the decompression-bomb advisory) against Burrito's actual usage:
Burrito.Util.Downloader.get!/1already callsReq.get!(url, raw: true), which disables all response auto-decoding on every Req version. So this doesn't affect Burrito's musl/ERTS/zig downloads at all.mix hex.auditandmix deps.getno longer report anyVULNERABLE!packages. Verified beyond the audit clearing: a full cross-compiledcli_examplerelease still builds and runs on all 5 targets, and expert -- a downstream consumer -- still builds and runs correctly against this branch merged with the in-flight zig-auto-resolve work (#231).