Skip to main content

CVE-2024-42270: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-42270cvecve-2024-42270
Published: Sat Aug 17 2024 (08/17/2024, 08:54:25 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: netfilter: iptables: Fix null-ptr-deref in iptable_nat_table_init(). We had a report that iptables-restore sometimes triggered null-ptr-deref at boot time. [0] The problem is that iptable_nat_table_init() is exposed to user space before the kernel fully initialises netns. In the small race window, a user could call iptable_nat_table_init() that accesses net_generic(net, iptable_nat_net_id), which is available only after registering iptable_nat_net_ops. Let's call register_pernet_subsys() before xt_register_template(). [0]: bpfilter: Loaded bpfilter_umh pid 11702 Started bpfilter BUG: kernel NULL pointer dereference, address: 0000000000000013 PF: supervisor write access in kernel mode PF: error_code(0x0002) - not-present page PGD 0 P4D 0 PREEMPT SMP NOPTI CPU: 2 PID: 11879 Comm: iptables-restor Not tainted 6.1.92-99.174.amzn2023.x86_64 #1 Hardware name: Amazon EC2 c6i.4xlarge/, BIOS 1.0 10/16/2017 RIP: 0010:iptable_nat_table_init (net/ipv4/netfilter/iptable_nat.c:87 net/ipv4/netfilter/iptable_nat.c:121) iptable_nat Code: 10 4c 89 f6 48 89 ef e8 0b 19 bb ff 41 89 c4 85 c0 75 38 41 83 c7 01 49 83 c6 28 41 83 ff 04 75 dc 48 8b 44 24 08 48 8b 0c 24 <48> 89 08 4c 89 ef e8 a2 3b a2 cf 48 83 c4 10 44 89 e0 5b 5d 41 5c RSP: 0018:ffffbef902843cd0 EFLAGS: 00010246 RAX: 0000000000000013 RBX: ffff9f4b052caa20 RCX: ffff9f4b20988d80 RDX: 0000000000000000 RSI: 0000000000000064 RDI: ffffffffc04201c0 RBP: ffff9f4b29394000 R08: ffff9f4b07f77258 R09: ffff9f4b07f77240 R10: 0000000000000000 R11: ffff9f4b09635388 R12: 0000000000000000 R13: ffff9f4b1a3c6c00 R14: ffff9f4b20988e20 R15: 0000000000000004 FS: 00007f6284340000(0000) GS:ffff9f51fe280000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000013 CR3: 00000001d10a6005 CR4: 00000000007706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ? show_trace_log_lvl (arch/x86/kernel/dumpstack.c:259) ? show_trace_log_lvl (arch/x86/kernel/dumpstack.c:259) ? xt_find_table_lock (net/netfilter/x_tables.c:1259) ? __die_body.cold (arch/x86/kernel/dumpstack.c:478 arch/x86/kernel/dumpstack.c:420) ? page_fault_oops (arch/x86/mm/fault.c:727) ? exc_page_fault (./arch/x86/include/asm/irqflags.h:40 ./arch/x86/include/asm/irqflags.h:75 arch/x86/mm/fault.c:1470 arch/x86/mm/fault.c:1518) ? asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:570) ? iptable_nat_table_init (net/ipv4/netfilter/iptable_nat.c:87 net/ipv4/netfilter/iptable_nat.c:121) iptable_nat xt_find_table_lock (net/netfilter/x_tables.c:1259) xt_request_find_table_lock (net/netfilter/x_tables.c:1287) get_info (net/ipv4/netfilter/ip_tables.c:965) ? security_capable (security/security.c:809 (discriminator 13)) ? ns_capable (kernel/capability.c:376 kernel/capability.c:397) ? do_ipt_get_ctl (net/ipv4/netfilter/ip_tables.c:1656) ? bpfilter_send_req (net/bpfilter/bpfilter_kern.c:52) bpfilter nf_getsockopt (net/netfilter/nf_sockopt.c:116) ip_getsockopt (net/ipv4/ip_sockglue.c:1827) __sys_getsockopt (net/socket.c:2327) __x64_sys_getsockopt (net/socket.c:2342 net/socket.c:2339 net/socket.c:2339) do_syscall_64 (arch/x86/entry/common.c:51 arch/x86/entry/common.c:81) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) RIP: 0033:0x7f62844685ee Code: 48 8b 0d 45 28 0f 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 37 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 0a c3 66 0f 1f 84 00 00 00 00 00 48 8b 15 09 RSP: 002b:00007ffd1f83d638 EFLAGS: 00000246 ORIG_RAX: 0000000000000037 RAX: ffffffffffffffda RBX: 00007ffd1f83d680 RCX: 00007f62844685ee RDX: 0000000000000040 RSI: 0000000000000000 RDI: 0000000000000004 RBP: 0000000000000004 R08: 00007ffd1f83d670 R09: 0000558798ffa2a0 R10: 00007ffd1f83d680 R11: 0000000000000246 R12: 00007ffd1f83e3b2 R13: 00007f6284 ---truncated---

AI-Powered Analysis

AILast updated: 06/29/2025, 06:40:13 UTC

Technical Analysis

CVE-2024-42270 is a vulnerability identified in the Linux kernel's netfilter subsystem, specifically within the iptables NAT (Network Address Translation) implementation. The flaw arises from a null pointer dereference in the function iptable_nat_table_init(), which is responsible for initializing the NAT table in iptables. The root cause is a race condition during system boot where iptable_nat_table_init() can be invoked from user space before the kernel has fully initialized the network namespace (netns). This premature call attempts to access net_generic(net, iptable_nat_net_id), which is only valid after the registration of iptable_nat_net_ops via register_pernet_subsys(). The improper ordering of these initialization steps leads to a null pointer dereference, causing a kernel crash (kernel oops) and resulting in a denial of service (DoS) condition. The vulnerability manifests during the execution of iptables-restore at boot time, as reported in the provided kernel logs. The issue has been fixed by adjusting the initialization sequence to call register_pernet_subsys() before xt_register_template(), ensuring netns is properly set up before iptable_nat_table_init() is exposed to user space. This vulnerability affects Linux kernel versions prior to the fix and is relevant to systems using iptables for NAT configuration. While no known exploits are currently reported in the wild, the vulnerability can be triggered by local users or processes invoking iptables-restore during boot, potentially causing system instability or denial of service.

Potential Impact

For European organizations, the impact of CVE-2024-42270 primarily involves system availability and stability. Linux is widely deployed across European enterprises, government agencies, cloud providers, and critical infrastructure, often serving as the backbone for servers, network devices, and virtualized environments. A kernel null pointer dereference leading to a crash can cause unexpected reboots or service interruptions, affecting business continuity and operational reliability. Systems that rely on iptables for firewall and NAT rules, especially those that apply configurations at boot time via iptables-restore, are at risk. This could disrupt network traffic management, impacting services such as web hosting, VPNs, and internal network segmentation. Although the vulnerability does not directly enable privilege escalation or remote code execution, the resulting denial of service could be exploited as part of a broader attack chain or during maintenance windows, causing operational delays. Additionally, environments with automated boot processes or container orchestration platforms using Linux kernel namespaces might experience cascading failures. Given the critical role of Linux in European data centers and cloud infrastructure, unpatched systems could face increased downtime and potential compliance risks related to service availability.

Mitigation Recommendations

To mitigate CVE-2024-42270, European organizations should prioritize the following actions: 1) Apply the official Linux kernel patches that reorder the initialization sequence to ensure register_pernet_subsys() is called before xt_register_template(), thereby preventing the race condition. 2) For distributions or environments where immediate patching is not feasible, consider temporarily disabling or delaying iptables-restore execution during boot until the kernel is fully initialized, reducing the risk of triggering the null pointer dereference. 3) Implement robust boot-time monitoring to detect kernel oops or crashes related to netfilter initialization, enabling rapid incident response. 4) Use alternative firewall management tools or frameworks that do not rely on the vulnerable initialization sequence, such as nftables, if compatible with organizational requirements. 5) In containerized or virtualized environments, ensure that kernel namespaces are fully initialized before applying iptables rules, possibly by adjusting orchestration scripts or startup dependencies. 6) Maintain an inventory of Linux kernel versions in use and enforce timely updates, especially for systems exposed to untrusted local users or automated configuration processes. 7) Engage with Linux distribution vendors for backported fixes and security advisories to ensure consistent patch management across diverse environments.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-07-30T07:40:12.260Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9828c4522896dcbe1db5

Added to database: 5/21/2025, 9:08:56 AM

Last enriched: 6/29/2025, 6:40:13 AM

Last updated: 8/1/2025, 6:16:08 AM

Views: 12

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats