{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-105437","assignerOrgId":"ceab7361-8a18-47b1-92ba-4d7d25f6715a","state":"PUBLISHED","assignerShortName":"GitLab","dateReserved":"2026-10-05T13:05:02.346Z","datePublished":"2026-11-10T18:34:09.369Z","dateUpdated":"2026-11-10T18:34:09.369Z"},"containers":{"cna":{"title":"Heap-based Buffer Overflow in Git","descriptions":[{"lang":"en","value":"Affected versions of Git have a heap buffer overflow in the three-way merge\ncode (xdiff), which an attacker can trigger through a repository they\ncontrol.\n\nWhen Git merges a file, it first adds up the size of the merged\noutput, allocates a buffer of that size, and then writes the output into\nit. That total was kept in a 32-bit signed integer. The\nconflict-marker-size attribute, which can be set from a committed\n.gitattributes file, accepts any positive integer, and the markers are\nwritten several times for every conflict. A small file with a huge marker\nsize and many separate conflicts can therefore push the total past 4 GiB,\nso the integer wraps to a small value and Git writes attacker-controlled\nmerge output past the end of a buffer that is too small. At minimum this\ncrashes Git, and because the overflow is large and its contents are largely\nattacker-controlled, worse heap corruption is possible.\n\nAny command that does a textual three-way merge can trigger it, such\nas git-merge(1), git-rebase(1), git-cherry-pick(1), and\ngit-merge-tree(1). The latter is most likely a target for Git forges,\nwhich might use git-merge-tree(1) on the server-side to check\nmergeability. When the server reads attributes from trees in the\nrepository (for example through attr.tree or --attr-source), any\nuser who can push branches and request that they be merged (for\nexample by opening a pull or merge request) can trigger the overflow\nwithout anyone else doing anything, and the data they push is small\nbecause the oversized output only appears during the merge.\n\nThe problem has been patched by computing the size as size_t and\nchecking every addition for overflow, so Git stops with an error\ninstead of overflowing.\n\nServers that cannot upgrade right away can add\n\n* conflict-marker-size=7\n\nto each repository's info/attributes as a workaround, which overrides\nany in-tree .gitattributes, or turn off server-side mergeability checks for\nuntrusted repositories."}],"affected":[{"vendor":"Git","product":"Git","repo":"https://gitlab.com/git-scm/git","cpes":["cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*"],"versions":[{"version":"0","status":"affected","lessThan":"2.49.1","versionType":"semver"},{"version":"2.50.0-rc0","status":"affected","lessThan":"2.50.2","versionType":"semver"},{"version":"2.51.0-rc0","status":"affected","lessThan":"2.51.3","versionType":"semver"},{"version":"2.52.0-rc0","status":"affected","lessThan":"2.52.1","versionType":"semver"},{"version":"2.53.0-rc0","status":"affected","lessThan":"2.53.1","versionType":"semver"},{"version":"2.54.0-rc0","status":"affected","lessThan":"2.54.1","versionType":"semver"},{"version":"2.55.0-rc0","status":"affected","lessThan":"2.55.1","versionType":"semver"},{"version":"2.56.0-rc0","status":"affected","lessThan":"2.56.1","versionType":"semver"}],"defaultStatus":"unaffected"}],"problemTypes":[{"descriptions":[{"lang":"en","description":"CWE-122: Heap-based Buffer Overflow","cweId":"CWE-122","type":"CWE"}]}],"references":[{"url":"https://gitlab.com/gitlab-org/git/-/work_items/814"},{"url":"https://gitlab.com/gitlab-org/gitlab/-/work_items/632121"},{"url":"https://hackerone.com/reports/4044249","name":"HackerOne Bug Bounty Report #4044249","tags":["technical-description","exploit","permissions-required"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH"}}],"solutions":[{"lang":"en","value":"Upgrade to versions 2.50.2, 2.51.3, 2.52.1, 2.53.1, 2.54.1, 2.55.1, 2.56.1 or above."}],"credits":[{"lang":"en","value":"Thanks [taise](https://hackerone.com/taise) for reporting this vulnerability through HackerOne","type":"finder"}],"providerMetadata":{"orgId":"ceab7361-8a18-47b1-92ba-4d7d25f6715a","shortName":"GitLab","dateUpdated":"2026-11-10T18:34:09.369Z"}}}}