In the Linux kernel, the following vulnerability has been resolved:
bpf: Add BPFPROGTYPECGROUPSKB attach type enforcement in BPFLINKCREATE
bpfprogattach uses attachtypetoprogtype to enforce proper attach type for BPFPROGTYPECGROUPSKB. linkcreate uses bpfprogget and relies on bpfprogattachcheckattachtype to properly verify progtype <> attachtype association.
Add missing attachtype enforcement for the linkcreate case. Otherwise, it's currently possible to attach cgroup_skb prog types to other cgroup hooks.
{ "vanir_signatures": [ { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67929e973f5a347f05fef064fea4ae79e7cdb5fd", "signature_type": "Function", "target": { "function": "bpf_prog_attach_check_attach_type", "file": "kernel/bpf/syscall.c" }, "deprecated": false, "digest": { "length": 1437.0, "function_hash": "294936011438696480310284337701446413029" }, "id": "CVE-2024-38564-04630372" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6675c541f540a29487a802d3135280b69b9f568d", "signature_type": "Function", "target": { "function": "bpf_prog_attach_check_attach_type", "file": "kernel/bpf/syscall.c" }, "deprecated": false, "digest": { "length": 1378.0, "function_hash": "281177874041791869604630415900310692282" }, "id": "CVE-2024-38564-53eb25fa" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6675c541f540a29487a802d3135280b69b9f568d", "signature_type": "Line", "target": { "file": "kernel/bpf/syscall.c" }, "deprecated": false, "digest": { "line_hashes": [ "74172619154385478876608202981709040498", "183765898721339404822397616194637332602", "275567208005376926413895402625097641906", "85987197896138574305970202143157904227" ], "threshold": 0.9 }, "id": "CVE-2024-38564-95a91df2" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b34bbc76651065a5eafad8ddff1eb8d1f8473172", "signature_type": "Function", "target": { "function": "bpf_prog_attach_check_attach_type", "file": "kernel/bpf/syscall.c" }, "deprecated": false, "digest": { "length": 1461.0, "function_hash": "29510205887827007174669578628716007035" }, "id": "CVE-2024-38564-9cf0c665" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b34bbc76651065a5eafad8ddff1eb8d1f8473172", "signature_type": "Line", "target": { "file": "kernel/bpf/syscall.c" }, "deprecated": false, "digest": { "line_hashes": [ "319342118362474736111748647364077406721", "162591265303814915168418951409298796161", "206429450761896363294680891293846249253", "85987197896138574305970202143157904227" ], "threshold": 0.9 }, "id": "CVE-2024-38564-c5b5e564" }, { "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67929e973f5a347f05fef064fea4ae79e7cdb5fd", "signature_type": "Line", "target": { "file": "kernel/bpf/syscall.c" }, "deprecated": false, "digest": { "line_hashes": [ "74172619154385478876608202981709040498", "183765898721339404822397616194637332602", "275567208005376926413895402625097641906", "85987197896138574305970202143157904227" ], "threshold": 0.9 }, "id": "CVE-2024-38564-de0bf818" } ] }