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 perl-GitUpgrade git-svnUpgrade git-daemonUpgrade git-credential-libsecretUpgrade git-emailUpgrade git-allUpgrade git-core-docUpgrade git-instawebUpgrade git-guiUpgrade gitwebUpgrade git-coreUpgrade gitkUpgrade perl-Git-SVNUpgrade git-subtreeUpgrade git | Feb 9, 2023 | Jan 17, 2023 |
| Alpine Linux | — | Upgrade git | Aug 22, 2024 | Jan 17, 2023 |
| Amazon Linux Ami 2 | — | Upgrade git-debuginfoUpgrade git-guiUpgrade git-emailUpgrade git-daemonUpgrade perl-Git-SVNUpgrade git-instawebUpgrade git-p4Upgrade git-cvsUpgrade perl-GitUpgrade git-subtreeUpgrade git-core-docUpgrade git-allUpgrade gitkUpgrade gitUpgrade git-svnUpgrade git-coreUpgrade gitwebUpgrade git-credential-libsecret | Feb 7, 2023 | Jan 17, 2023 |
| Amazon_linux | — | Upgrade git | Feb 7, 2023 | Jan 17, 2023 |
| Amazon_linux_2023 | — | Upgrade git-coreUpgrade gitkUpgrade git-cvsUpgrade gitUpgrade perl-Git-SVNUpgrade git-subtreeUpgrade git-svnUpgrade git-daemon-debuginfoUpgrade git-debugsourceUpgrade git-core-debuginfoUpgrade git-core-docUpgrade git-credential-libsecret-debuginfoUpgrade git-emailUpgrade git-debuginfoUpgrade gitwebUpgrade git-p4Upgrade git-credential-libsecretUpgrade git-instawebUpgrade perl-GitUpgrade git-allUpgrade git-guiUpgrade git-daemon | Feb 17, 2025 | Jan 17, 2023 |
| Centos_linux | — | Upgrade git-svnUpgrade gitUpgrade git-bzrUpgrade gitwebUpgrade emacs-git-elUpgrade git-gnome-keyringUpgrade git-cvsUpgrade perl-Git-SVNUpgrade emacs-gitUpgrade git-daemonUpgrade git-hgUpgrade git-emailUpgrade git-allUpgrade git-p4Upgrade git-guiUpgrade gitkUpgrade perl-GitUpgrade git-instawebUpgrade git-debuginfo | 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 git-helpUpgrade git | 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 gitUpgrade git-coreUpgrade git-core-doc | Apr 13, 2023 | Jan 17, 2023 |
| Huawei Euleros 2_0_sp9 | — | Upgrade git-helpUpgrade git | Mar 9, 2023 | Jan 17, 2023 |
| Oracle_linux | — | Upgrade perl-GitUpgrade perl-Git-SVNUpgrade git-p4Upgrade git-instawebUpgrade git-emailUpgrade git-daemonUpgrade git-cvsUpgrade git-guiUpgrade git-coreUpgrade git-svnUpgrade git-subtreeUpgrade git-bzrUpgrade git-allUpgrade emacs-gitUpgrade gitUpgrade git-gnome-keyringUpgrade gitwebUpgrade gitkUpgrade git-core-docUpgrade git-hgUpgrade emacs-git-elUpgrade git-credential-libsecret | Feb 7, 2023 | Jan 17, 2023 |
| Redhat_linux | — | Upgrade perl-GitUpgrade git-emailUpgrade git-hgUpgrade emacs-gitUpgrade gitkUpgrade git-p4Upgrade git-core-debuginfoUpgrade git-debuginfoUpgrade git-instawebUpgrade git-daemonUpgrade git-subtreeUpgrade git-cvsUpgrade git-guiUpgrade git-credential-libsecret-debuginfoUpgrade git-allUpgrade gitUpgrade emacs-git-elUpgrade git-gnome-keyringUpgrade git-svnUpgrade git-credential-libsecretNo solution existsUpgrade git-bzrUpgrade gitwebUpgrade git-core-docUpgrade git-coreUpgrade git-debugsourceUpgrade git-daemon-debuginfoUpgrade perl-Git-SVN | Feb 8, 2023 | Jan 17, 2023 |
| Rocky_linux | — | Upgrade git-debuginfoUpgrade git-daemonUpgrade git-core-debuginfoUpgrade git-daemon-debuginfoUpgrade git-debugsourceUpgrade git-coreUpgrade git-credential-libsecretUpgrade git-subtreeUpgrade gitUpgrade git-credential-libsecret-debuginfo | Mar 12, 2024 | Jan 17, 2023 |
| Suse | — | Upgrade git-p4Upgrade git-daemonUpgrade git-docUpgrade perl-GitUpgrade git-guiUpgrade git-emailUpgrade git-coreUpgrade git-archUpgrade git-credential-libsecretUpgrade git-cvsUpgrade git-webUpgrade git-credential-gnome-keyringUpgrade gitUpgrade gitkUpgrade git-svn | 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