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-guiUpgrade git-daemonUpgrade git-emailUpgrade git-core-docUpgrade git-instawebUpgrade git-credential-libsecretUpgrade git-svnUpgrade perl-GitUpgrade git-allUpgrade gitkUpgrade git-subtreeUpgrade gitwebUpgrade gitUpgrade perl-Git-SVNUpgrade git-core | Feb 9, 2023 | Jan 17, 2023 |
| Alpine Linux | — | Upgrade git | Aug 22, 2024 | Jan 17, 2023 |
| Amazon Linux Ami 2 | — | Upgrade git-svnUpgrade gitkUpgrade git-credential-libsecretUpgrade gitUpgrade gitwebUpgrade git-coreUpgrade git-subtreeUpgrade git-core-docUpgrade git-allUpgrade perl-Git-SVNUpgrade git-instawebUpgrade git-debuginfoUpgrade perl-GitUpgrade git-cvsUpgrade git-guiUpgrade git-daemonUpgrade git-emailUpgrade git-p4 | Feb 7, 2023 | Jan 17, 2023 |
| Amazon_linux | — | Upgrade git | Feb 7, 2023 | Jan 17, 2023 |
| Amazon_linux_2023 | — | Upgrade git-emailUpgrade git-guiUpgrade git-core-docUpgrade git-debuginfoUpgrade git-instawebUpgrade git-daemonUpgrade perl-GitUpgrade git-credential-libsecret-debuginfoUpgrade git-credential-libsecretUpgrade git-allUpgrade gitwebUpgrade git-p4Upgrade git-core-debuginfoUpgrade perl-Git-SVNUpgrade gitkUpgrade git-cvsUpgrade gitUpgrade git-subtreeUpgrade git-svnUpgrade git-coreUpgrade git-debugsourceUpgrade git-daemon-debuginfo | Feb 17, 2025 | Jan 17, 2023 |
| Centos_linux | — | Upgrade git-emailUpgrade emacs-gitUpgrade perl-Git-SVNUpgrade git-allUpgrade git-p4Upgrade git-guiUpgrade perl-GitUpgrade git-daemonUpgrade git-instawebUpgrade git-hgUpgrade gitkUpgrade git-debuginfoUpgrade git-gnome-keyringUpgrade gitwebUpgrade git-svnUpgrade git-bzrUpgrade gitUpgrade git-cvsUpgrade emacs-git-el | 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 git-coreUpgrade git-core-docUpgrade git | Jun 9, 2023 | Jan 17, 2023 |
| Huawei Euleros 2_0_sp8 | — | Upgrade git-core-docUpgrade git-coreUpgrade git | 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-subtreeUpgrade git-svnUpgrade git-instawebUpgrade git-cvsUpgrade git-guiUpgrade git-p4Upgrade git-emailUpgrade git-bzrUpgrade perl-GitUpgrade perl-Git-SVNUpgrade git-coreUpgrade git-daemonUpgrade git-allUpgrade git-credential-libsecretUpgrade emacs-git-elUpgrade git-core-docUpgrade gitkUpgrade git-gnome-keyringUpgrade gitwebUpgrade emacs-gitUpgrade git-hgUpgrade git | Feb 7, 2023 | Jan 17, 2023 |
| Redhat_linux | — | Upgrade git-coreUpgrade git-credential-libsecretUpgrade emacs-git-elUpgrade git-debugsourceUpgrade gitUpgrade git-core-docUpgrade git-svnUpgrade gitwebUpgrade git-allUpgrade perl-Git-SVNUpgrade git-daemon-debuginfoUpgrade git-bzrNo solution existsUpgrade git-gnome-keyringUpgrade git-core-debuginfoUpgrade git-credential-libsecret-debuginfoUpgrade emacs-gitUpgrade git-debuginfoUpgrade git-guiUpgrade git-instawebUpgrade perl-GitUpgrade git-emailUpgrade git-daemonUpgrade git-p4Upgrade git-hgUpgrade gitkUpgrade git-cvsUpgrade git-subtree | Feb 8, 2023 | Jan 17, 2023 |
| Rocky_linux | — | Upgrade git-credential-libsecret-debuginfoUpgrade gitUpgrade git-subtreeUpgrade git-credential-libsecretUpgrade git-debugsourceUpgrade git-debuginfoUpgrade git-daemonUpgrade git-coreUpgrade git-daemon-debuginfoUpgrade git-core-debuginfo | Mar 12, 2024 | Jan 17, 2023 |
| Suse | — | Upgrade git-daemonUpgrade git-emailUpgrade perl-GitUpgrade git-docUpgrade git-coreUpgrade git-guiUpgrade git-p4Upgrade git-credential-gnome-keyringUpgrade gitUpgrade git-archUpgrade git-credential-libsecretUpgrade git-svnUpgrade git-webUpgrade git-cvsUpgrade gitk | Jan 23, 2023 | Jan 17, 2023 |
| Ubuntu | — | Upgrade git (Ubuntu Pro)Upgrade git | 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