In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix use-after-free in bpfuprobemultilinkattach()
If bpflinkprime() fails, bpfuprobemultilinkattach() goes to the errorfree label and frees the array of bpfuprobe's without calling bpfuprobeunregister().
This leaks bpfuprobe->uprobe and worse, this frees bpfuprobe->consumer without removing it from the uprobe->consumers list.
[
{
"signature_version": "v1",
"digest": {
"length": 2928.0,
"function_hash": "305502381869536576462371819984786308019"
},
"id": "CVE-2024-47675-14958ccb",
"target": {
"file": "kernel/trace/bpf_trace.c",
"function": "bpf_uprobe_multi_link_attach"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c1d782e5afbf7c50ba74ecc4ddc18a05d63e5ee",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"length": 3009.0,
"function_hash": "213745321592824124653441947533362112527"
},
"id": "CVE-2024-47675-26b6aa56",
"target": {
"file": "kernel/trace/bpf_trace.c",
"function": "bpf_uprobe_multi_link_attach"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5fe6e308abaea082c20fbf2aa5df8e14495622cf",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"232199977138761564168210356081594199480",
"101323648324336881436773907868666273690",
"4967378215155633796116851223972606131",
"278620120578700354659069744431450035357",
"158774310169381428248402635715860720586",
"277014516990592047080037467496325750929",
"101475221164334993028755123171615563407",
"141945848821265755988191446249006564694",
"12265625284228822904932384632656278727",
"34261639046523092821786229302155258623",
"101982025419750827815246399955645663173"
]
},
"id": "CVE-2024-47675-31bc9d1d",
"target": {
"file": "kernel/trace/bpf_trace.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@790c630ab0e7d7aba6d186581d4627c09fce60f3",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"length": 2868.0,
"function_hash": "121455037651190632890074708366412547706"
},
"id": "CVE-2024-47675-6343f95c",
"target": {
"file": "kernel/trace/bpf_trace.c",
"function": "bpf_uprobe_multi_link_attach"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@790c630ab0e7d7aba6d186581d4627c09fce60f3",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"219582070680777183005339033210717829257",
"338819974304222125572662702924523675522",
"159475174349691254553482777674632207477",
"60811969985098998766677117536211116744",
"158774310169381428248402635715860720586",
"277014516990592047080037467496325750929",
"101475221164334993028755123171615563407",
"141945848821265755988191446249006564694",
"12265625284228822904932384632656278727",
"34261639046523092821786229302155258623",
"101982025419750827815246399955645663173"
]
},
"id": "CVE-2024-47675-725ea84c",
"target": {
"file": "kernel/trace/bpf_trace.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5fe6e308abaea082c20fbf2aa5df8e14495622cf",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"232199977138761564168210356081594199480",
"101323648324336881436773907868666273690",
"4967378215155633796116851223972606131",
"278620120578700354659069744431450035357",
"158774310169381428248402635715860720586",
"277014516990592047080037467496325750929",
"101475221164334993028755123171615563407",
"141945848821265755988191446249006564694",
"12265625284228822904932384632656278727",
"34261639046523092821786229302155258623",
"101982025419750827815246399955645663173"
]
},
"id": "CVE-2024-47675-8cb54b48",
"target": {
"file": "kernel/trace/bpf_trace.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c1d782e5afbf7c50ba74ecc4ddc18a05d63e5ee",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"232199977138761564168210356081594199480",
"101323648324336881436773907868666273690",
"4967378215155633796116851223972606131",
"278620120578700354659069744431450035357",
"158774310169381428248402635715860720586",
"277014516990592047080037467496325750929",
"101475221164334993028755123171615563407",
"141945848821265755988191446249006564694",
"12265625284228822904932384632656278727",
"34261639046523092821786229302155258623",
"101982025419750827815246399955645663173"
]
},
"id": "CVE-2024-47675-bbb82b81",
"target": {
"file": "kernel/trace/bpf_trace.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdf27834c3dd5d9abf7eb8e4ee87ee9e307eb25c",
"deprecated": false
},
{
"signature_version": "v1",
"digest": {
"length": 2928.0,
"function_hash": "305502381869536576462371819984786308019"
},
"id": "CVE-2024-47675-dc5adbcf",
"target": {
"file": "kernel/trace/bpf_trace.c",
"function": "bpf_uprobe_multi_link_attach"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdf27834c3dd5d9abf7eb8e4ee87ee9e307eb25c",
"deprecated": false
}
]