Skip to main content
← All vulnerabilities
CVE-2024-35197RUSTSEC-2024-0351GHSA-49JC-R788-3FC9RUSTSEC-2024-0352RUSTSEC-2024-0353

gix refs and paths with reserved Windows device names access the devices

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.36.0, 0.44.0, 0.34.0, 0.11.0, 0.38.0, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

gitoxide is a pure Rust implementation of Git. On Windows, fetching refs that clash with legacy device names reads from the devices, and checking out paths that clash with such names writes arbitrary data to the devices. This allows a repository, when cloned, to cause indefinite blocking or the production of arbitrary message that appear to have come from the application, and potentially other harmful effects under limited circumstances. If Windows is not used, or untrusted repositories are not cloned or otherwise used, then there is no impact. A minor degradation in availability may also be possible, such as with a very large file named `CON`, though the user could interrupt the application.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Byron gitoxide

    fixed in 0.36.0

  • gix-refcrates.io

    From 0.0.0-0 · fixed in 0.44.0

  • gix-worktreecrates.io

    From 0.0.0-0 · fixed in 0.34.0

  • gix-worktree-statecrates.io

    fixed in 0.11.0

  • gitoxidecrates.io

    fixed in 0.36.0

  • gix-worktreecrates.io

    fixed in 0.34.0

  • gitoxide-corecrates.io

    fixed in 0.38.0

  • gixcrates.io

    fixed in 0.63.0

  • gix-refcrates.io

    fixed in 0.44.0

  • gix-indexcrates.io

    fixed in 0.33.0

  • gix-indexcrates.io

    From 0.0.0-0 · fixed in 0.33.0

References 1

GitHub · Byron/gitoxide