{"id":"CVE-2018-15501","aliases":["ALPINE-CVE-2018-15501","DEBIAN-CVE-2018-15501","DLA-1477-1","DLA-2936-1","EUVD-2018-7378","GHSA-432h-4cw6-prpw","SUSE-SU-2018:2469-1","SUSE-SU-2018:3440-1","UBUNTU-CVE-2018-15501"],"status":"published","title":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote...","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.04373,"percentile":0.9134,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2018-08-18T02:00:00Z","modified":"2026-10-23T18:03:55Z","fixes":[{"ecosystem":"Alpine:v3.10","package":"libgit2","fixed_in":["0.27.4-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.11","package":"libgit2","fixed_in":["0.27.4-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.9","package":"libgit2","fixed_in":["0.27.4-r0"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"libgit2","fixed_in":["0.27.4+dfsg.1-0.1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libgit2","fixed_in":["0.27.4+dfsg.1-0.1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libgit2","fixed_in":["0.27.4+dfsg.1-0.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libgit2","fixed_in":["0.19.0-2ubuntu0.4+esm2"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libgit2","fixed_in":["0.24.1-2ubuntu0.2+esm3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libgit2","fixed_in":["0.26.0+dfsg.1-1.1ubuntu0.2+esm2"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.10","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.27.0"},{"fixed":"0.27.4-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.11","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.27.0"},{"fixed":"0.27.4-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.9","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.27.0"},{"fixed":"0.27.4-r0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.27.4+dfsg.1-0.1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.27.4+dfsg.1-0.1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.27.4+dfsg.1-0.1"}]}]},{"source":"osv","ecosystem":"Debian:8","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.21.1-3+deb8u1"}]}],"versions":["0.21.1-3"],"bundled":3},{"source":"osv","ecosystem":"Debian:9","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.25.1+really0.24.6-1+deb9u1"}]}],"versions":["0.25.1+really0.24.6-1"],"bundled":7},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.26.6-3.5.2"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP3","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.24.1-7.6.1"}]}],"bundled":5},{"source":"osv","ecosystem":"SUSE:Manager Server 3.1","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.24.1-7.6.1"}]}],"bundled":5},{"source":"osv","ecosystem":"SUSE:Manager Server 3.2","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.24.1-7.6.1"}]}],"bundled":5},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.19.0-2ubuntu0.4+esm2"}]}],"versions":["0.19.0-2","0.19.0-2ubuntu0.4","0.19.0-2ubuntu0.4+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.24.1-2ubuntu0.2+esm3"}]}],"versions":["0.22.2-2","0.23.1-1","0.24.1-2","0.24.1-2ubuntu0.2","0.24.1-2ubuntu0.2+esm1","0.24.1-2ubuntu0.2+esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"libgit2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.26.0+dfsg.1-1.1ubuntu0.2+esm2"}]}],"versions":["0.25.1+really0.24.6-1","0.26.0+dfsg.1-1.1","0.26.0+dfsg.1-1.1build1","0.26.0+dfsg.1-1.1ubuntu0.2","0.26.0+dfsg.1-1.1ubuntu0.2+esm1"]}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"libgit2","product":"libgit2"}],"references":[{"url":"https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9406","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Patch","Third Party Advisory","fix","report"]},{"url":"https://github.com/libgit2/libgit2/releases/tag/v0.27.4","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","advisory","report"]},{"url":"https://www.pro-linux.de/sicherheit/2/44650/denial-of-service-in-libgit2.html","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","report"]},{"url":"https://bugzilla.suse.com/show_bug.cgi?id=1104641","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Patch","Third Party Advisory","fix","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2018/08/msg00024.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://github.com/libgit2/libgit2/releases/tag/v0.26.6","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","advisory","report"]},{"url":"https://github.com/libgit2/libgit2/commit/1f9a8510e1d2f20ed7334eeeddb92c4dd8e7c649","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2022/03/msg00031.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-15501"},{"url":"https://github.com/advisories/GHSA-432h-4cw6-prpw"},{"url":"https://security.alpinelinux.org/vuln/CVE-2018-15501","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-15501","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2018/suse-su-20182469-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1095219","tags":["report"]},{"url":"https://bugzilla.suse.com/1100612","tags":["report"]},{"url":"https://bugzilla.suse.com/1100613","tags":["report"]},{"url":"https://bugzilla.suse.com/1104641","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10887","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-10888","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-11235","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-15501","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2018/suse-su-20183440-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1085256","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-8099","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2018-15501","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-15501","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8628-1","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2018-15501","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2018-08-18T02:00:00Z","modified":"2024-08-05T09:54:03.514Z","updated_at":"2026-11-02T14:35:03.825765Z"}],"euvd":[{"id":"EUVD-2018-7378","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2018-08-18T02:00:00Z","modified":"2024-08-05T09:54:03Z","updated_at":"2026-11-03T02:39:44.728742Z"}],"ghsa":[{"id":"GHSA-432h-4cw6-prpw","title":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote...","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2022-05-12T00:00:21Z","modified":"2023-02-01T05:02:13Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:49:52.298896Z"}],"nvd":[{"id":"CVE-2018-15501","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2018-08-18T02:29:01.713Z","modified":"2026-06-17T01:42:39.383Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-125"],"updated_at":"2026-11-02T14:04:36.842579Z"}],"osv":[{"id":"ALPINE-CVE-2018-15501","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2018-08-18T02:29:01.713Z","modified":"2026-10-23T17:17:55.221001966Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:27:47.187336Z"},{"id":"CVE-2018-15501","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2018-08-18T02:29:01.713Z","modified":"2026-10-20T13:35:29.85723491Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:08.242347Z"},{"id":"DEBIAN-CVE-2018-15501","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2018-08-18T02:29:01.713Z","modified":"2026-10-23T18:03:55.126442038Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:30.290351Z"},{"id":"UBUNTU-CVE-2018-15501","description":"In ng_pkt in transports/smart_pkt.c in libgit2 before 0.26.6 and 0.27.x before 0.27.4, a remote attacker can send a crafted smart-protocol \"ng\" packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.","status":"published","published":"2018-08-18T02:29:00Z","modified":"2026-08-13T19:30:09.052393502Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:54:17.014176Z"},{"id":"DLA-1477-1","title":"libgit2 - security update","status":"published","published":"2018-08-25T00:00:00Z","modified":"2026-03-09T01:00:52.930414Z","updated_at":"2026-11-02T15:46:09.777694Z"},{"id":"DLA-2936-1","title":"libgit2 - security update","status":"published","published":"2022-03-07T00:00:00Z","modified":"2026-03-09T01:23:32.580319Z","updated_at":"2026-11-02T15:46:11.189256Z"},{"id":"SUSE-SU-2018:2469-1","title":"Security update for libgit2","description":"This update for libgit2 to version 0.26.5 fixes the following issues:\n\nThe following security vulnerabilities were addressed:\n\n- CVE-2018-10887: Fixed an integer overflow which in turn leads to an out of\n  bound read, allowing to read the base object, which could be exploited by\n  an attacker to cause denial of service (DoS) (bsc#1100613).\n- CVE-2018-10888: Fixed an out-of-bound read while reading a binary delta file,\n  which could be exploited by an attacker t ocause a denial of service (DoS)\n  (bsc#1100612).\n- CVE-2018-11235: Fixed a remote code execution, which could occur with a\n  crafted .gitmodules file (bsc#1095219)\n- CVE-2018-15501: Prevent out-of-bounds reads when processing smart-protocol 'ng' packets\n  (bsc#1104641)\n","status":"published","published":"2018-08-21T12:52:53Z","modified":"2026-02-04T02:41:32.018226Z","updated_at":"2026-11-02T15:53:45.378228Z"},{"id":"SUSE-SU-2018:3440-1","title":"Security update for libgit2","description":"This update for libgit2 fixes the following issues:\n\n- CVE-2018-8099: Fixed possible denial of service attack via different vectors by not being able to differentiate between these status codes (bsc#1085256).\n- CVE-2018-11235: With a crafted .gitmodules file, a malicious project can execute an arbitrary script on a machine that runs 'git clone --recurse-submodules' because submodule 'names' are obtained from this file, and then appended to $GIT_DIR/modules, leading to directory traversal with '../' in a name. Finally, post-checkout hooks from a submodule are executed, bypassing the intended design in which hooks are not obtained from a remote server.  (bsc#1095219)\n- CVE-2018-10887: It has been discovered that an unexpected sign extension in git_delta_apply function in delta.c file may have lead to an integer overflow which in turn leads to an out of bound read, allowing to read before the base object. An attacker could have used this flaw to leak memory addresses or cause a Denial of Service. (bsc#1100613)\n- CVE-2018-10888: A missing check in git_delta_apply function in delta.c file, may lead to an out-of-bound read while reading a binary delta file. An attacker may use this flaw to cause a Denial of Service. (bsc#1100612)\n- CVE-2018-15501: A remote attacker can send a crafted smart-protocol 'ng' packet that lacks a '\\0' byte to trigger an out-of-bounds read that leads to DoS.  (bsc#1104641)\n","status":"published","published":"2018-10-25T12:19:42Z","modified":"2026-02-04T04:21:20.811866Z","updated_at":"2026-11-02T15:53:45.378228Z"}]}}
