# CVE-2023-54086: linux: In the Linux kernel, the following vulnerability has been resolved:  bpf: Add preempt_count_{sub,add} into btf id den...

CVE-2023-54086 is fixed in 20 products on 1 platform, first by ALAS2023-2023-228, released June 21, 2023. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2023-54086
- Priority: High
- CVSS: n/a (important)
- EPSS: 0.0021
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Jun 21, 2023

## Description

In the Linux kernel, the following vulnerability has been resolved:  bpf: Add preempt_count_{sub,add} into btf id deny list  The recursion check in __bpf_prog_enter* and __bpf_prog_exit* leave preempt_count_{sub,add} unprotected. When attaching trampoline to them we get panic as follows,  [  867.843050] BUG: TASK stack guard page was hit at 0000000009d325cf (stack is 0000000046a46a15..00000000537e7b28) [  867.843064] stack guard page: 0000 [#1] PREEMPT SMP NOPTI [  867.843067] CPU: 8 PID: 11009 Comm: trace Kdump: loaded Not tainted 6.2.0+ #4 [  867.843100] Call Trace: [  867.843101]  <TASK> [  867.843104]  asm_exc_int3+0x3a/0x40 [  867.843108] RIP: 0010:preempt_count_sub+0x1/0xa0 [  867.843135]  __bpf_prog_enter_recur+0x17/0x90 [  867.843148]  bpf_trampoline_6442468108_0+0x2e/0x1000 [  867.843154]  ? preempt_count_sub+0x1/0xa0 [  867.843157]  preempt_count_sub+0x5/0xa0 [  867.843159]  ? migrate_enable+0xac/0xf0 [  867.843164]  __bpf_prog_exit_recur+0x2d/0x40 [  867.843168]  bpf_trampoline_6442468108_0+0x55/0x1000 ... [  867.843788]  preempt_count_sub+0x5/0xa0 [  867.843793]  ? migrate_enable+0xac/0xf0 [  867.843829]  __bpf_prog_exit_recur+0x2d/0x40 [  867.843837] BUG: IRQ stack guard page was hit at 0000000099bd8228 (stack is 00000000b23e2bc4..000000006d95af35) [  867.843841] BUG: IRQ stack guard page was hit at 000000005ae07924 (stack is 00000000ffd69623..0000000014eb594c) [  867.843843] BUG: IRQ stack guard page was hit at 00000000028320f0 (stack is 00000000034b6438..0000000078d1bcec) [  867.843842]  bpf_trampoline_6442468108_0+0x55/0x1000 ...  That is because in __bpf_prog_exit_recur, the preempt_count_{sub,add} are called after prog->active is decreased.  Fixing this by adding these two functions into btf ids deny list.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | bpftool amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | bpftool-debuginfo amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-debuginfo amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-debuginfo-common-aarch64 amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-debuginfo-common-x86_64 amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-devel amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-headers amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-libbpf amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-libbpf-devel amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-libbpf-static amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-livepatch-6.1.34-56.100 amzn 2023 | 1.0-0.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-tools amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-tools-debuginfo amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | kernel-tools-devel amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | linux Debian 12.15 (bookworm) | 6.1.37-1 | [DEBIAN-CVE-2023-54086](https://patchblox.com/security/data/fix/linux/debian-cve-2023-54086.md) | Dec 24, 2025 |
| Linux | linux Debian 13.5 (trixie) | 6.3.7-1 | [DEBIAN-CVE-2023-54086](https://patchblox.com/security/data/fix/linux/debian-cve-2023-54086.md) | Dec 24, 2025 |
| Linux | linux Debian 14 | 6.3.7-1 | [DEBIAN-CVE-2023-54086](https://patchblox.com/security/data/fix/linux/debian-cve-2023-54086.md) | Dec 24, 2025 |
| Linux | perf amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | perf-debuginfo amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | python3-perf amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |
| Linux | python3-perf-debuginfo amzn 2023 | 6.1.34-56.100.amzn2023 | [ALAS2023-2023-228](https://patchblox.com/security/data/fix/linux/alas2023-2023-228.md) | Jun 21, 2023 |

---

Data as of 2026-11-08T06:59:42Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
