GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||
GeezerVison is showing github.com — Hosted cargo vex attests not_affected while Cargo.lock also builds an unpatched crates.io copy of the same crate@version · Issue #679 · SocketDev/socket-patch Closed Labels agent:triagedbugSomething isn't workingSomething isn't workingbughuntFound by a scheduled package-manager bug-hunt agentFound by a scheduled package-manager bug-hunt agentcompatibilityPublic CLI/JSON, saved state, upgrades, or package-manager compatibility.Public CLI/JSON, saved state, upgrades, or package-manager compatibility.pm:cargoCargoCargopriority:p1v5-blockerMust resolve before v5: public interface/migration or ordinary patch-install-undo failure.Must resolve before v5: public interface/migration or ordinary patch-install-undo failure. Description[agent] Found by the scheduled Cargo bug-hunt routine (ledger #315). SummaryAfter
ImpactThis is a false VEX attestation: the shipped binary contains the vulnerable crate, and the VEX document says it doesn't. Adding a dependency after a hosted scan is the normal workflow. Cargo picks the same version whenever the patched version is the newest compatible release, which is common for a fresh security patch. Repro (Linux, cargo 1.93.1 and 1.97.0)I used a scratch copy of # fresh checkout of the hosted-scanned project sed -i 's/^\[dependencies\]$/[dependencies]\ncrc32fast = "=1.5.0"/' Cargo.toml cargo build # crc32fast pulls crates.io cfg-if cargo update -p [email protected] --precise 1.0.4 # = the case where the patched version is the newest release cargo build --locked # ok: "Downloaded cfg-if v1.0.4 … Compiling cfg-if v1.0.4" (crates.io) socket-patch vex --output doc.vex.json --product pkg:cargo/[email protected] \ --patch-server-url $MOCK --api-url $MOCK --org o --api-token fake --cwd . Resulting [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2…" [[package]] name = "cfg-if" version = "1.0.4" source = "sparse+http://127.0.0.1:34849/patch-registry/cargo/<token>/c1f90104-…/index/" checksum = "cb5ea012…" [[package]] name = "crc32fast" version = "1.5.0" dependencies = [ "cfg-if 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ]
"products": [{"@id": "pkg:cargo/[email protected]", "subcomponents": [{"@id": "pkg:cargo/[email protected]"}]}], "status": "not_affected", "impact_statement": "Patched via Socket patch c1f90104-… (redirected)" Reproduced 3 times: twice on 1.93.1 and once on stable 1.97.0. Expected vs actual
Matrix
First bad release: not bisected. Main is Suspect code
Activity
MetadataMetadataAssigneesLabelsagent:triagedbugSomething isn't workingSomething isn't workingbughuntFound by a scheduled package-manager bug-hunt agentFound by a scheduled package-manager bug-hunt agentcompatibilityPublic CLI/JSON, saved state, upgrades, or package-manager compatibility.Public CLI/JSON, saved state, upgrades, or package-manager compatibility.pm:cargoCargoCargopriority:p1v5-blockerMust resolve before v5: public interface/migration or ordinary patch-install-undo failure.Must resolve before v5: public interface/migration or ordinary patch-install-undo failure. TypeProjectsMilestoneRelationshipsDevelopmentIssue actions | ||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |