{"id":"CVE-2024-26591","state":"PUBLISHED","title":"bpf: Fix re-attachment branch in bpf_tracing_prog_attach","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix re-attachment branch in bpf_tracing_prog_attach\n\nThe following case can cause a crash due to missing attach_btf:\n\n1) load rawtp program\n2) load fentry program with rawtp as target_fd\n3) create tracing link for fentry program with target_fd = 0\n4) repeat 3\n\nIn the end we have:\n\n- prog->aux->dst_trampoline == NULL\n- tgt_prog == NULL (because we did not provide target_fd to link_create)\n- prog->aux->attach_btf == NULL (the program was loaded with attach_prog_fd=X)\n- the program was loaded for tgt_prog but we have no way to find out which one\n\n    BUG: kernel NULL pointer dereference, address: 0000000000000058\n    Call Trace:\n     <TASK>\n     ? __die+0x20/0x70\n     ? page_fault_oops+0x15b/0x430\n     ? fixup_exception+0x22/0x330\n     ? exc_page_fault+0x6f/0x170\n     ? asm_exc_page_fault+0x22/0x30\n     ? bpf_tracing_prog_attach+0x279/0x560\n     ? btf_obj_id+0x5/0x10\n     bpf_tracing_prog_attach+0x439/0x560\n     __sys_bpf+0x1cf4/0x2de0\n     __x64_sys_bpf+0x1c/0x30\n     do_syscall_64+0x41/0xf0\n     entry_SYSCALL_64_after_hwframe+0x6e/0x76\n\nReturn -EINVAL in this situation.","publishedAt":"2024-02-22T16:21:43.756Z","updatedAt":"2026-05-11T20:00:18.176Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"a7b98aa10f895e2569403896f2d19b73b6c95653","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"6cc9c0af0aa06f781fa515a1734b1a4239dfd2c0","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"8c8bcd45e9b10eef12321f08d2e5be33d615509c","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"50ae82f080cf87e84828f066c31723b781d68f5b","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"715d82ba636cb3629a6e18a33bb9dbe53f9936ee","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/bpf/syscall.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.148","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.75","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.14","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7.2","status":"unaffected","lessThanOrEqual":"6.7.*","versionType":"semver"},{"version":"6.8","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/bpf/syscall.c"]}],"references":["https://git.kernel.org/stable/c/a7b98aa10f895e2569403896f2d19b73b6c95653","https://git.kernel.org/stable/c/6cc9c0af0aa06f781fa515a1734b1a4239dfd2c0","https://git.kernel.org/stable/c/8c8bcd45e9b10eef12321f08d2e5be33d615509c","https://git.kernel.org/stable/c/50ae82f080cf87e84828f066c31723b781d68f5b","https://git.kernel.org/stable/c/715d82ba636cb3629a6e18a33bb9dbe53f9936ee"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:10.607Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/26xxx/CVE-2024-26591.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-26591","state":"PUBLISHED","datePublished":"2024-02-22T16:21:43.756Z","dateUpdated":"2026-05-11T20:00:18.176Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-02-19T14:20:24.126Z"},"containers":{"cna":{"title":"bpf: Fix re-attachment branch in bpf_tracing_prog_attach","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix re-attachment branch in bpf_tracing_prog_attach\n\nThe following case can cause a crash due to missing attach_btf:\n\n1) load rawtp program\n2) load fentry program with rawtp as target_fd\n3) create tracing link for fentry program with target_fd = 0\n4) repeat 3\n\nIn the end we have:\n\n- prog->aux->dst_trampoline == NULL\n- tgt_prog == NULL (because we did not provide target_fd to link_create)\n- prog->aux->attach_btf == NULL (the program was loaded with attach_prog_fd=X)\n- the program was loaded for tgt_prog but we have no way to find out which one\n\n    BUG: kernel NULL pointer dereference, address: 0000000000000058\n    Call Trace:\n     <TASK>\n     ? __die+0x20/0x70\n     ? page_fault_oops+0x15b/0x430\n     ? fixup_exception+0x22/0x330\n     ? exc_page_fault+0x6f/0x170\n     ? asm_exc_page_fault+0x22/0x30\n     ? bpf_tracing_prog_attach+0x279/0x560\n     ? btf_obj_id+0x5/0x10\n     bpf_tracing_prog_attach+0x439/0x560\n     __sys_bpf+0x1cf4/0x2de0\n     __x64_sys_bpf+0x1c/0x30\n     do_syscall_64+0x41/0xf0\n     entry_SYSCALL_64_after_hwframe+0x6e/0x76\n\nReturn -EINVAL in this situation."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"a7b98aa10f895e2569403896f2d19b73b6c95653","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"6cc9c0af0aa06f781fa515a1734b1a4239dfd2c0","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"8c8bcd45e9b10eef12321f08d2e5be33d615509c","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"50ae82f080cf87e84828f066c31723b781d68f5b","versionType":"git"},{"version":"f3a95075549e0e5c36db922caf86847db7a35403","status":"affected","lessThan":"715d82ba636cb3629a6e18a33bb9dbe53f9936ee","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/bpf/syscall.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.13","versionType":"semver"},{"version":"5.15.148","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.75","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.14","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7.2","status":"unaffected","lessThanOrEqual":"6.7.*","versionType":"semver"},{"version":"6.8","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/bpf/syscall.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/a7b98aa10f895e2569403896f2d19b73b6c95653"},{"url":"https://git.kernel.org/stable/c/6cc9c0af0aa06f781fa515a1734b1a4239dfd2c0"},{"url":"https://git.kernel.org/stable/c/8c8bcd45e9b10eef12321f08d2e5be33d615509c"},{"url":"https://git.kernel.org/stable/c/50ae82f080cf87e84828f066c31723b781d68f5b"},{"url":"https://git.kernel.org/stable/c/715d82ba636cb3629a6e18a33bb9dbe53f9936ee"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:00:18.176Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"5.15.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.1.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.6.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.7.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.13","versionEndExcluding":"6.8"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-26591","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-03-04T20:57:55.104919Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-07-05T17:21:05.953Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/a7b98aa10f895e2569403896f2d19b73b6c95653","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/6cc9c0af0aa06f781fa515a1734b1a4239dfd2c0","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/8c8bcd45e9b10eef12321f08d2e5be33d615509c","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/50ae82f080cf87e84828f066c31723b781d68f5b","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/715d82ba636cb3629a6e18a33bb9dbe53f9936ee","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T00:07:19.536Z"}}]}}}