Skip to main content

Linux Kernel CVE-2024-35857

HIGH
NULL Pointer Dereference (CWE-476)
2024-05-17 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.5
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
7.5 HIGH

Network-reachable via ICMP with no auth or interaction; impact is availability-only (kernel panic), no confidentiality or integrity effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

7
Analysis Updated
Aug 04, 2026 - 12:37 vuln.today
v3 (cvss_changed)
Analysis Updated
Aug 04, 2026 - 12:35 vuln.today
v2 (cvss_changed)
Analysis Updated
Aug 04, 2026 - 12:34 vuln.today
v1 (cvss_changed)
Re-analysis Queued
Aug 04, 2026 - 11:23 vuln.today
cvss_changed
Severity Changed
Aug 04, 2026 - 11:23 NVD
MEDIUM HIGH
CVSS changed
Aug 04, 2026 - 11:23 NVD
5.3 (MEDIUM) 7.5 (HIGH)
CVE Published
May 17, 2024 - 15:15 cve.org
MEDIUM 5.3

DescriptionCVE.org

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

icmp: prevent possible NULL dereferences from icmp_build_probe()

First problem is a double call to __in_dev_get_rcu(), because the second one could return NULL.

if (__in_dev_get_rcu(dev) && __in_dev_get_rcu(dev)->ifa_list)

Second problem is a read from dev->ip6_ptr with no NULL check:

if (!list_empty(&rcu_dereference(dev->ip6_ptr)->addr_list))

Use the correct RCU API to fix these.

v2: add missing include <net/addrconf.h>

AnalysisAI

Null pointer dereferences in the Linux kernel's icmp_build_probe() function expose network-reachable systems to unauthenticated denial-of-service. Two distinct code paths are vulnerable: a double call to __in_dev_get_rcu() where the second invocation can return NULL even if the first succeeded, and an unguarded dereference of dev->ip6_ptr without a NULL check. An unauthenticated remote attacker can send crafted ICMP probe packets to trigger a kernel panic, crashing the affected system. No public exploit code exists and the vulnerability is not listed in CISA KEV, but the AV:N/PR:N CVSS vector confirms remote unauthenticated exploitability with EPSS at 0.89% (55th percentile).

Technical ContextAI

The flaw resides in the Linux kernel's ICMP subsystem, specifically in the icmp_build_probe() function responsible for handling ICMP probe messages. Two RCU (Read-Copy-Update) API misuses are present: first, the condition checks __in_dev_get_rcu(dev) and then immediately re-calls __in_dev_get_rcu(dev)->ifa_list in the same expression - because RCU read-side critical sections do not guarantee the pointer stays non-NULL across two separate calls, the second invocation can return NULL, causing a dereference fault. Second, dev->ip6_ptr is dereferenced via rcu_dereference() inside a list_empty() call without any prior NULL guard, meaning if the IPv6 private pointer is not initialized on the interface, a NULL dereference follows. CWE-476 (NULL Pointer Dereference) is the root cause class. The fix applies the correct RCU API pattern - storing the result of __in_dev_get_rcu() in a local variable and checking once - and adds a NULL check on ip6_ptr before accessing its addr_list member. Affected CPEs cover cpe:2.3:o:linux:linux_kernel including release candidates 6.9-rc1 through 6.9-rc5.

RemediationAI

The upstream fix is available as patch commits in the Linux kernel stable tree, confirmed by NVD references at https://git.kernel.org/stable/c/23b7ee4a8d559bf38eac7ce5bb2f6ebf76f9c401, https://git.kernel.org/stable/c/3e2979bf080c40da4f7c93aff8575ab8bc62b767, https://git.kernel.org/stable/c/599c9ad5e1d43f5c12d869f5fd406ba5d8c55270, https://git.kernel.org/stable/c/c58e88d49097bd12dfcfef4f075b43f5d5830941, and https://git.kernel.org/stable/c/d68dc711d84fdcf698e5d45308c3ddeede586350. A specific patched release version number is not independently confirmed from the available data - apply the latest stable kernel release from your distribution (Red Hat, Ubuntu, Debian, SUSE, etc.) once their respective security advisories incorporate these commits. As a compensating control where patching is not immediately possible, deploying firewall or ACL rules to block inbound ICMP probe packets from untrusted networks reduces attack surface; note this may affect legitimate network diagnostic and reachability-probe functionality. There are no documented workarounds that address the kernel code path itself without patching.

Share

CVE-2024-35857 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy