
Reproducer für CVE-2025-22620
Dies ist der Proof-of-Concept-Code für RUSTSEC-2025-0001 (CVE-2025-22620, GHSA-fqmf-w4xh-33rh. Es handelt sich um denselben Code wie im Advisory, jedoch in Form eines Rust-Projekts, einschließlich Cargo.toml und Cargo.lock.
Dieses Repository war beim Schreiben des Advisories nützlich, und ich dachte, es könnte gelegentlich auch für andere nützlich sein. Ich erwarte jedoch, dass es von weitaus geringerem Interesse ist als das Advisory, und es ersetzt auch nicht die Informationen im Advisory. Wie im Advisory erwähnt, wurde die Sicherheitslücke in gix-worktree-state 0.17.0 behoben.
main-Branch enthält die Version des Codes, die in Schritt 2 des Advisories vorgestellt wird.unaffected-case-Branch enthält die in Schritt 7 beschriebene Änderung, um die Auswirkung der expliziten Festlegung von destination_is_initially_empty: true zu zeigen.patched-version-Branch verwendet aktualisierte Abhängigkeiten, einschließlich Version 0.17.0 der transitiven Abhängigkeit gix-worktree-state. Dies soll zeigen, dass die Sicherheitslücke behoben wurde (und wie das nicht verwundbare Verhalten aussieht).Die Branches main und unaffected-case verwenden absichtlich verwundbare Abhängigkeitsversionen, um signifikante Fälle zu demonstrieren, in denen verwundbares Verhalten beobachtet wird bzw. nicht beobachtet wird, wenn eine verwundbare Version von gix-worktree-state verwendet wird.
CC0-1.0, dasselbe wie das RUSTSEC-Advisory.