CVE-2023-54247
In the Linux kernel, the following vulnerability has been resolved: bpf: Silence a warning in btf_type_id_size() syzbot reported a warning in [1] with the following stacktrace: WARNING: CPU: 0 PID: 5005 at kernel/bpf/btf.c:1988 btf_type_id_size+0x2d9/0x9d0 kernel/bpf/btf.c:1988 ... RIP: 0010:btf_type_id_size+0x2d9/0x9d0 kernel/bpf/btf.c:1988 ... Call Trace: <TASK> map_check_btf kernel/bpf/syscall.c:1024 [inline] map_create+0x1157/0x1860 kernel/bpf/syscall.c:1198 __sys_bpf+0x127f/0x5420 kernel/bpf/syscall.c:5040 __do_sys_bpf kernel/bpf/syscall.c:5162 [inline] __se_sys_bpf kernel/bpf/syscall.c:5160 [inline] __x64_sys_bpf+0x79/0xc0 kernel/bpf/syscall.c:5160 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd With the following btf [1] DECL_TAG 'a' type_id=4 component_idx=-1 [2] PTR '(anon)' type_id=0 [3] TYPE_TAG 'a' type_id=2 [4] VAR 'a' type_id=3, linkage=static and when the bpf_attr.btf_key_type_id = 1 (DECL_TAG), the following WARN_ON_ONCE in btf_type_id_size() is triggered: if (WARN_ON_ONCE(!btf_type_is_modifier(size_type) && !btf_type_is_var(size_type))) return NULL; Note that 'return NULL' is the correct behavior as we don't want a DECL_TAG type to be used as a btf_{key,value}_type_id even for the case like 'DECL_TAG -> STRUCT'. So there is no correctness issue here, we just want to silence warning. To silence the warning, I added DECL_TAG as one of kinds in btf_type_nosize() which will cause btf_type_id_size() returning NULL earlier without the warning. [1] https://lore.kernel.org/bpf/[email protected]/
Affected versions
Linux kernel versions
5.16
and later are affected. Fixed in
6.1.110,
6.4.7,
6.5
and their respective stable series.
References
The following references provide additional information about CVE-2023-54247 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
PatchKernel patch commithttps://git.kernel.org/stable/c/61f4bd46a03a81865aca3bcbad2f7b7032fb3160
-
PatchKernel patch commithttps://git.kernel.org/stable/c/7c4f5ab63e7962812505cbd38cc765168a223acb
-
PatchKernel patch commithttps://git.kernel.org/stable/c/e6c2f594ed961273479505b42040782820190305
Frequently asked questions
-
What is CVE-2023-54247?
CVE-2023-54247 is a unscored severity Linux kernel vulnerability . It affects Linux kernel versions from 5.16 onward and has been patched in 6.1.110, 6.4.7 and 6.5. CVE-2023-54247 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
Is there a patch available for CVE-2023-54247?
Yes — CVE-2023-54247 has been patched. Fixed versions include 6.1.110, 6.4.7 and 6.5. If you are running Linux kernel 5.16 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2023-54247 actively exploited?
No — CVE-2023-54247 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.