CVE-2022-41903

Integer overflow in `git archive`, `git log --format` leading to RCE in git

State
Published
Severity
9.8 Critical
Published
Jan 17, 2023
Updated
Mar 10, 2025
Reserved
Sep 30, 2022

Read the record on cve.org

Description

Git is distributed revision control system. `git log` can display commits in an arbitrary format using its `--format` specifiers. This functionality is also exposed to `git archive` via the `export-subst` gitattribute. When processing the padding operators, there is a integer overflow in `pretty.c::format_and_pad_commit()` where a `size_t` is stored improperly as an `int`, and then added as an offset to a `memcpy()`. This overflow can be triggered directly by a user running a command which invokes the commit formatting machinery (e.g., `git log --format=...`). It may also be triggered indirectly through git archive via the export-subst mechanism, which expands format specifiers inside of files within the repository during a git archive. This integer overflow can result in arbitrary heap writes, which may result in arbitrary code execution. The problem has been patched in the versions published on 2023-01-17, going back to v2.30.7. Users are advised to upgrade. Users who are unable to upgrade should disable `git archive` in untrusted repositories. If you expose git archive via `git daemon`, disable it by running `git config --global daemon.uploadArch false`.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGitHub_M

Weaknesses

  • CWE-190 Integer Overflow or Wraparound

Affected Products

ProductVersions
gitgit
  • < 2.30.7Affected
  • >= 2.31.0, < 2.31.6Affected
  • >= 2.32.0, < 2.32.5Affected
  • >= 2.33.0, < 2.33.6Affected
  • >= 2.34.0, < 2.34.6Affected
  • >= 2.35.0, < 2.35.6Affected
  • >= 2.36.0, < 2.36.4Affected
  • >= 2.37.0, < 2.37.5Affected
  • >= 2.38.0, < 2.38.3Affected
  • = 2.39.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.