CVE-2016-10128
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart...
CVE-2016-10128 is a critical vulnerability (CVSS 9.8) in Libgit2 Project Libgit2, published February 6, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.96%, the 90th percentile. Fixed in libgit2 0.25.1-r0.
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
CVE-2016-10128- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-119
- Updated
- 2026-11-02
CVE List No score
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
CVE-2016-10128- Updated
- 2026-11-02
EUVDEUVD-2016-1318 No score
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
EUVD-2016-1318- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-23v5-3rr6-rp4h
9.8
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart...
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
GHSA-23v5-3rr6-rp4h- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-119
- Updated
- 2026-11-02
OSVALPINE-CVE-2016-10128
9.8
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
ALPINE-CVE-2016-10128- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
OSV
9.8
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
CVE-2016-10128- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 7 moreShow less
OSVDEBIAN-CVE-2016-10128
9.8
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
DEBIAN-CVE-2016-10128- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2016-10128
9.8
Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.
- Record
UBUNTU-CVE-2016-10128- CVSS 3.0
- 9.8 Critical
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2017-0319 No score
Updated libgit2 packages fix security vulnerabilities
Read out-of-bounds in git_oid_nfmt (CVE-2016-8568).
DoS using a null pointer dereference in git_commit_message (CVE-2016-8569).
Insufficient sanitization allows some edge cases in the Git Smart Protocol which can lead to reading outside of a buffer (CVE-2016-10128, CVE-2016-10129).
- Record
MGASA-2017-0319- Updated
- 2026-11-02
OSVopenSUSE-SU-2017:0405-1 No score
Security update for libgit2
This update for libgit2 to version 0.24.6 fixes the following issues:
- CVE-2016-10130: When using the custom certificate callback or when using pygit2 or git2go a attacker could have caused an invalid certificate to be accepted (bsc#1019037).
- CVE-2017-5338: When using the custom certificate callback or when using pygit2 or git2go a attacker could have caused an invalid certificate to be accepted (bsc#1019037).
- CVE-2017-5339: When using the custom certificate callback or when using pygit2 or git2go a attacker could have caused an invalid certificate to be accepted (bsc#1019037).
- CVE-2016-10128: Additional sanitization prevent some edge cases in the Git Smart Protocol which can lead to reading outside of a buffer (bsc#1019036).
- CVE-2016-10129: Additional sanitization prevent some edge cases in the Git Smart Protocol which can lead to reading outside of a buffer (bsc#1019036).
- Record
openSUSE-SU-2017:0405-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10943-1 No score
libgit2-1_1-1.1.1-1.2 on GA media
These are all security issues fixed in the libgit2-1_1-1.1.1-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10943-1- Updated
- 2026-11-02
OSVSUSE-SU-2017:0433-1 No score
Security update for libgit2
This update for libgit2 fixes the several issues.
These security issues were fixed:
- CVE-2016-10130: When using the custom certificate callback or when using pygit2 or git2go a attacker could have caused an invalid certificate to be accepted (bsc#1019037).
- CVE-2017-5338: When using the custom certificate callback or when using pygit2 or git2go a attacker could have caused an invalid certificate to be accepted (bsc#1019037).
- CVE-2017-5339: When using the custom certificate callback or when using pygit2 or git2go a attacker could have caused an invalid certificate to be accepted (bsc#1019037).
- CVE-2016-10128: Additional sanitization prevent some edge cases in the Git Smart Protocol which can lead to reading outside of a buffer (bsc#1019036).
- CVE-2016-10129: Additional sanitization prevent some edge cases in the Git Smart Protocol which can lead to reading outside of a buffer (bsc#1019036).
- Record
SUSE-SU-2017:0433-1- Updated
- 2026-11-02
OSVUSN-8628-1 No score
libgit2 vulnerabilities
It was discovered that libgit2 incorrectly handled the Git Smart Protocol. A remote attacker could possibly use this issue to cause a denial of service or execute arbitrary code. This issue only affected Ubuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2016-10128)
It was discovered that libgit2 incorrectly handled empty packet lines in the Git Smart Protocol. A remote attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2016-10129)
It was discovered that libgit2 incorrectly handled error reporting in the HTTP transport. A remote attacker could possibly use this issue to spoof servers. This issue only affected Ubuntu 16.04 LTS. (CVE-2016-10130)
It was discovered that libgit2 incorrectly handled certain crafted "ng" packets. A remote attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, and Ubuntu 18.04 LTS. (CVE-2018-15501)
Krishna Ram Prakash R and Vivek Parikh discovered that libgit2 incorrectly handled certain repository index files. A local attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 18.04 LTS. (CVE-2018-8098)
Krishna Ram Prakash R and Vivek Parikh discovered that libgit2 incorrectly handled certain repository index files. A local attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, and Ubuntu 18.04 LTS. (CVE-2018-8099)
Michał Majchrowicz and Marcin Wyczechowski discovered that libgit2 incorrectly handled submodule paths. A remote attacker could possibly use this issue to write files outside the working tree. This issue only affected Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-53584)
Michał Majchrowicz and Marcin Wyczechowski discovered that libgit2 incorrectly handled delta object result-size headers. A remote attacker could possibly use this issue to cause libgit2 to consume excessive memory, leading to a denial of service. (CVE-2026-53585)
Thai Son Dinh discovered that libgit2 incorrectly handled HTTP redirects. A remote attacker could possibly use this issue to leak credentials to an offsite redirect target. This issue only affected Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-53586)
It was discovered that libgit2 incorrectly handled certain capability buffers in the smart protocol. A remote attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-53587)
- Record
USN-8628-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libgit2Alpine:v3.10 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.11 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.12 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.13 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.14 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.15 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.16 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.17 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.18 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.19 |
before 0.25.1-r0 | 0.25.1-r0 |
Show 31 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libgit2Alpine:v3.20 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.21 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.22 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.23 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.24 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.4 |
before 0.24.6-r0 | 0.24.6-r0 |
libgit2Alpine:v3.5 |
before 0.24.6-r0 | 0.24.6-r0 |
libgit2Alpine:v3.6 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.7 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.8 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2Alpine:v3.9 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2-0.27Alpine:v3.10 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2-1.0Alpine:v3.13 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2-1.0Alpine:v3.14 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2-1.1Alpine:v3.15 |
before 0.25.1-r0 | 0.25.1-r0 |
libgit2-1.1Alpine:v3.16 |
before 0.25.1-r0 | 0.25.1-r0 |
cargoDebian:12 |
before 0.17.0-1 | 0.17.0-1 |
libgit2Debian:12 |
before 0.25.1+really0.24.6-1 | 0.25.1+really0.24.6-1 |
libgit2Debian:13 |
before 0.25.1+really0.24.6-1 | 0.25.1+really0.24.6-1 |
libgit2Debian:14 |
before 0.25.1+really0.24.6-1 | 0.25.1+really0.24.6-1 |
libgit2Mageia:5 |
before 0.21.1-3.2.mga5 | 0.21.1-3.2.mga5 |
libgit2SUSE:Linux Enterprise Software Development Kit 12 SP2 |
before 0.24.1-6.1 | 0.24.1-6.1 |
libgit2Ubuntu:Pro:14.04:LTS |
before 0.19.0-2ubuntu0.4+esm2, plus listed versions 0.19.0-20.19.0-2ubuntu0.40.19.0-2ubuntu0.4+esm1 |
0.19.0-2ubuntu0.4+esm2 |
libgit2Ubuntu:Pro:16.04:LTS |
before 0.24.1-2ubuntu0.2+esm3, plus listed versions 0.22.2-20.23.1-10.24.1-20.24.1-2ubuntu0.20.24.1-2ubuntu0.2+esm10.24.1-2ubuntu0.2+esm2 |
0.24.1-2ubuntu0.2+esm3 |
libgit2Ubuntu:Pro:18.04:LTS |
before 0.26.0+dfsg.1-1.1ubuntu0.2+esm2, plus listed versions 0.25.1+really0.24.6-10.26.0+dfsg.1-1.10.26.0+dfsg.1-1.1build10.26.0+dfsg.1-1.1ubuntu0.20.26.0+dfsg.1-1.1ubuntu0.2+esm1 |
0.26.0+dfsg.1-1.1ubuntu0.2+esm2 |
libgit2Ubuntu:Pro:20.04:LTS |
before 0.28.4+dfsg.1-2ubuntu0.1+esm1, plus listed versions 0.27.7+dfsg.1-0.2build10.28.3+dfsg.1-10.28.3+dfsg.1-1ubuntu10.28.4+dfsg.1-20.28.4+dfsg.1-2ubuntu0.1 |
0.28.4+dfsg.1-2ubuntu0.1+esm1 |
libgit2Ubuntu:Pro:22.04:LTS |
before 1.1.0+dfsg.1-4.1ubuntu0.1+esm1, plus listed versions 1.1.0+dfsg.1-41.1.0+dfsg.1-4.11.1.0+dfsg.1-4.1build11.1.0+dfsg.1-4.1ubuntu0.1 |
1.1.0+dfsg.1-4.1ubuntu0.1+esm1 |
libgit2Ubuntu:24.04:LTS |
before 1.7.2+ds-1ubuntu3.1, plus listed versions 1.5.1+ds-1ubuntu11.7.1+ds-2ubuntu11.7.2+ds-1ubuntu11.7.2+ds-1ubuntu21.7.2+ds-1ubuntu3 |
1.7.2+ds-1ubuntu3.1 |
libgit2Ubuntu:26.04:LTS |
before 1.9.1+ds-1ubuntu1.1, plus listed versions 1.9.0+ds-2ubuntu21.9.1+ds-1ubuntu1 |
1.9.1+ds-1ubuntu1.1 |
libgit2SUSE:Package Hub 12 SP1 |
before 0.24.6-10.1 | 0.24.6-10.1 |
libgit2openSUSE:Tumbleweed |
before 1.1.1-1.2 | 1.1.1-1.2 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | affected | OSV |
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
securityfocus.com/bid/95338
libgit2.github.com/security
github.com/libgit2/libgit2/commit/66e3774d279672ee51c3b54545a79d20d1ada834
github.com/libgit2/libgit2/commit/4ac39c76c0153d1ee6889a0984c39e97731684b2
openwall.com/lists/oss-security/2017/01/10/5
openwall.com/lists/oss-security/2017/01/11/6
Show 43 moreShow less
lists.opensuse.org/opensuse-updates/2017-02/msg00030.html
lists.opensuse.org/opensuse-updates/2017-02/msg00036.html
lists.opensuse.org/opensuse-updates/2017-02/msg00072.html
nvd.nist.gov/vuln/detail/CVE-2016-10128
github.com/advisories/GHSA-23v5-3rr6-rp4h
security.alpinelinux.org/vuln/CVE-2016-10128
security-tracker.debian.org/tracker/CVE-2016-10128
advisories.mageia.org/MGASA-2017-0319.html
bugs.mageia.org/show_bug.cgi?id=19792
lists.fedoraproject.org/archives/list/[email protected]/thread/4E77DG5KGQ7L34U75QY7O6NIPKZNQHQJ
suse.com/support/update/announcement/2017/suse-su-20170433-1
bugzilla.suse.com/1019036
bugzilla.suse.com/1019037
suse.com/security/cve/CVE-2016-10128
suse.com/security/cve/CVE-2016-10129
suse.com/security/cve/CVE-2016-10130
suse.com/security/cve/CVE-2017-5338
suse.com/security/cve/CVE-2017-5339
ubuntu.com/security/CVE-2016-10128
cve.org/CVERecord?id=CVE-2016-10128
ubuntu.com/security/notices/USN-8628-1
ubuntu.com/security/CVE-2016-10129
ubuntu.com/security/CVE-2016-10130
ubuntu.com/security/CVE-2018-8098
ubuntu.com/security/CVE-2018-8099
ubuntu.com/security/CVE-2018-15501
ubuntu.com/security/CVE-2026-53584
ubuntu.com/security/CVE-2026-53585
ubuntu.com/security/CVE-2026-53586
ubuntu.com/security/CVE-2026-53587
suse.com/security/cve/CVE-2005-4900
suse.com/security/cve/CVE-2018-10887
suse.com/security/cve/CVE-2018-11235
suse.com/security/cve/CVE-2018-17456
suse.com/security/cve/CVE-2018-8098
suse.com/security/cve/CVE-2019-1348
suse.com/security/cve/CVE-2019-1349
suse.com/security/cve/CVE-2019-1350
suse.com/security/cve/CVE-2019-1351
suse.com/security/cve/CVE-2019-1352
suse.com/security/cve/CVE-2019-1353
suse.com/security/cve/CVE-2019-1354
suse.com/security/cve/CVE-2019-1387