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`.
CVSS Details
- CVSS 3.1 Base Score: 9.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade git-credential-libsecretUpgrade git-guiUpgrade git-emailUpgrade git-svnUpgrade git-daemonUpgrade git-instawebUpgrade git-core-docUpgrade perl-GitUpgrade git-allUpgrade perl-Git-SVNUpgrade git-coreUpgrade gitkUpgrade gitUpgrade git-subtreeUpgrade gitweb | Feb 9, 2023 | Jan 17, 2023 |
| Alpine Linux | — | Upgrade git | Aug 22, 2024 | Jan 17, 2023 |
| Amazon Linux Ami 2 | — | Upgrade git-coreUpgrade gitUpgrade gitkUpgrade git-allUpgrade git-credential-libsecretUpgrade gitwebUpgrade git-subtreeUpgrade git-core-docUpgrade git-svnUpgrade perl-Git-SVNUpgrade perl-GitUpgrade git-instawebUpgrade git-guiUpgrade git-p4Upgrade git-cvsUpgrade git-emailUpgrade git-debuginfoUpgrade git-daemon | Feb 7, 2023 | Jan 17, 2023 |
| Amazon_linux | — | Upgrade git | Feb 7, 2023 | Jan 17, 2023 |
| Amazon_linux_2023 | — | Upgrade git-debugsourceUpgrade git-cvsUpgrade gitkUpgrade git-core-debuginfoUpgrade gitUpgrade git-subtreeUpgrade git-svnUpgrade perl-Git-SVNUpgrade git-coreUpgrade git-daemon-debuginfoUpgrade git-credential-libsecret-debuginfoUpgrade perl-GitUpgrade git-daemonUpgrade git-p4Upgrade gitwebUpgrade git-credential-libsecretUpgrade git-allUpgrade git-instawebUpgrade git-guiUpgrade git-core-docUpgrade git-emailUpgrade git-debuginfo | Feb 17, 2025 | Jan 17, 2023 |
| Centos_linux | — | Upgrade git-svnUpgrade emacs-git-elUpgrade gitwebUpgrade gitUpgrade git-bzrUpgrade git-gnome-keyringUpgrade git-cvsUpgrade perl-GitUpgrade git-p4Upgrade git-emailUpgrade git-hgUpgrade git-debuginfoUpgrade git-daemonUpgrade git-instawebUpgrade gitkUpgrade emacs-gitUpgrade perl-Git-SVNUpgrade git-allUpgrade git-gui | Feb 8, 2023 | Jan 17, 2023 |
| Debian | — | Upgrade git | Jan 30, 2023 | Jan 17, 2023 |
| Freebsd | — | Upgrade git | Feb 22, 2023 | Feb 21, 2023 |
| Gentoo Linux | — | Upgrade dev-vcs/git. | Dec 28, 2023 | Jan 17, 2023 |
| Huawei Euleros 2_0_sp10 | — | Upgrade gitUpgrade git-help | Mar 20, 2023 | Jan 17, 2023 |
| Huawei Euleros 2_0_sp11 | — | Upgrade gitUpgrade git-help | May 8, 2023 | Jan 17, 2023 |
| Huawei Euleros 2_0_sp5 | — | Upgrade gitUpgrade git-coreUpgrade git-core-doc | Jun 9, 2023 | Jan 17, 2023 |
| Huawei Euleros 2_0_sp8 | — | Upgrade git-core-docUpgrade gitUpgrade git-core | Apr 13, 2023 | Jan 17, 2023 |
| Huawei Euleros 2_0_sp9 | — | Upgrade git-helpUpgrade git | Mar 9, 2023 | Jan 17, 2023 |
| Oracle_linux | — | Upgrade git-hgUpgrade gitwebUpgrade gitUpgrade gitkUpgrade emacs-gitUpgrade git-gnome-keyringUpgrade git-credential-libsecretUpgrade git-core-docUpgrade git-allUpgrade emacs-git-elUpgrade git-coreUpgrade git-guiUpgrade git-p4Upgrade perl-Git-SVNUpgrade perl-GitUpgrade git-subtreeUpgrade git-cvsUpgrade git-daemonUpgrade git-bzrUpgrade git-svnUpgrade git-emailUpgrade git-instaweb | Feb 7, 2023 | Jan 17, 2023 |
| Redhat_linux | — | Upgrade git-core-debuginfoUpgrade git-guiUpgrade git-credential-libsecret-debuginfoUpgrade git-cvsUpgrade perl-GitUpgrade gitkUpgrade emacs-gitUpgrade git-subtreeUpgrade git-daemonUpgrade git-instawebUpgrade git-emailUpgrade git-debuginfoUpgrade git-p4Upgrade git-hgUpgrade gitUpgrade git-debugsourceUpgrade git-credential-libsecretUpgrade git-svnUpgrade perl-Git-SVNUpgrade git-core-docUpgrade gitwebUpgrade git-daemon-debuginfoUpgrade emacs-git-elUpgrade git-coreUpgrade git-allUpgrade git-bzrUpgrade git-gnome-keyringNo solution exists | Feb 8, 2023 | Jan 17, 2023 |
| Rocky_linux | — | Upgrade gitUpgrade git-credential-libsecret-debuginfoUpgrade git-subtreeUpgrade git-credential-libsecretUpgrade git-core-debuginfoUpgrade git-daemon-debuginfoUpgrade git-coreUpgrade git-daemonUpgrade git-debugsourceUpgrade git-debuginfo | Mar 12, 2024 | Jan 17, 2023 |
| Suse | — | Upgrade git-credential-libsecretUpgrade git-archUpgrade git-credential-gnome-keyringUpgrade gitkUpgrade git-webUpgrade git-svnUpgrade gitUpgrade git-cvsUpgrade perl-GitUpgrade git-guiUpgrade git-emailUpgrade git-coreUpgrade git-daemonUpgrade git-p4Upgrade git-doc | Jan 23, 2023 | Jan 17, 2023 |
| Ubuntu | — | Upgrade gitUpgrade git (Ubuntu Pro) | Jan 20, 2023 | Jan 17, 2023 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Jan 17, 2023 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub