{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2023-54086", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-12-24T13:02:52.515Z", "datePublished": "2025-12-24T13:06:16.857Z", "dateUpdated": "2026-05-23T15:32:32.011Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-05-23T15:32:32.011Z" }, "descriptions": [ { "lang": "en", "value": "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] \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->active is decreased.\n\nFixing this by adding these two functions into btf ids deny list." } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "kernel/bpf/verifier.c" ], "versions": [ { "version": "35e3815fa8102fab4dee75f3547472c66581125d", "lessThan": "095018267c87b8bfbbb12eeb1c0ebf2359e1782c", "status": "affected", "versionType": "git" }, { "version": "35e3815fa8102fab4dee75f3547472c66581125d", "lessThan": "60039bf72f81638baa28652a11a68e9b0b7b5b2d", "status": "affected", "versionType": "git" }, { "version": "35e3815fa8102fab4dee75f3547472c66581125d", "lessThan": "b9168d41b83d182f34ba927ee822edaee18d5fc8", "status": "affected", "versionType": "git" }, { "version": "35e3815fa8102fab4dee75f3547472c66581125d", "lessThan": "c11bd046485d7bf1ca200db0e7d0bdc4bafdd395", "status": "affected", "versionType": "git" }, { "version": "f5e770c0c60ab8812574a2e0d163b0efa816a825", "status": "affected", "versionType": "git" }, { "version": "5.12.11", "lessThan": "5.13", "status": "affected", "versionType": "semver" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "kernel/bpf/verifier.c" ], "versions": [ { "version": "5.13", "status": "affected" }, { "version": "0", "lessThan": "5.13", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.113", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.30", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.3.4", "lessThanOrEqual": "6.3.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.4", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.13", "versionEndExcluding": "5.15.113" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.13", "versionEndExcluding": "6.1.30" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.13", "versionEndExcluding": "6.3.4" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.13", "versionEndExcluding": "6.4" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.12.11" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/095018267c87b8bfbbb12eeb1c0ebf2359e1782c" }, { "url": "https://git.kernel.org/stable/c/60039bf72f81638baa28652a11a68e9b0b7b5b2d" }, { "url": "https://git.kernel.org/stable/c/b9168d41b83d182f34ba927ee822edaee18d5fc8" }, { "url": "https://git.kernel.org/stable/c/c11bd046485d7bf1ca200db0e7d0bdc4bafdd395" } ], "title": "bpf: Add preempt_count_{sub,add} into btf id deny list", "x_generator": { "engine": "bippy-1.2.0" } } } }