Overview
About vulnerability
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject %p% format string in bprintf-like helpers
static const char fmt[] = “%p%”; bpf_trace_printk(fmt, sizeof(fmt));
The above BPF program isn’t rejected and causes a kernel warning at runtime:
Please remove unsupported %\x00 in format string WARNING: CPU: 1 PID: 7244 at lib/vsprintf.c:2680 format_decode+0x49c/0x5d0
This happens because bpf_bprintf_prepare skips over the second %, detected as punctuation, while processing %p. This patch fixes it by not skipping over punctuation. %\x00 is then processed in the next iteration and rejected.
Details
- Affected product:
- AlmaLinux 9.2 ESU , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , TuxCare 9.6 ESU , Ubuntu 20.04 ELS
- Affected packages:
- linux @ 5.4.0 (+5 more)
Fixes
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| AlmaLinux 9.2 ESU | Planned | — |
| AlmaLinux 9.6 ESU | Planned | — |
| Amazon Linux 2023 | Planned | — |
| Debian 13 | Planned | — |
| Oracle Linux 8 UEK 7 | Released |
77 kernels
|
| Oracle Linux 9 UEK 7 | Released |
77 kernels
|
| Proxmox VE 7 5.15 | Released |
47 kernels
|
| Ubuntu 20.04 HWE AWS | Released |
57 kernels
|
| Ubuntu 20.04 HWE Azure | Released |
40 kernels
|
| Ubuntu 22.04 | Released |
85 kernels
|
| Ubuntu 22.04 AWS | Released |
76 kernels
|
| Ubuntu 22.04 Azure | Released |
70 kernels
|
| Ubuntu 24.04 | In Rollout |
37 kernels
|