CVE-2023-54004

Source
https://cve.org/CVERecord?id=CVE-2023-54004
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-54004.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-54004
Downstream
Published
2025-12-24T10:55:39.149Z
Modified
2026-03-09T23:54:44.971900Z
Summary
udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
Details

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

udplite: Fix NULL pointer dereference in _skmemraiseallocated().

syzbot reported [0] a null-ptr-deref in skgetrmem0() while using IPPROTO_UDPLITE (0x88):

14:25:52 executing program 1: r0 = socket$inet6(0xa, 0x80002, 0x88)

We had a similar report [1] for probably skmemoryallocated_add() in __skmemraiseallocated(), and commit c915fe13cbaa ("udplite: fix NULL pointer dereference") fixed it by setting .memoryallocated for udpliteprot and udplitev6prot.

To fix the variant, we need to set either .sysctlwmemoffset or .sysctl_rmem.

Now UDP and UDPLITE share the same value for .memoryallocated, so we use the same .sysctlwmem_offset for UDP and UDPLITE.

KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 0 PID: 6829 Comm: syz-executor.1 Not tainted 6.4.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/28/2023 RIP: 0010:skgetrmem0 include/net/sock.h:2907 [inline] RIP: 0010:__skmemraise_allocated+0x806/0x17a0 net/core/sock.c:3006 Code: c1 ea 03 80 3c 02 00 0f 85 23 0f 00 00 48 8b 44 24 08 48 8b 98 38 01 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 da 48 c1 ea 03 <0f> b6 14 02 48 89 d8 83 e0 07 83 c0 03 38 d0 0f 8d 6f 0a 00 00 8b RSP: 0018:ffffc90005d7f450 EFLAGS: 00010246 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffc90004d92000 RDX: 0000000000000000 RSI: ffffffff88066482 RDI: ffffffff8e2ccbb8 RBP: ffff8880173f7000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000030000 R13: 0000000000000001 R14: 0000000000000340 R15: 0000000000000001 FS: 0000000000000000(0000) GS:ffff8880b9800000(0063) knlGS:00000000f7f1cb40 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: 000000002e82f000 CR3: 0000000034ff0000 CR4: 00000000003506f0 Call Trace: <TASK> __skmemschedule+0x6c/0xe0 net/core/sock.c:3077 udprmemschedule net/ipv4/udp.c:1539 [inline] __udpenqueueschedule_skb+0x776/0xb30 net/ipv4/udp.c:1581 __udpv6queuercvskb net/ipv6/udp.c:666 [inline] udpv6queuercvoneskb+0xc39/0x16c0 net/ipv6/udp.c:775 udpv6queuercvskb+0x194/0xa10 net/ipv6/udp.c:793 __udp6libmcast_deliver net/ipv6/udp.c:906 [inline] __udp6librcv+0x1bda/0x2bd0 net/ipv6/udp.c:1013 ip6protocoldeliverrcu+0x2e7/0x1250 net/ipv6/ip6input.c:437 ip6inputfinish+0x150/0x2f0 net/ipv6/ip6input.c:482 NFHOOK include/linux/netfilter.h:303 [inline] NFHOOK include/linux/netfilter.h:297 [inline] ip6input+0xa0/0xd0 net/ipv6/ip6input.c:491 ip6mcinput+0x40b/0xf50 net/ipv6/ip6input.c:585 dstinput include/net/dst.h:468 [inline] ip6rcvfinish net/ipv6/ip6input.c:79 [inline] NFHOOK include/linux/netfilter.h:303 [inline] NFHOOK include/linux/netfilter.h:297 [inline] ipv6rcv+0x250/0x380 net/ipv6/ip6input.c:309 __netifreceiveskbonecore+0x114/0x180 net/core/dev.c:5491 __netifreceiveskb+0x1f/0x1c0 net/core/dev.c:5605 netif_receiveskbinternal net/core/dev.c:5691 [inline] netifreceiveskb+0x133/0x7a0 net/core/dev.c:5750 tunrxbatched+0x4b3/0x7a0 drivers/net/tun.c:1553 tungetuser+0x2452/0x39c0 drivers/net/tun.c:1989 tunchrwriteiter+0xdf/0x200 drivers/net/tun.c:2035 callwriteiter include/linux/fs.h:1868 [inline] newsyncwrite fs/readwrite.c:491 [inline] vfswrite+0x945/0xd50 fs/readwrite.c:584 ksyswrite+0x12b/0x250 fs/readwrite.c:637 dosyscall32irqson arch/x86/entry/common.c:112 [inline] __dofastsyscall32+0x65/0xf0 arch/x86/entry/common.c:178 dofastsyscall32+0x33/0x70 arch/x86/entry/common.c:203 entrySYSENTERcompatafterhwframe+0x70/0x82 RIP: 0023:0xf7f21579 Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00 ---truncated---

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54004.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
850cbaddb52dfd4e0c7cabe2c168dd34b44ae0b9
Fixed
cc56de054d828935aa37734b479f82fa34b5f9bd
Fixed
7e3ae83371a4809da6fa3f10ccc430eecef3034a
Fixed
5014b64e369bdf997935b132a1ac4d64b6e47ad4
Fixed
387bd0a3af3bdd2b16f8dbef0c9fcccac63000a4
Fixed
2a112f04629f7839e7cb509b27b8d3b735afe255
Fixed
f04c8eaf45e7dcdfccba936506b1ec592a369fb9
Fixed
ad42a35bdfc6d3c0fc4cb4027d7b2757ce665665

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.10.0
Fixed
4.19.284
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.244
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.181
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.114
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.31
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.3.5

Database specific

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