---
id: CVE-2023-29007
title: Arbitrary configuration injection via `git submodule deinit`
summary: >-
  Git is a revision control system. Prior to versions 2.30.9, 2.31.8, 2.32.7,
  2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1, a
  specially crafted `.gitmodules` file with submodule URLs that are longer than
  1024 characte…
severity: high
cvss: 7
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-74
vendor: git
product: git
affected:
  - git < 2.30.9
  - 'git >= 2.31.0, < 2.31.8'
  - 'git >= 2.32.0, < 2.32.7'
  - 'git >= 2.33.0, < 2.33.8'
  - 'git >= 2.34.0, < 2.34.8'
  - 'git >= 2.35.0, < 2.35.8'
  - 'git >= 2.36.0, < 2.36.6'
  - 'git >= 2.37.0, < 2.37.7'
  - 'git >= 2.38.0, < 2.38.5'
  - 'git >= 2.39.0, < 2.39.3'
  - 'git >= 2.40.0, < 2.40.1'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2024-01-22T22:35:44.903596Z'
exploitAvailable: true
published: '2023-04-25'
updated: '2026-11-02'
sourceUpdated: '2026-11-02T22:32:48.199Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2023-29007'
references:
  - url: 'https://github.com/git/git/security/advisories/GHSA-v48j-4xgg-4844'
    label: 'https://github.com/git/git/security/advisories/GHSA-v48j-4xgg-4844'
  - url: 'https://github.com/git/git/commit/528290f8c61222433a8cf02fb7cfffa8438432b4'
    label: 'https://github.com/git/git/commit/528290f8c61222433a8cf02fb7cfffa8438432b4'
  - url: >-
      https://github.com/git/git/blob/9ce9dea4e1c2419cca126d29fa7730baa078a11b/Documentation/RelNotes/2.30.9.txt
    label: >-
      https://github.com/git/git/blob/9ce9dea4e1c2419cca126d29fa7730baa078a11b/Documentation/RelNotes/2.30.9.txt
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PI7FZ4NNR5S5J5K6AMVQBH2JFP6NE4L7/
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YFZWGQKB6MM5MNF2DLFTD7KS2KWPICKL/
  - url: >-
      https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RKOXOAZ42HLXHXTW6JZI4L5DAIYDTYCU/
  - url: 'https://security.gentoo.org/glsa/202312-15'
  - url: 'https://lists.debian.org/debian-lts-announce/2024/06/msg00018.html'
tags:
  - cve.org
  - exploit-available
epss: 0.05609
epssPercentile: 0.9294
exploits:
  github: 2
  githubRepos:
    - 'https://github.com/ethiack/CVE-2023-29007'
    - 'https://github.com/x-Defender/CVE-2023-29007_win-version'
  checkedAt: '2026-11-05T19:31:18.377Z'
ingestedAt: '2026-11-05T19:30:42.877Z'
---

## Overview

Git is a revision control system. Prior to versions 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1, a specially crafted `.gitmodules` file with submodule URLs that are longer than 1024 characters can used to exploit a bug in `config.c::git_config_copy_or_rename_section_in_file()`. This bug can be used to inject arbitrary configuration into a user's `$GIT_DIR/config` when attempting to remove the configuration section associated with that submodule. When the attacker injects configuration values which specify executables to run (such as `core.pager`, `core.editor`, `core.sshCommand`, etc.) this can lead to a remote code execution. A fix A fix is available in versions 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1. As a workaround, avoid running `git submodule deinit` on untrusted repositories or without prior inspection of any submodule sections in `$GIT_DIR/config`.

## Affected

- `git < 2.30.9`
- `git >= 2.31.0, < 2.31.8`
- `git >= 2.32.0, < 2.32.7`
- `git >= 2.33.0, < 2.33.8`
- `git >= 2.34.0, < 2.34.8`
- `git >= 2.35.0, < 2.35.8`
- `git >= 2.36.0, < 2.36.6`
- `git >= 2.37.0, < 2.37.7`
- `git >= 2.38.0, < 2.38.5`
- `git >= 2.39.0, < 2.39.3`
- `git >= 2.40.0, < 2.40.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
