CVE-2022-3606
Medium · 5.5CVSS
5.5
EPSS
0.4%
Published
Oct 19, 2022
CISA due date
—
Cloudanix analysis
A bug in Linux kernel tooling can let a logged-in user crash the system by feeding it specially made debugging data, which is now fixed by a software update.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Null pointer dereference in find_prog_by_sec_insn within tools/lib/bpf/libbpf.c triggered by crafted BPF section instructions, resulting in kernel or userspace process crash.
Why it matters to the business
Local denial-of-service on Linux systems that compile or inspect BPF programs, potentially disrupting development workflows, monitoring tools, or container orchestration that relies on libbpf; low urgency given age and limited exploitability.
How an attack unfolds
An attacker with local access crafts a malicious BPF object file or eBPF program whose section layout causes find_prog_by_sec_insn to receive a null instruction pointer, dereferencing it and crashing the process or kernel context that invoked the function.
How to fix it
Upgrade the Linux kernel source tree to commit c9c3395d5e3dcc6daee66c6908354d47bf98cb0c or later; rebuild and deploy any affected BPF tooling or distributions that ship libbpf from the vulnerable tree.
How to confirm the fix worked
Confirm presence of commit c9c3395d5e3dcc6daee66c6908354d47bf98cb0c in the libbpf.c history; recompile libbpf and verify that find_prog_by_sec_insn no longer dereferences a null pointer on malformed input.
Typical attack path
- Obtain local shell or container access on target Linux system
- Prepare a malformed BPF ELF object containing crafted section metadata
- Invoke libbpf APIs (bpf_object__open, bpf_object__load, or related tooling) against the object
- Trigger null pointer dereference inside find_prog_by_sec_insn
- Cause denial of service via process or system crash
How to detect it
Review kernel logs and application crash reports for segmentation faults or oops entries originating from libbpf or bpftool when processing untrusted BPF objects; correlate with process execution of bpftool, bpf_object__open_file, or similar libbpf callers.
What your security team should do
- Apply the referenced commit or upgrade to a distribution kernel that contains the fix
- Restrict untrusted local users from loading arbitrary BPF objects until patched
- Monitor for kernel oops or userspace crashes involving libbpf during BPF program compilation
The record
A vulnerability was found in Linux Kernel. It has been classified as problematic. This affects the function find_prog_by_sec_insn of the file tools/lib/bpf/libbpf.c of the component BPF. The manipulation leads to null pointer dereference. It is recommended to apply a patch to fix this issue. The identifier VDB-211749 was assigned to this vulnerability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libbpf | 0 | No fix |
| Debian:12 | libbpf | 0 | 1.1.0-1 |
| Debian:13 | libbpf | 0 | 1.1.0-1 |
| SUSE:Enterprise Storage 7.1 | kernel-64kb | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Enterprise Storage 7.1 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Enterprise Storage 7.1 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Enterprise Storage 7.1 | kernel-docs | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Enterprise Storage 7.1 | kernel-obs-build | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Enterprise Storage 7.1 | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Enterprise Storage 7.1 | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Enterprise Storage 7.1 | kernel-syms | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP3 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-64kb | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-docs | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-obs-build | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-syms | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-64kb | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-docs | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-obs-build | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-syms | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Live Patching 15 SP3 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Live Patching 15 SP3 | kernel-livepatch-SLE15-SP3_Update_29 | 0 | 1-150300.7.3.1 |
| SUSE:Linux Enterprise Micro 5.1 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Micro 5.1 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Linux Enterprise Micro 5.1 | kernel-rt | 0 | 5.3.18-150300.121.1 |
| SUSE:Linux Enterprise Micro 5.2 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Micro 5.2 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Linux Enterprise Micro 5.2 | kernel-rt | 0 | 5.3.18-150300.121.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | libbpf | 0 | 0.5.0-150400.3.3.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | kernel-docs | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | kernel-obs-build | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | kernel-syms | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-64kb | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-docs | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-obs-build | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-syms | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-zfcpdump | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-docs | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-obs-build | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-syms | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Proxy 4.2 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Proxy 4.2 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Manager Proxy 4.2 | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Proxy 4.2 | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Retail Branch Server 4.2 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Retail Branch Server 4.2 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Manager Retail Branch Server 4.2 | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Retail Branch Server 4.2 | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Server 4.2 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Server 4.2 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
| SUSE:Manager Server 4.2 | kernel-preempt | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Server 4.2 | kernel-source | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Manager Server 4.2 | kernel-zfcpdump | 0 | 5.3.18-150300.59.112.1 |
| SUSE:Real Time Module 15 SP3 | kernel-rt | 0 | 5.3.18-150300.121.1 |
| SUSE:Real Time Module 15 SP3 | kernel-rt_debug | 0 | 5.3.18-150300.121.1 |
| SUSE:Real Time Module 15 SP3 | kernel-source-rt | 0 | 5.3.18-150300.121.1 |
| SUSE:Real Time Module 15 SP3 | kernel-syms-rt | 0 | 5.3.18-150300.121.1 |
| Ubuntu:16.04:LTS | dwarves-dfsg | 0 | No fix |
| Ubuntu:20.04:LTS | dwarves-dfsg | 0 | 1.21-0ubuntu1~20.04.1 |
| Ubuntu:20.04:LTS | libbpf | 0 | No fix |
| Ubuntu:22.04:LTS | libbpf | 0 | 0.5.0-1ubuntu22.04.1 |
| Ubuntu:Pro:16.04:LTS | dwarves-dfsg | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | dwarves-dfsg | 0 | 1.21-0ubuntu1~18.04.1+esm1 |
| Ubuntu:Pro:20.04:LTS | libbpf | 0 | 0.5.0-1~ubuntu20.04.1+esm1 |
| openSUSE:Leap 15.4 | dtb-aarch64 | 0 | 5.3.18-150300.59.112.1 |
| openSUSE:Leap 15.4 | libbpf | 0 | 0.5.0-150400.3.3.1 |
| openSUSE:Leap Micro 5.2 | kernel-default | 0 | 5.3.18-150300.59.112.1 |
| openSUSE:Leap Micro 5.2 | kernel-default-base | 0 | 5.3.18-150300.59.112.1.150300.18.64.1 |
Related vulnerabilities
- CVE-2022-3534 A vulnerability classified as critical has been found in Linux Kernel. Also affects libbpf
- CVE-2022-3533 A vulnerability was found in Linux Kernel. Also affects libbpf
- CVE-2023-52923 In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables… Also affects kernel-64kb
- CVE-2024-57893 In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: oss: Fix… Also affects kernel-64kb
- CVE-2024-57849 In the Linux kernel, the following vulnerability has been resolved: s390/cpum_sf: Handle… Also affects kernel-64kb
- CVE-2024-57791 In the Linux kernel, the following vulnerability has been resolved: net/smc: check return… Also affects kernel-64kb
- CVE-2024-57798 In the Linux kernel, the following vulnerability has been resolved: drm/dp_mst: Ensure… Also affects kernel-64kb
- CVE-2024-56770 In the Linux kernel, the following vulnerability has been resolved: net/sched: netem… Also affects kernel-64kb