Linux: Use of Uninitialized Resource
CVE-2024-44999 is a high-severity use of uninitialized resource vulnerability in Linux, with a CVSS 3.1 base score of 7.1 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions 3d89d0c4a1c6d4d2a755e826351b0a101dbc86f3, f5dda8db382c5751c4e572afc7c99df7da1f83ca, cbb9a969fc190e85195d1b0f08038e7f6199044e as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.26% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Linux to 3d89d0c4a1c6d4d2a755e826351b0a101dbc86f3 or f5dda8db382c5751c4e572afc7c99df7da1f83ca or cbb9a969fc190e85195d1b0f08038e7f6199044e or 1f6b62392453d8f36685d19b761307a8c5617ac1, whichever matches your release line, or a later version.
- Update Linux Kernel to 4.19.321 or 5.4.283 or 5.10.225 or 5.15.166, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, 3d89d0c4a1c6d4d2a755e826351b0a101dbc86f3; 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, f5dda8db382c5751c4e572afc7c99df7da1f83ca; 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, cbb9a969fc190e85195d1b0f08038e7f6199044e; 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, 1f6b62392453d8f36685d19b761307a8c5617ac1; 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, 137d565ab89ce3584503b443bc9e00d44f482593; 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, 34ba4f29f3d9eb52dee37512059efb2afd7e966f; 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, 3939d787139e359b77aaf9485d1e145d6713d7b9; 459aa660eb1d8ce67080da1983bb81d716aa5a69 up to, but not including, 3a3be7ff9224f424e485287b54be00d2c6bd9c40; and 1 more ranges | 3d89d0c4a1c6d4d2a755e826351b0a101dbc86f3, f5dda8db382c5751c4e572afc7c99df7da1f83ca, cbb9a969fc190e85195d1b0f08038e7f6199044e, 1f6b62392453d8f36685d19b761307a8c5617ac1, 137d565ab89ce3584503b443bc9e00d44f482593, 34ba4f29f3d9eb52dee37512059efb2afd7e966f |
| Linux | Linux Kernel | 4.7 up to, but not including, 4.19.321; 4.20 up to, but not including, 5.4.283; 5.5 up to, but not including, 5.10.225; 5.11 up to, but not including, 5.15.166; 5.16 up to, but not including, 6.1.107; 6.2 up to, but not including, 6.6.48; 6.7 up to, but not including, 6.10.7; 6.11 | 4.19.321, 5.4.283, 5.10.225, 5.15.166, 6.1.107, 6.6.48 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- NoneNothing can be modified.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H. Scored by NVD.
Official description
In the Linux kernel, the following vulnerability has been resolved: gtp: pull network headers in gtp_dev_xmit() syzbot/KMSAN reported use of uninit-value in get_dev_xmit() [1] We must make sure the IPv4 or Ipv6 header is pulled in skb->head before accessing fields in them. Use pskb_inet_may_pull() to fix this issue. [1] BUG: KMSAN: uninit-value in ipv6_pdp_find drivers/net/gtp.c:220 [inline] BUG: KMSAN: uninit-value in gtp_build_skb_ip6 drivers/net/gtp.c:1229 [inline] BUG: KMSAN: uninit-value in gtp_dev_xmit+0x1424/0x2540 drivers/net/gtp.c:1281 ipv6_pdp_find drivers/net/gtp.c:220 [inline] gtp_build_skb_ip6 drivers/net/gtp.c:1229 [inline] gtp_dev_xmit+0x1424/0x2540 drivers/net/gtp.c:1281 __netdev_start_xmit include/linux/netdevice.h:4913 [inline] netdev_start_xmit include/linux/netdevice.h:4922 [inline] xmit_one net/core/dev.c:3580 [inline] dev_hard_start_xmit+0x247/0xa20 net/core/dev.c:3596 __dev_queue_xmit+0x358c/0x5610 net/core/dev.c:4423 dev_queue_xmit include/linux/netdevice.h:3105 [inline] packet_xmit+0x9c/0x6c0 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3145 [inline] packet_sendmsg+0x90e3/0xa3a0 net/packet/af_packet.c:3177 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x30f/0x380 net/socket.c:745 __sys_sendto+0x685/0x830 net/socket.c:2204 __do_sys_sendto net/socket.c:2216 [inline] __se_sys_sendto net/socket.c:2212 [inline] __x64_sys_sendto+0x125/0x1d0 net/socket.c:2212 x64_sys_call+0x3799/0x3c10 arch/x86/include/generated/asm/syscalls_64.h:45 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit was created at: slab_post_alloc_hook mm/slub.c:3994 [inline] slab_alloc_node mm/slub.c:4037 [inline] kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4080 kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:583 __alloc_skb+0x363/0x7b0 net/core/skbuff.c:674 alloc_skb include/linux/skbuff.h:1320 [inline] alloc_skb_with_frags+0xc8/0xbf0 net/core/skbuff.c:6526 sock_alloc_send_pskb+0xa81/0xbf0 net/core/sock.c:2815 packet_alloc_skb net/packet/af_packet.c:2994 [inline] packet_snd net/packet/af_packet.c:3088 [inline] packet_sendmsg+0x749c/0xa3a0 net/packet/af_packet.c:3177 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x30f/0x380 net/socket.c:745 __sys_sendto+0x685/0x830 net/socket.c:2204 __do_sys_sendto net/socket.c:2216 [inline] __se_sys_sendto net/socket.c:2212 [inline] __x64_sys_sendto+0x125/0x1d0 net/socket.c:2212 x64_sys_call+0x3799/0x3c10 arch/x86/include/generated/asm/syscalls_64.h:45 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f CPU: 0 UID: 0 PID: 7115 Comm: syz.1.515 Not tainted 6.11.0-rc1-syzkaller-00043-g94ede2a3e913 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Use of Uninitialized Resource
The product uses or accesses a resource that has not been initialized.
How developers prevent this class of flaw
- Explicitly initialize the resource before use. If this is performed through an API function or standard procedure, follow all required steps.
- Pay close attention to complex conditionals that affect initialization, since some branches might not perform the initialization.
- Avoid race conditions (CWE-362) during initialization routines.
More Use of Uninitialized Resource vulnerabilities (CWE-908)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
- git.kernel.org/stable/c/137d565ab89ce3584503b443bc9e00d44f482593
- git.kernel.org/stable/c/1f6b62392453d8f36685d19b761307a8c5617ac1
- git.kernel.org/stable/c/34ba4f29f3d9eb52dee37512059efb2afd7e966f
- git.kernel.org/stable/c/3939d787139e359b77aaf9485d1e145d6713d7b9
- git.kernel.org/stable/c/3a3be7ff9224f424e485287b54be00d2c6bd9c40
- git.kernel.org/stable/c/3d89d0c4a1c6d4d2a755e826351b0a101dbc86f3
- git.kernel.org/stable/c/cbb9a969fc190e85195d1b0f08038e7f6199044e
- git.kernel.org/stable/c/f5dda8db382c5751c4e572afc7c99df7da1f83ca
Other references
Recent Use of Uninitialized Resource vulnerabilities
- 7.1 High severity
- 7.1 High severity
- 8.2 High severity
- 8.8 High severity
- 7.0 High severity
- 7.5 High severity
Spotted an error? Tell us.