CVE-2023-54247

Source
https://cve.org/CVERecord?id=CVE-2023-54247
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54247.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-54247
Downstream
Published
2025-12-30T12:15:45.395Z
Modified
2026-01-05T21:22:33.314354Z
Summary
bpf: Silence a warning in btf_type_id_size()
Details

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

bpf: Silence a warning in btftypeid_size()

syzbot reported a warning in [1] with the following stacktrace: WARNING: CPU: 0 PID: 5005 at kernel/bpf/btf.c:1988 btftypeidsize+0x2d9/0x9d0 kernel/bpf/btf.c:1988 ... RIP: 0010:btftypeidsize+0x2d9/0x9d0 kernel/bpf/btf.c:1988 ... Call Trace: <TASK> mapcheckbtf kernel/bpf/syscall.c:1024 [inline] mapcreate+0x1157/0x1860 kernel/bpf/syscall.c:1198 _sysbpf+0x127f/0x5420 kernel/bpf/syscall.c:5040 _dosysbpf kernel/bpf/syscall.c:5162 [inline] _sesysbpf kernel/bpf/syscall.c:5160 [inline] _x64sysbpf+0x79/0xc0 kernel/bpf/syscall.c:5160 dosyscallx64 arch/x86/entry/common.c:50 [inline] dosyscall64+0x39/0xb0 arch/x86/entry/common.c:80 entrySYSCALL64afterhwframe+0x63/0xcd

With the following btf [1] DECLTAG 'a' typeid=4 componentidx=-1 [2] PTR '(anon)' typeid=0 [3] TYPETAG 'a' typeid=2 [4] VAR 'a' typeid=3, linkage=static and when the bpfattr.btfkeytypeid = 1 (DECLTAG), the following WARNONONCE in btftypeidsize() is triggered: if (WARNONONCE(!btftypeismodifier(sizetype) && !btftypeisvar(size_type))) return NULL;

Note that 'return NULL' is the correct behavior as we don't want a DECLTAG type to be used as a btf{key,value}typeid 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 DECLTAG as one of kinds in btftypenosize() which will cause btftypeidsize() returning NULL earlier without the warning.

[1] https://lore.kernel.org/bpf/000000000000e0df8d05fc75ba86@google.com/

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54247.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b5ea834dde6b6e7f75e51d5f66dac8cd7c97b5ef
Fixed
61f4bd46a03a81865aca3bcbad2f7b7032fb3160
Fixed
7c4f5ab63e7962812505cbd38cc765168a223acb
Fixed
e6c2f594ed961273479505b42040782820190305

Affected versions

v5.*
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8
v6.*
v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.100
v6.1.101
v6.1.102
v6.1.103
v6.1.104
v6.1.105
v6.1.106
v6.1.107
v6.1.108
v6.1.109
v6.1.11
v6.1.12
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.22
v6.1.23
v6.1.24
v6.1.25
v6.1.26
v6.1.27
v6.1.28
v6.1.29
v6.1.3
v6.1.30
v6.1.31
v6.1.32
v6.1.33
v6.1.34
v6.1.35
v6.1.36
v6.1.37
v6.1.38
v6.1.39
v6.1.4
v6.1.40
v6.1.41
v6.1.42
v6.1.43
v6.1.44
v6.1.45
v6.1.46
v6.1.47
v6.1.48
v6.1.49
v6.1.5
v6.1.50
v6.1.51
v6.1.52
v6.1.53
v6.1.54
v6.1.55
v6.1.56
v6.1.57
v6.1.58
v6.1.59
v6.1.6
v6.1.60
v6.1.61
v6.1.62
v6.1.63
v6.1.64
v6.1.65
v6.1.66
v6.1.67
v6.1.68
v6.1.69
v6.1.7
v6.1.70
v6.1.71
v6.1.72
v6.1.73
v6.1.74
v6.1.75
v6.1.76
v6.1.77
v6.1.78
v6.1.79
v6.1.8
v6.1.80
v6.1.81
v6.1.82
v6.1.83
v6.1.84
v6.1.85
v6.1.86
v6.1.87
v6.1.88
v6.1.89
v6.1.9
v6.1.90
v6.1.91
v6.1.92
v6.1.93
v6.1.94
v6.1.95
v6.1.96
v6.1.97
v6.1.98
v6.1.99
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.4.1
v6.4.2
v6.4.3
v6.4.4
v6.4.5
v6.4.6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54247.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.110
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.4.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54247.json"