{"id":"CVE-2016-8863","aliases":["DEBIAN-CVE-2016-8863","DLA-747-1","DLA-748-1","DSA-3736-1","EUVD-2016-9688","GHSA-4cjm-5fqc-2f6p","MGASA-2017-0002","UBUNTU-CVE-2016-8863","USN-4794-1","openSUSE-SU-2024:11006-1"],"status":"published","title":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP...","description":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP SDK (aka libupnp) before 1.6.21 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a valid URI followed by an invalid one in the CALLBACK header of an SUBSCRIBE request.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.0856,"percentile":0.95101,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-119"],"published":"2016-12-16T00:00:00Z","modified":"2026-10-24T10:30:33Z","exploits":[{"source":"pocgithub","id":"mephi42/CVE-2016-8863","title":"mephi42/CVE-2016-8863","date":"2020-12-24","url":"https://github.com/mephi42/CVE-2016-8863"}],"fixes":[{"ecosystem":"Debian:7","package":"libupnp","fixed_in":["1:1.6.17-1.2+deb7u2"],"sources":["osv"]},{"ecosystem":"Debian:7","package":"libupnp4","fixed_in":["1.8.0~svn20100507-1.2+deb7u1"],"sources":["osv"]},{"ecosystem":"Mageia:5","package":"libupnp","fixed_in":["1.6.19-4.2.mga5"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"libupnp","fixed_in":["1:1.6.17-1.2+deb7u2build0.14.04.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"libupnp4","fixed_in":["1.8.0~svn20100507-1.2+deb7u1build0.14.04.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libupnp","fixed_in":["1:1.6.19+git20160116-1ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:7","package":"libupnp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.6.17-1.2+deb7u2"}]}],"versions":["1:1.6.17-1.2","1:1.6.17-1.2+deb7u1"]},{"source":"osv","ecosystem":"Debian:7","package":"libupnp4","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.0~svn20100507-1.2+deb7u1"}]}],"versions":["1.8.0~svn20100507-1.2"]},{"source":"osv","ecosystem":"Debian:8","package":"libupnp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.6.19+git20141001-1+deb8u1"}]}],"versions":["1:1.6.19+git20141001-1"],"bundled":2},{"source":"osv","ecosystem":"Mageia:5","package":"libupnp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.6.19-4.2.mga5"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"libupnp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.6.17-1.2+deb7u2build0.14.04.1"}]}],"versions":["1:1.6.17-1.2","1:1.6.17-1.2+deb7u1build0.14.04.1"]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"libupnp4","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.0~svn20100507-1.2+deb7u1build0.14.04.1"}]}],"versions":["1.8.0~svn20100507-1.2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libupnp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.6.19+git20160116-1ubuntu0.1~esm1"}]}],"versions":["1:1.6.19+git20141001-1","1:1.6.19+git20141001-1ubuntu1","1:1.6.19+git20160116-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libupnp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.6.19+git20160116-1ubuntu0.1~esm1"}]}],"versions":["1:1.6.19+git20141001-1","1:1.6.19+git20141001-1ubuntu1","1:1.6.19+git20160116-1"],"bundled":2}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"libupnp_project","product":"libupnp"}],"references":[{"url":"https://sourceforge.net/p/pupnp/bugs/133/","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Third Party Advisory","report"]},{"url":"https://sourceforge.net/p/pupnp/code/ci/master/tree/ChangeLog","tags":["x_refsource_CONFIRM","x_transferred","Release Notes","Third Party Advisory","advisory"]},{"url":"https://security.gentoo.org/glsa/201701-52","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","advisory"]},{"url":"https://www.debian.org/security/2016/dsa-3736","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred","Third Party Advisory","advisory"]},{"url":"https://www.tenable.com/security/research/tra-2017-10","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"http://www.securityfocus.com/bid/92849","tags":["vdb-entry","x_refsource_BID","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-8863"},{"url":"https://sourceforge.net/p/pupnp/bugs/133"},{"url":"https://github.com/advisories/GHSA-4cjm-5fqc-2f6p"},{"url":"https://advisories.mageia.org/MGASA-2017-0002.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=19961","tags":["report"]},{"url":"http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8863","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2016-8863","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-8863","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-4794-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2016-6255","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2016-6255","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2016-8863","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-28302","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-29462","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2016-8863","description":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP SDK (aka libupnp) before 1.6.21 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a valid URI followed by an invalid one in the CALLBACK header of an SUBSCRIBE request.","status":"published","published":"2017-03-07T16:00:00Z","modified":"2024-08-06T02:35:01.248Z","updated_at":"2026-11-02T14:33:32.724067Z"}],"euvd":[{"id":"EUVD-2016-9688","description":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP SDK (aka libupnp) before 1.6.21 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a valid URI followed by an invalid one in the CALLBACK header of an SUBSCRIBE request.","status":"published","published":"2017-03-07T16:00:00Z","modified":"2024-08-06T02:35:01Z","updated_at":"2026-11-03T02:22:29.188942Z"}],"ghsa":[{"id":"GHSA-4cjm-5fqc-2f6p","title":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP...","description":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP SDK (aka libupnp) before 1.6.21 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a valid URI followed by an invalid one in the CALLBACK header of an SUBSCRIBE request.","status":"published","published":"2022-05-17T00:28:57Z","modified":"2025-04-20T03:34:48Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-119"],"updated_at":"2026-11-02T15:01:42.453698Z"}],"nvd":[{"id":"CVE-2016-8863","description":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP SDK (aka libupnp) before 1.6.21 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a valid URI followed by an invalid one in the CALLBACK header of an SUBSCRIBE request.","status":"published","published":"2017-03-07T16:59:01.493Z","modified":"2026-06-17T00:55:05.93Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-119"],"updated_at":"2026-11-02T14:03:37.238712Z"}],"osv":[{"id":"CVE-2016-8863","description":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP SDK (aka libupnp) before 1.6.21 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a valid URI followed by an invalid one in the CALLBACK header of an SUBSCRIBE request.","status":"published","published":"2017-03-07T16:59:01.493Z","modified":"2026-10-24T10:30:33.721042112Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:03.171316Z"},{"id":"UBUNTU-CVE-2016-8863","description":"Heap-based buffer overflow in the create_url_list function in gena/gena_device.c in Portable UPnP SDK (aka libupnp) before 1.6.21 allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a valid URI followed by an invalid one in the CALLBACK header of an SUBSCRIBE request.","status":"published","published":"2017-03-07T16:59:00Z","modified":"2026-04-22T11:01:46.030928Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:54:12.994319Z"},{"id":"DLA-747-1","title":"libupnp - security update","status":"published","published":"2016-12-16T00:00:00Z","modified":"2026-03-09T02:11:10.578784Z","updated_at":"2026-11-02T15:46:13.207219Z"},{"id":"DLA-748-1","title":"libupnp4 - security update","status":"published","published":"2016-12-16T00:00:00Z","modified":"2026-03-09T02:10:12.4828Z","updated_at":"2026-11-02T15:46:13.207219Z"},{"id":"DSA-3736-1","title":"libupnp - security update","status":"published","published":"2016-12-16T00:00:00Z","modified":"2026-03-09T01:20:34.07993Z","updated_at":"2026-11-02T15:46:16.523846Z"},{"id":"MGASA-2017-0002","title":"Updated libupnp packages fix security vulnerability","description":"Scott Tenaglia discovered a heap buffer overflow vulnerability, that can\nlead to denial of service or remote code execution (CVE-2016-8863).\n","status":"published","published":"2017-01-03T22:05:03Z","modified":"2026-04-16T06:25:05.835538518Z","updated_at":"2026-11-02T15:49:40.103088Z"},{"id":"openSUSE-SU-2024:11006-1","title":"libixml11-1.14.10-1.2 on GA media","description":"These are all security issues fixed in the libixml11-1.14.10-1.2 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:56:18.240248Z","updated_at":"2026-11-02T16:58:34.894275Z"},{"id":"USN-4794-1","title":"libupnp vulnerabilities","description":"Matthew Garrett discovered that libupnp mishandled POST requests by\ndefault. An attacker could use this vulnerability to write files to\narbitrary locations in the victim's filesystem, possibly as root.\n(CVE-2016-6255)\n\nIt was discovered that libupnp mishandled certain input. A remote attacker\ncould use this vulnerability to cause a denial of service (crash) or\npossibly execute arbitrary code. (CVE-2016-8863)\n","status":"published","published":"2021-03-15T21:15:46Z","modified":"2026-06-25T13:30:25.281731208Z","updated_at":"2026-11-02T16:58:15.159055Z"}]}}
