CVE-2023-53221

bpf: Fix memleak due to fentry attach failure

State
Published
Severity
5.5 Medium
Published
Sep 15, 2025
Updated
May 23, 2026
Reserved
Sep 15, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

bpf: Fix memleak due to fentry attach failure

If it fails to attach fentry, the allocated bpf trampoline image will be left in the system. That can be verified by checking /proc/kallsyms.

This meamleak can be verified by a simple bpf program as follows:

SEC("fentry/trap_init") int fentry_run() { return 0; }

It will fail to attach trap_init because this function is freed after kernel init, and then we can find the trampoline image is left in the system by checking /proc/kallsyms.

$ tail /proc/kallsyms ffffffffc0613000 t bpf_trampoline_6442453466_1 [bpf] ffffffffc06c3000 t bpf_trampoline_6442453466_1 [bpf]

$ bpftool btf dump file /sys/kernel/btf/vmlinux | grep "FUNC 'trap_init'" [2522] FUNC 'trap_init' type_id=119 linkage=static

$ echo $((6442453466 & 0x7fffffff)) 2522

Note that there are two left bpf trampoline images, that is because the libbpf will fallback to raw tracepoint if -EINVAL is returned.

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

  • CWE-401 Missing Release of Memory after Effective Lifetime

Affected Products

ProductVersions
LinuxLinux
  • e21aa341785c679dd409c8cb71f864c00fe6c463 to before 20109ddd5bea2c24d790debf5d02584ef24c3f5eAffected
  • e21aa341785c679dd409c8cb71f864c00fe6c463 to before f72c67d1a82dada7d6d504c806e111e913721a30Affected
  • e21aa341785c679dd409c8cb71f864c00fe6c463 to before 6aa27775db63ba8c7c73891c7dfb71ddc230c48dAffected
  • e21aa341785c679dd409c8cb71f864c00fe6c463 to before 108598c39eefbedc9882273ac0df96127a629220Affected
  • e21d2b92354b3cd25dd774ebb0f0e52ff04a7861Affected
  • 85d177f56e5256e14b74a65940f981f6e3e8bb32Affected
  • 5.10.28 to before 5.11Affected
  • 5.11.11 to before 5.12Affected
LinuxLinux
  • 5.12Affected
  • before 5.12Not affected
  • 6.1.39 through 6.1.*Not affected
  • 6.3.13 through 6.3.*Not affected
  • 6.4.4 through 6.4.*Not affected
  • 6.5 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.