Skip to main content

Improper Handling of Case Sensitivity

CVE-2023-4759

Severity High
Score 8.8/10

Summary

Arbitrary File Overwrite vulnerability in org.eclipse.jgit:org.eclipse.jgit versions prior to 6.6.1.202309021850-r and 6.7.x prior to 6.7.0.202309050840-r, a symbolic link present in a specially crafted git repository can be used to write a file to locations outside the working tree when this repository is cloned with JGit to a case-insensitive filesystem, or when a checkout from a clone of such a repository is performed on a case-insensitive filesystem. This can happen on checkout (DirCacheCheckout), merge (ResolveMerger via its WorkingTreeUpdater), pull (PullCommand using merge), and when applying a patch (PatchApplier). This can be exploited for remote code execution (RCE), for instance, if the file written outside the working tree is a git filter that gets executed on a subsequent git command. The issue occurs only on case-insensitive filesystems, like the default filesystems on Windows and macOS. The user performing the clone or checkout must have the right to create symbolic links for the problem to occur and symbolic links must be enabled in the git configuration. Setting git configuration option "core.symlinks = false" before checking out avoids the problem.

  • LOW
  • NETWORK
  • HIGH
  • UNCHANGED
  • NONE
  • LOW
  • HIGH
  • HIGH

CWE-178 - Improper Handling of Case Sensitivity

The software does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results.

Advisory Timeline

  • Published