Linux: Use of Uninitialized Resource
CVE-2024-47685 is a critical-severity use of uninitialized resource vulnerability in Linux, with a CVSS 3.1 base score of 9.1 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. The record lists versions 872eca64c3267dbc5836b715716fc6c03a18eda7, 7bcbc4cda777d26c88500d973fad0d497fc8a82e, dcf48ab3ca2c55b09c8f9c8de0df01c1943bc4e5 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 1.37% chance of exploitation within 30 days, higher than 72% of scored CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Update Linux to 872eca64c3267dbc5836b715716fc6c03a18eda7 or 7bcbc4cda777d26c88500d973fad0d497fc8a82e or dcf48ab3ca2c55b09c8f9c8de0df01c1943bc4e5 or fbff87d682e57ddbbe82abf6d0a1a4a36a98afcd, whichever matches your release line, or a later version.
- Update SIMATIC S7-1500 TM MFP - GNU/Linux subsystem to V1.1.1 or a later version.
- Update RUGGEDCOM RST2428P to V3.2 or a later version.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, 872eca64c3267dbc5836b715716fc6c03a18eda7; c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, 7bcbc4cda777d26c88500d973fad0d497fc8a82e; c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, dcf48ab3ca2c55b09c8f9c8de0df01c1943bc4e5; c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, fbff87d682e57ddbbe82abf6d0a1a4a36a98afcd; c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, 7ea2bcfd9bf4c3dbbf22546162226fd1c14d8ad2; c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, af4b8a704f26f38310655bad67fd8096293275a2; c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, 7a7b5a27c53b55e91eecf646d1b204e73fa4af93; c8d7b98bec43faaa6583c3135030be5eb4693acb up to, but not including, 10210658f827ad45061581cbfc05924b723e8922; and 2 more ranges | 872eca64c3267dbc5836b715716fc6c03a18eda7, 7bcbc4cda777d26c88500d973fad0d497fc8a82e, dcf48ab3ca2c55b09c8f9c8de0df01c1943bc4e5, fbff87d682e57ddbbe82abf6d0a1a4a36a98afcd, 7ea2bcfd9bf4c3dbbf22546162226fd1c14d8ad2, af4b8a704f26f38310655bad67fd8096293275a2 |
| Siemens | SIMATIC S7-1500 TM MFP - GNU/Linux subsystem | before V1.1.1 | V1.1.1 |
| Siemens | RUGGEDCOM RST2428P | before V3.2 | V3.2 |
| Siemens | SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family | before V3.2 | V3.2 |
| Siemens | SCALANCE XCM-/XRM-/XCH-/XRH-300 family | before V3.2 | V3.2 |
| Debian | Debian Linux | 11.0 | Not stated |
| Linux | Linux Kernel | 3.18 up to, but not including, 4.19.323; 4.20 up to, but not including, 5.4.285; 5.5 up to, but not including, 5.10.227; 5.11 up to, but not including, 5.15.168; 5.16 up to, but not including, 6.1.113; 6.2 up to, but not including, 6.6.54; 6.7 up to, but not including, 6.10.13; 6.11 up to, but not including, 6.11.2 | 4.19.323, 5.4.285, 5.10.227, 5.15.168, 6.1.113, 6.6.54 |
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
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- 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:N/AC:L/PR:N/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: netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put() syzbot reported that nf_reject_ip6_tcphdr_put() was possibly sending garbage on the four reserved tcp bits (th->res1) Use skb_put_zero() to clear the whole TCP header, as done in nf_reject_ip_tcphdr_put() BUG: KMSAN: uninit-value in nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255 nf_reject_ip6_tcphdr_put+0x688/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:255 nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344 nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48 expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline] nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288 nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626 nf_hook include/linux/netfilter.h:269 [inline] NF_HOOK include/linux/netfilter.h:312 [inline] ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310 __netif_receive_skb_one_core net/core/dev.c:5661 [inline] __netif_receive_skb+0x1da/0xa00 net/core/dev.c:5775 process_backlog+0x4ad/0xa50 net/core/dev.c:6108 __napi_poll+0xe7/0x980 net/core/dev.c:6772 napi_poll net/core/dev.c:6841 [inline] net_rx_action+0xa5a/0x19b0 net/core/dev.c:6963 handle_softirqs+0x1ce/0x800 kernel/softirq.c:554 __do_softirq+0x14/0x1a kernel/softirq.c:588 do_softirq+0x9a/0x100 kernel/softirq.c:455 __local_bh_enable_ip+0x9f/0xb0 kernel/softirq.c:382 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:908 [inline] __dev_queue_xmit+0x2692/0x5610 net/core/dev.c:4450 dev_queue_xmit include/linux/netdevice.h:3105 [inline] neigh_resolve_output+0x9ca/0xae0 net/core/neighbour.c:1565 neigh_output include/net/neighbour.h:542 [inline] ip6_finish_output2+0x2347/0x2ba0 net/ipv6/ip6_output.c:141 __ip6_finish_output net/ipv6/ip6_output.c:215 [inline] ip6_finish_output+0xbb8/0x14b0 net/ipv6/ip6_output.c:226 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip6_output+0x356/0x620 net/ipv6/ip6_output.c:247 dst_output include/net/dst.h:450 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] ip6_xmit+0x1ba6/0x25d0 net/ipv6/ip6_output.c:366 inet6_csk_xmit+0x442/0x530 net/ipv6/inet6_connection_sock.c:135 __tcp_transmit_skb+0x3b07/0x4880 net/ipv4/tcp_output.c:1466 tcp_transmit_skb net/ipv4/tcp_output.c:1484 [inline] tcp_connect+0x35b6/0x7130 net/ipv4/tcp_output.c:4143 tcp_v6_connect+0x1bcc/0x1e40 net/ipv6/tcp_ipv6.c:333 __inet_stream_connect+0x2ef/0x1730 net/ipv4/af_inet.c:679 inet_stream_connect+0x6a/0xd0 net/ipv4/af_inet.c:750 __sys_connect_file net/socket.c:2061 [inline] __sys_connect+0x606/0x690 net/socket.c:2078 __do_sys_connect net/socket.c:2088 [inline] __se_sys_connect net/socket.c:2085 [inline] __x64_sys_connect+0x91/0xe0 net/socket.c:2085 x64_sys_call+0x27a5/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:43 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 stored to memory at: nf_reject_ip6_tcphdr_put+0x60c/0x6c0 net/ipv6/netfilter/nf_reject_ipv6.c:249 nf_send_reset6+0xd84/0x15b0 net/ipv6/netfilter/nf_reject_ipv6.c:344 nft_reject_inet_eval+0x3c1/0x880 net/netfilter/nft_reject_inet.c:48 expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline] nft_do_chain+0x438/0x22a0 net/netfilter/nf_tables_core.c:288 nft_do_chain_inet+0x41a/0x4f0 net/netfilter/nft_chain_filter.c:161 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626 nf_hook include/linux/netfilter.h:269 [inline] NF_HOOK include/linux/netfilter.h:312 [inline] ipv6_rcv+0x29b/0x390 net/ipv6/ip6_input.c:310 __netif_receive_skb_one_core ---truncated---
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/10210658f827ad45061581cbfc05924b723e8922
- git.kernel.org/stable/c/7a7b5a27c53b55e91eecf646d1b204e73fa4af93
- git.kernel.org/stable/c/7bcbc4cda777d26c88500d973fad0d497fc8a82e
- git.kernel.org/stable/c/7ea2bcfd9bf4c3dbbf22546162226fd1c14d8ad2
- git.kernel.org/stable/c/872eca64c3267dbc5836b715716fc6c03a18eda7
- git.kernel.org/stable/c/9c778fe48d20ef362047e3376dee56d77f8500d4
- git.kernel.org/stable/c/af4b8a704f26f38310655bad67fd8096293275a2
- git.kernel.org/stable/c/dcf48ab3ca2c55b09c8f9c8de0df01c1943bc4e5
- git.kernel.org/stable/c/fbff87d682e57ddbbe82abf6d0a1a4a36a98afcd
Third-party and government advisories
- lists.debian.org/debian-lts-announce/2025/01/msg00001.htmlMailing List, Third Party Advisory
- lists.debian.org/debian-lts-announce/2025/03/msg00002.htmlMailing List, Third Party Advisory
Other references
Recent Use of Uninitialized Resource vulnerabilities
- 7.1 High severity
- 7.1 High severity
- 7.1 High severity
- 7.8 High severity
- 7.1 High severity
- 9.8 Critical severity
Spotted an error? Tell us.