
Reproducer for CVE-2025-22620
Это код доказательства концепции для RUSTSEC-2025-0001 (CVE-2025-22620, GHSA-fqmf-w4xh-33rh. Это тот же код, что и в уведомлении, но в виде Rust-проекта, включающего Cargo.toml и Cargo.lock.
Этот репозиторий был полезен при написании уведомления, и я подумал, что он может время от времени пригодиться другим. Однако, я полагаю, что он будет представлять гораздо меньший интерес, чем само уведомление, и также не является заменой информации, содержащейся в уведомлении. Как указано в уведомлении, уязвимость исправлена в gix-worktree-state 0.17.0.
main содержит версию кода, представленную на шаге 2 уведомления.unaffected-case содержит модификацию, описанную на шаге 7, чтобы показать эффект явной установки destination_is_initially_empty: true.patched-version использует обновлённые зависимости, включая версию 0.17.0 её транзитивной зависимости gix-worktree-state. Это демонстрирует, что уязвимость исправлена (и как выглядит безопасное поведение).Ветки main и unaffected-case намеренно используют уязвимые версии зависимостей, чтобы продемонстрировать значимые случаи, когда уязвимое поведение наблюдается и когда нет, при использовании уязвимой версии gix-worktree-state.
CC0-1.0, так же, как и уведомление RUSTSEC.