{"id":"CVE-2023-54086","summary":"bpf: Add preempt_count_{sub,add} into btf id deny list","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Add preempt_count_{sub,add} into btf id deny list\n\nThe recursion check in __bpf_prog_enter* and __bpf_prog_exit*\nleave preempt_count_{sub,add} unprotected. When attaching trampoline to\nthem we get panic as follows,\n\n[  867.843050] BUG: TASK stack guard page was hit at 0000000009d325cf (stack is 0000000046a46a15..00000000537e7b28)\n[  867.843064] stack guard page: 0000 [#1] PREEMPT SMP NOPTI\n[  867.843067] CPU: 8 PID: 11009 Comm: trace Kdump: loaded Not tainted 6.2.0+ #4\n[  867.843100] Call Trace:\n[  867.843101]  \u003cTASK\u003e\n[  867.843104]  asm_exc_int3+0x3a/0x40\n[  867.843108] RIP: 0010:preempt_count_sub+0x1/0xa0\n[  867.843135]  __bpf_prog_enter_recur+0x17/0x90\n[  867.843148]  bpf_trampoline_6442468108_0+0x2e/0x1000\n[  867.843154]  ? preempt_count_sub+0x1/0xa0\n[  867.843157]  preempt_count_sub+0x5/0xa0\n[  867.843159]  ? migrate_enable+0xac/0xf0\n[  867.843164]  __bpf_prog_exit_recur+0x2d/0x40\n[  867.843168]  bpf_trampoline_6442468108_0+0x55/0x1000\n...\n[  867.843788]  preempt_count_sub+0x5/0xa0\n[  867.843793]  ? migrate_enable+0xac/0xf0\n[  867.843829]  __bpf_prog_exit_recur+0x2d/0x40\n[  867.843837] BUG: IRQ stack guard page was hit at 0000000099bd8228 (stack is 00000000b23e2bc4..000000006d95af35)\n[  867.843841] BUG: IRQ stack guard page was hit at 000000005ae07924 (stack is 00000000ffd69623..0000000014eb594c)\n[  867.843843] BUG: IRQ stack guard page was hit at 00000000028320f0 (stack is 00000000034b6438..0000000078d1bcec)\n[  867.843842]  bpf_trampoline_6442468108_0+0x55/0x1000\n...\n\nThat is because in __bpf_prog_exit_recur, the preempt_count_{sub,add} are\ncalled after prog-\u003eactive is decreased.\n\nFixing this by adding these two functions into btf ids deny list.","modified":"2026-10-28T02:30:29.160043736Z","published":"2025-12-24T13:06:16.857Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54086.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/095018267c87b8bfbbb12eeb1c0ebf2359e1782c"},{"type":"WEB","url":"https://git.kernel.org/stable/c/60039bf72f81638baa28652a11a68e9b0b7b5b2d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b9168d41b83d182f34ba927ee822edaee18d5fc8"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c11bd046485d7bf1ca200db0e7d0bdc4bafdd395"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54086.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-54086"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"35e3815fa8102fab4dee75f3547472c66581125d"},{"fixed":"095018267c87b8bfbbb12eeb1c0ebf2359e1782c"},{"fixed":"60039bf72f81638baa28652a11a68e9b0b7b5b2d"},{"fixed":"b9168d41b83d182f34ba927ee822edaee18d5fc8"},{"fixed":"c11bd046485d7bf1ca200db0e7d0bdc4bafdd395"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"5.12.11"},{"fixed":"5.13"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"f5e770c0c60ab8812574a2e0d163b0efa816a825"}]}],"versions":["v5.12.19","v5.12.18","v5.12.17","v5.12.16","v5.12.15","v5.12.14","v5.12.13","v5.12.12","v5.12.11"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54086.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.13.0"},{"fixed":"5.15.113"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.30"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.3.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54086.json"}}],"schema_version":"1.9.2"}