Cloudanix VulnDB

CVE-2024-5564

High · 8.1

CVSS

8.1

EPSS

1.2%

Published

May 31, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in network handling software lets a local attacker send bad network messages that can crash systems or take them over.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Full Compromise
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Improper validation of route length in IPv6 router advertisement packets within libndp allows a buffer overflow in NetworkManager, enabling memory corruption that can lead to crashes or arbitrary code execution.

Why it matters to the business

Attackers could disrupt network connectivity services or gain elevated access on affected systems, resulting in downtime, data exposure, or further compromise of hosts relying on NetworkManager for IPv6 handling.

How an attack unfolds

An attacker with local access crafts and sends a malformed IPv6 router advertisement packet containing invalid route length data; libndp fails to validate this input, triggering a buffer overflow in NetworkManager that an adversary can leverage for code execution or denial of service.

How to fix it

Upgrade libndp and NetworkManager to versions containing input validation fixes for IPv6 route advertisements; apply vendor patches as they become available and rebuild any dependent packages.

How to confirm the fix worked

Verify installed libndp and NetworkManager versions against upstream security advisories; test packet handling with controlled malformed IPv6 RAs in a lab environment and confirm absence of crashes or overflows via fuzzing or static analysis.

Typical attack path

  1. Obtain local access or network-adjacent position to inject IPv6 traffic
  2. Craft malformed IPv6 router advertisement with oversized or invalid route length field
  3. Deliver packet to trigger libndp processing in NetworkManager
  4. Exploit resulting buffer overflow for memory corruption or code execution

How to detect it

Review NetworkManager and system logs for segmentation faults or crashes during IPv6 packet processing; inspect network captures for anomalous router advertisement packets with suspicious route options; correlate with local user activity around the time of any service restarts.

What your security team should do

  • Monitor for upstream fixes and schedule patching of libndp/NetworkManager across all systems
  • Restrict local user privileges and IPv6 RA acceptance where feasible until mitigated
  • Enable exploit mitigation features such as ASLR and stack canaries on affected hosts

The record

A vulnerability was found in libndp. This flaw allows a local malicious user to cause a buffer overflow in NetworkManager, triggered by sending a malformed IPv6 router advertisement packet. This issue occurred as libndp was not correctly validating the route length information.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 libndp 0 1.7-7.el8_10.alma.1
AlmaLinux:9 libndp 0 1.8-6.el9_4.alma.1
Debian:10 libndp 0 1.6-1+deb10u1
Debian:11 libndp 0 1.6-1+deb11u1
Debian:12 libndp 0 1.8-1+deb12u1
Debian:13 libndp 0 1.8-2
Mageia:9 libndp 0 1.8-2.1.mga9
Red Hat:enterprise_linux:8::baseos libndp 0 0:1.7-7.el8_10
Red Hat:enterprise_linux:8::baseos libndp-debuginfo 0 0:1.7-7.el8_10
Red Hat:enterprise_linux:8::baseos libndp-debugsource 0 0:1.7-7.el8_10
Red Hat:enterprise_linux:9::baseos libndp 0 0:1.8-6.el9_4
Red Hat:enterprise_linux:9::baseos libndp-debuginfo 0 0:1.8-6.el9_4
Red Hat:enterprise_linux:9::baseos libndp-debugsource 0 0:1.8-6.el9_4
Red Hat:rhel_aus:8.2::baseos libndp 0 0:1.7-4.el8_2
Red Hat:rhel_aus:8.2::baseos libndp-debuginfo 0 0:1.7-4.el8_2
Red Hat:rhel_aus:8.2::baseos libndp-debugsource 0 0:1.7-4.el8_2
Red Hat:rhel_aus:8.4::baseos libndp 0 0:1.7-6.el8_4
Red Hat:rhel_aus:8.4::baseos libndp-debuginfo 0 0:1.7-6.el8_4
Red Hat:rhel_aus:8.4::baseos libndp-debugsource 0 0:1.7-6.el8_4
Red Hat:rhel_aus:8.6::baseos libndp 0 0:1.7-7.el8_6
Red Hat:rhel_aus:8.6::baseos libndp-debuginfo 0 0:1.7-7.el8_6
Red Hat:rhel_aus:8.6::baseos libndp-debugsource 0 0:1.7-7.el8_6
Red Hat:rhel_e4s:8.4::baseos libndp 0 0:1.7-6.el8_4
Red Hat:rhel_e4s:8.4::baseos libndp-debuginfo 0 0:1.7-6.el8_4
Red Hat:rhel_e4s:8.4::baseos libndp-debugsource 0 0:1.7-6.el8_4
Red Hat:rhel_e4s:8.6::baseos libndp 0 0:1.7-7.el8_6
Red Hat:rhel_e4s:8.6::baseos libndp-debuginfo 0 0:1.7-7.el8_6
Red Hat:rhel_e4s:8.6::baseos libndp-debugsource 0 0:1.7-7.el8_6
Red Hat:rhel_e4s:9.0::baseos libndp 0 0:1.8-5.el9_0
Red Hat:rhel_e4s:9.0::baseos libndp-debuginfo 0 0:1.8-5.el9_0
Red Hat:rhel_e4s:9.0::baseos libndp-debugsource 0 0:1.8-5.el9_0
Red Hat:rhel_els:7 libndp 0 0:1.2-10.el7_9
Red Hat:rhel_els:7 libndp-debuginfo 0 0:1.2-10.el7_9
Red Hat:rhel_els:7 libndp-devel 0 0:1.2-10.el7_9
Red Hat:rhel_eus:8.8::baseos libndp 0 0:1.7-7.el8_8
Red Hat:rhel_eus:8.8::baseos libndp-debuginfo 0 0:1.7-7.el8_8
Red Hat:rhel_eus:8.8::baseos libndp-debugsource 0 0:1.7-7.el8_8
Red Hat:rhel_eus:9.2::baseos libndp 0 0:1.8-5.el9_2
Red Hat:rhel_eus:9.2::baseos libndp-debuginfo 0 0:1.8-5.el9_2
Red Hat:rhel_eus:9.2::baseos libndp-debugsource 0 0:1.8-5.el9_2
Red Hat:rhel_tus:8.4::baseos libndp 0 0:1.7-6.el8_4
Red Hat:rhel_tus:8.4::baseos libndp-debuginfo 0 0:1.7-6.el8_4
Red Hat:rhel_tus:8.4::baseos libndp-debugsource 0 0:1.7-6.el8_4
Red Hat:rhel_tus:8.6::baseos libndp 0 0:1.7-7.el8_6
Red Hat:rhel_tus:8.6::baseos libndp-debuginfo 0 0:1.7-7.el8_6
Red Hat:rhel_tus:8.6::baseos libndp-debugsource 0 0:1.7-7.el8_6
Rocky Linux:8 libndp 0 0:1.7-7.el8_10
Rocky Linux:9 libndp 0 0:1.8-6.el9_4
SUSE:Enterprise Storage 7.1 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Micro 5.3 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Micro 5.4 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Micro 5.5 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Server 12 SP5 libndp 0 1.6-4.5.1
SUSE:Linux Enterprise Server 15 SP2-LTSS libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Server 15 SP3-LTSS libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Server 15 SP4-LTSS libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 libndp 0 1.6-4.5.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 libndp 0 1.6-150000.3.3.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 libndp 0 1.6-150000.3.3.1
Ubuntu:20.04:LTS libndp 0 1.7-0ubuntu1.1
Ubuntu:22.04:LTS libndp 0 1.8-0ubuntu3.1
Ubuntu:23.10 libndp 0 1.8-1fakesync1ubuntu0.23.10.1
Ubuntu:24.04:LTS libndp 0 1.8-1fakesync1ubuntu0.24.04.1
Ubuntu:24.10 libndp 0 1.8-2fakesync1
Ubuntu:Pro:16.04:LTS libndp 0 No fix
Ubuntu:Pro:16.04:LTS libndp 0 1.4-2ubuntu0.16.04.1+esm1
Ubuntu:Pro:18.04:LTS libndp 0 No fix
Ubuntu:Pro:18.04:LTS libndp 0 1.6-1ubuntu0.1~esm1
openSUSE:Leap 15.5 libndp 0 1.6-150000.3.3.1
openSUSE:Leap 15.6 libndp 0 1.6-150000.3.3.1
openSUSE:Tumbleweed libndp 0 1.8-2.1

Related vulnerabilities