The BPF subsystem in the Linux kernel before 4.5.5 mishandles reference counts, which allows local users to cause a denial of service (use-after-free) or possibly have unspecified other impact via a crafted application on (1) a system with more than 32 Gb of memory, related to the program reference count or (2) a 1 Tb system, related to the map reference count.
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-4558.json"
[
{
"id": "CVE-2016-4558-120c5ed0",
"target": {
"function": "replace_map_fd_with_map_ptr",
"file": "kernel/bpf/verifier.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "190930338840584926133833709243212933153",
"length": 1683.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-339b524d",
"target": {
"function": "bpf_obj_do_get",
"file": "kernel/bpf/inode.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "313382356500887758003044457376956500654",
"length": 519.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-4f7ce445",
"target": {
"function": "bpf_map_inc",
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "16216341992669941989871674713607625598",
"length": 130.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-784dd063",
"target": {
"function": "bpf_map_get_with_uref",
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "273380905693230907033888317089347965255",
"length": 203.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-9076f9b5",
"target": {
"file": "kernel/bpf/verifier.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"177011001201451834483419299260569905402",
"199825006613619424692440983439445110277",
"118935384386146122780715623456032347095",
"64352664226539465290049659523573374867",
"51613899236560195483173238661132723573"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-c4930f12",
"target": {
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"243343009758551700688154402470444292056",
"80441742604466218609277733917248011067",
"86004419254563295929102023170812088669",
"190963324200177634529735021819916556063",
"65271935729308994869672512843855280052",
"292601979322762839716898341299377518554",
"226070602140172420496491992442900080273",
"34429707584751854137618238448158696190",
"253850830420669738593386736887023777634",
"68548983979310744992378065206373871430",
"132951146021702223646486391236816155598",
"290219466712813347555862035461643289160",
"331821397469843603026101973191310015482",
"122386591412911847097346054530133814617",
"34774044413738310499198321241667964595",
"297384679404731181845106148589558742866",
"161351863297643340851438821824739309862",
"43993224916977209001958046759941207622",
"321227470400350634096479386805291245447"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-d6fbfdff",
"target": {
"function": "bpf_prog_get",
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "210449100520476557141763423720943338524",
"length": 215.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-e3d8a3a6",
"target": {
"file": "kernel/bpf/inode.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"53710616813497269724549854551143417222",
"45753040055815415887686004934774541468",
"277244748314435461155905768603421945591",
"168155939326834368533084618223944574307",
"177609720796086968123706084182781708661",
"287669554441607512802206938904840630306",
"157907262561103065487931815873413150673",
"32345848545094374065529258392515165962",
"172514420759819440919778742308655043938",
"188501687871100732410904999466215460931",
"65247176412517819836429384214941710371"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-f49956ab",
"target": {
"file": "include/linux/bpf.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"192163434889149934068124827358174144428",
"322404993105027709528781409631052539296",
"67274791542894647151956470334839749058",
"217953673882848456169004003085966701069",
"337451380772678288102304750632393651269",
"154438958770212034925522946169335220203",
"302528282486087331515540698255600456633",
"46022130214422842144648059889411109126",
"164824831885651973283881435246186205807"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-f90eb1fc",
"target": {
"function": "bpf_any_get",
"file": "kernel/bpf/inode.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git@92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "8319285331760352789435032850065583946",
"length": 271.0
},
"signature_type": "Function"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-4558.json"
[
{
"id": "CVE-2016-4558-24419b40",
"target": {
"file": "kernel/bpf/verifier.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"177011001201451834483419299260569905402",
"199825006613619424692440983439445110277",
"118935384386146122780715623456032347095",
"64352664226539465290049659523573374867",
"51613899236560195483173238661132723573"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-316f8321",
"target": {
"function": "bpf_map_inc",
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "16216341992669941989871674713607625598",
"length": 130.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-3359abcc",
"target": {
"function": "replace_map_fd_with_map_ptr",
"file": "kernel/bpf/verifier.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "190930338840584926133833709243212933153",
"length": 1683.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-5485d3d9",
"target": {
"function": "bpf_any_get",
"file": "kernel/bpf/inode.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "8319285331760352789435032850065583946",
"length": 271.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-6c9075f3",
"target": {
"function": "bpf_obj_do_get",
"file": "kernel/bpf/inode.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "313382356500887758003044457376956500654",
"length": 519.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-ad24d996",
"target": {
"file": "include/linux/bpf.h"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"192163434889149934068124827358174144428",
"322404993105027709528781409631052539296",
"67274791542894647151956470334839749058",
"217953673882848456169004003085966701069",
"337451380772678288102304750632393651269",
"154438958770212034925522946169335220203",
"302528282486087331515540698255600456633",
"46022130214422842144648059889411109126",
"164824831885651973283881435246186205807"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-c4a6b1b6",
"target": {
"function": "bpf_map_get_with_uref",
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "273380905693230907033888317089347965255",
"length": 203.0
},
"signature_type": "Function"
},
{
"id": "CVE-2016-4558-d288534d",
"target": {
"file": "kernel/bpf/inode.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"53710616813497269724549854551143417222",
"45753040055815415887686004934774541468",
"277244748314435461155905768603421945591",
"168155939326834368533084618223944574307",
"177609720796086968123706084182781708661",
"287669554441607512802206938904840630306",
"157907262561103065487931815873413150673",
"32345848545094374065529258392515165962",
"172514420759819440919778742308655043938",
"188501687871100732410904999466215460931",
"65247176412517819836429384214941710371"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-d924c00d",
"target": {
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"243343009758551700688154402470444292056",
"80441742604466218609277733917248011067",
"86004419254563295929102023170812088669",
"190963324200177634529735021819916556063",
"65271935729308994869672512843855280052",
"292601979322762839716898341299377518554",
"226070602140172420496491992442900080273",
"34429707584751854137618238448158696190",
"253850830420669738593386736887023777634",
"68548983979310744992378065206373871430",
"132951146021702223646486391236816155598",
"290219466712813347555862035461643289160",
"331821397469843603026101973191310015482",
"122386591412911847097346054530133814617",
"34774044413738310499198321241667964595",
"297384679404731181845106148589558742866",
"161351863297643340851438821824739309862",
"43993224916977209001958046759941207622",
"321227470400350634096479386805291245447"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2016-4558-f3446a5e",
"target": {
"function": "bpf_prog_get",
"file": "kernel/bpf/syscall.c"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/torvalds/linux/commit/92117d8443bc5afacc8d5ba82e541946310f106e",
"digest": {
"function_hash": "210449100520476557141763423720943338524",
"length": 215.0
},
"signature_type": "Function"
}
]