CVE Vulnerabilities

CVE-2024-39557

Uncontrolled Resource Consumption

Published: Jul 10, 2024 | Modified: Feb 07, 2025
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu

An Uncontrolled Resource Consumption vulnerability in the

Layer 2 Address Learning Daemon (l2ald)

of Juniper Networks Junos OS Evolved allows an unauthenticated, adjacent attacker to cause a memory leak, eventually exhausting all system memory, leading to a system crash and Denial of Service (DoS).

Certain MAC table updates cause a small amount of memory to leak.  Once memory utilization reaches its limit, the issue will result in a system crash and restart.

To identify the issue, execute the CLI command:

user@device> show platform application-info allocations app l2ald-agent EVL Object Allocation Statistics:

Node   Application     Context Name                               Live   Allocs   Fails     Guids re0   l2ald-agent               net::juniper::rtnh::L2Rtinfo       1069096 1069302   0         1069302 re0   l2ald-agent               net::juniper::rtnh::NHOpaqueTlv     114     195       0         195

This issue affects Junos OS Evolved:

  • All versions before 21.4R3-S8-EVO,

  • from 22.2-EVO before 22.2R3-S4-EVO,

  • from 22.3-EVO before 22.3R3-S3-EVO,

  • from 22.4-EVO before 22.4R3-EVO,

  • from 23.2-EVO before 23.2R2-EVO.

Weakness

The product does not properly control the allocation and maintenance of a limited resource.

Affected Software

Name Vendor Start Version End Version
Junos_os_evolved Juniper * 21.4 (excluding)
Junos_os_evolved Juniper 21.4 (including) 21.4 (including)
Junos_os_evolved Juniper 21.4-r1 (including) 21.4-r1 (including)
Junos_os_evolved Juniper 21.4-r1-s1 (including) 21.4-r1-s1 (including)
Junos_os_evolved Juniper 21.4-r1-s2 (including) 21.4-r1-s2 (including)
Junos_os_evolved Juniper 21.4-r2 (including) 21.4-r2 (including)
Junos_os_evolved Juniper 21.4-r2-s1 (including) 21.4-r2-s1 (including)
Junos_os_evolved Juniper 21.4-r2-s2 (including) 21.4-r2-s2 (including)
Junos_os_evolved Juniper 21.4-r3 (including) 21.4-r3 (including)
Junos_os_evolved Juniper 21.4-r3-s1 (including) 21.4-r3-s1 (including)
Junos_os_evolved Juniper 21.4-r3-s2 (including) 21.4-r3-s2 (including)
Junos_os_evolved Juniper 21.4-r3-s3 (including) 21.4-r3-s3 (including)
Junos_os_evolved Juniper 21.4-r3-s4 (including) 21.4-r3-s4 (including)
Junos_os_evolved Juniper 21.4-r3-s5 (including) 21.4-r3-s5 (including)
Junos_os_evolved Juniper 21.4-r3-s6 (including) 21.4-r3-s6 (including)
Junos_os_evolved Juniper 21.4-r3-s7 (including) 21.4-r3-s7 (including)
Junos_os_evolved Juniper 22.2 (including) 22.2 (including)
Junos_os_evolved Juniper 22.2-r1 (including) 22.2-r1 (including)
Junos_os_evolved Juniper 22.2-r1-s1 (including) 22.2-r1-s1 (including)
Junos_os_evolved Juniper 22.2-r1-s2 (including) 22.2-r1-s2 (including)
Junos_os_evolved Juniper 22.2-r2 (including) 22.2-r2 (including)
Junos_os_evolved Juniper 22.2-r2-s1 (including) 22.2-r2-s1 (including)
Junos_os_evolved Juniper 22.2-r2-s2 (including) 22.2-r2-s2 (including)
Junos_os_evolved Juniper 22.2-r3 (including) 22.2-r3 (including)
Junos_os_evolved Juniper 22.2-r3-s1 (including) 22.2-r3-s1 (including)
Junos_os_evolved Juniper 22.2-r3-s2 (including) 22.2-r3-s2 (including)
Junos_os_evolved Juniper 22.2-r3-s3 (including) 22.2-r3-s3 (including)
Junos_os_evolved Juniper 22.3 (including) 22.3 (including)
Junos_os_evolved Juniper 22.3-r1 (including) 22.3-r1 (including)
Junos_os_evolved Juniper 22.3-r1-s1 (including) 22.3-r1-s1 (including)
Junos_os_evolved Juniper 22.3-r1-s2 (including) 22.3-r1-s2 (including)
Junos_os_evolved Juniper 22.3-r2 (including) 22.3-r2 (including)
Junos_os_evolved Juniper 22.3-r2-s1 (including) 22.3-r2-s1 (including)
Junos_os_evolved Juniper 22.3-r2-s2 (including) 22.3-r2-s2 (including)
Junos_os_evolved Juniper 22.3-r3 (including) 22.3-r3 (including)
Junos_os_evolved Juniper 22.3-r3-s1 (including) 22.3-r3-s1 (including)
Junos_os_evolved Juniper 22.3-r3-s2 (including) 22.3-r3-s2 (including)
Junos_os_evolved Juniper 22.4 (including) 22.4 (including)
Junos_os_evolved Juniper 22.4-r1 (including) 22.4-r1 (including)
Junos_os_evolved Juniper 22.4-r1-s1 (including) 22.4-r1-s1 (including)
Junos_os_evolved Juniper 22.4-r1-s2 (including) 22.4-r1-s2 (including)
Junos_os_evolved Juniper 22.4-r2 (including) 22.4-r2 (including)
Junos_os_evolved Juniper 22.4-r2-s1 (including) 22.4-r2-s1 (including)
Junos_os_evolved Juniper 22.4-r2-s2 (including) 22.4-r2-s2 (including)
Junos_os_evolved Juniper 23.2 (including) 23.2 (including)
Junos_os_evolved Juniper 23.2-r1 (including) 23.2-r1 (including)
Junos_os_evolved Juniper 23.2-r1-s1 (including) 23.2-r1-s1 (including)
Junos_os_evolved Juniper 23.2-r1-s2 (including) 23.2-r1-s2 (including)

Potential Mitigations

  • Mitigation of resource exhaustion attacks requires that the target system either:

  • The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.

  • The second solution is simply difficult to effectively institute – and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.

References