CVE Vulnerabilities

CVE-2025-30658

Missing Release of Memory after Effective Lifetime

Published: Apr 09, 2025 | Modified: Jan 23, 2026
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu
root.io logo minimus.io logo echo.ai logo

A Missing Release of Memory after Effective Lifetime vulnerability in the Anti-Virus processing of Juniper Networks Junos OS on SRX Series

allows an unauthenticated, network-based attacker to cause a Denial-of-Service (DoS).

On all SRX platforms with Anti-Virus enabled, if a server sends specific content in the HTTP body of a response to a client request, these packets are queued by Anti-Virus processing in Juniper Buffers (jbufs) which are never released. When these jbufs are exhausted, the device stops forwarding all transit traffic.

A jbuf memory leak can be noticed from the following logs:

(.) Warning: jbuf pool id <#> utilization level (%) is above %!

To recover from this issue, the affected device needs to be manually rebooted to free the leaked jbufs.

This issue affects Junos OS on SRX Series: 

  • all versions before 21.2R3-S9,
  • 21.4 versions before 21.4R3-S10,
  • 22.2 versions before 22.2R3-S6,
  • 22.4 versions before 22.4R3-S6,
  • 23.2 versions before 23.2R2-S3,
  • 23.4 versions before 23.4R2-S3,
  • 24.2 versions before 24.2R2.

Weakness

The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.

Affected Software

NameVendorStart VersionEnd Version
JunosJuniper*21.2 (excluding)
JunosJuniper21.2 (including)21.2 (including)
JunosJuniper21.2-r1 (including)21.2-r1 (including)
JunosJuniper21.2-r1-s1 (including)21.2-r1-s1 (including)
JunosJuniper21.2-r1-s2 (including)21.2-r1-s2 (including)
JunosJuniper21.2-r2 (including)21.2-r2 (including)
JunosJuniper21.2-r2-s1 (including)21.2-r2-s1 (including)
JunosJuniper21.2-r2-s2 (including)21.2-r2-s2 (including)
JunosJuniper21.2-r3 (including)21.2-r3 (including)
JunosJuniper21.2-r3-s1 (including)21.2-r3-s1 (including)
JunosJuniper21.2-r3-s2 (including)21.2-r3-s2 (including)
JunosJuniper21.2-r3-s3 (including)21.2-r3-s3 (including)
JunosJuniper21.2-r3-s4 (including)21.2-r3-s4 (including)
JunosJuniper21.2-r3-s5 (including)21.2-r3-s5 (including)
JunosJuniper21.2-r3-s6 (including)21.2-r3-s6 (including)
JunosJuniper21.2-r3-s7 (including)21.2-r3-s7 (including)
JunosJuniper21.2-r3-s8 (including)21.2-r3-s8 (including)
JunosJuniper21.4 (including)21.4 (including)
JunosJuniper21.4-r1 (including)21.4-r1 (including)
JunosJuniper21.4-r1-s1 (including)21.4-r1-s1 (including)
JunosJuniper21.4-r1-s2 (including)21.4-r1-s2 (including)
JunosJuniper21.4-r2 (including)21.4-r2 (including)
JunosJuniper21.4-r2-s1 (including)21.4-r2-s1 (including)
JunosJuniper21.4-r2-s2 (including)21.4-r2-s2 (including)
JunosJuniper21.4-r3 (including)21.4-r3 (including)
JunosJuniper21.4-r3-s1 (including)21.4-r3-s1 (including)
JunosJuniper21.4-r3-s2 (including)21.4-r3-s2 (including)
JunosJuniper21.4-r3-s3 (including)21.4-r3-s3 (including)
JunosJuniper21.4-r3-s4 (including)21.4-r3-s4 (including)
JunosJuniper21.4-r3-s5 (including)21.4-r3-s5 (including)
JunosJuniper21.4-r3-s6 (including)21.4-r3-s6 (including)
JunosJuniper21.4-r3-s7 (including)21.4-r3-s7 (including)
JunosJuniper21.4-r3-s8 (including)21.4-r3-s8 (including)
JunosJuniper21.4-r3-s9 (including)21.4-r3-s9 (including)
JunosJuniper22.2 (including)22.2 (including)
JunosJuniper22.2-r1 (including)22.2-r1 (including)
JunosJuniper22.2-r1-s1 (including)22.2-r1-s1 (including)
JunosJuniper22.2-r1-s2 (including)22.2-r1-s2 (including)
JunosJuniper22.2-r2 (including)22.2-r2 (including)
JunosJuniper22.2-r2-s1 (including)22.2-r2-s1 (including)
JunosJuniper22.2-r2-s2 (including)22.2-r2-s2 (including)
JunosJuniper22.2-r3 (including)22.2-r3 (including)
JunosJuniper22.2-r3-s1 (including)22.2-r3-s1 (including)
JunosJuniper22.2-r3-s2 (including)22.2-r3-s2 (including)
JunosJuniper22.2-r3-s3 (including)22.2-r3-s3 (including)
JunosJuniper22.2-r3-s4 (including)22.2-r3-s4 (including)
JunosJuniper22.2-r3-s5 (including)22.2-r3-s5 (including)
JunosJuniper22.4 (including)22.4 (including)
JunosJuniper22.4-r1 (including)22.4-r1 (including)
JunosJuniper22.4-r1-s1 (including)22.4-r1-s1 (including)
JunosJuniper22.4-r1-s2 (including)22.4-r1-s2 (including)
JunosJuniper22.4-r2 (including)22.4-r2 (including)
JunosJuniper22.4-r2-s1 (including)22.4-r2-s1 (including)
JunosJuniper22.4-r2-s2 (including)22.4-r2-s2 (including)
JunosJuniper22.4-r3 (including)22.4-r3 (including)
JunosJuniper22.4-r3-s1 (including)22.4-r3-s1 (including)
JunosJuniper22.4-r3-s2 (including)22.4-r3-s2 (including)
JunosJuniper22.4-r3-s3 (including)22.4-r3-s3 (including)
JunosJuniper22.4-r3-s4 (including)22.4-r3-s4 (including)
JunosJuniper22.4-r3-s5 (including)22.4-r3-s5 (including)
JunosJuniper23.2 (including)23.2 (including)
JunosJuniper23.2-r1 (including)23.2-r1 (including)
JunosJuniper23.2-r1-s1 (including)23.2-r1-s1 (including)
JunosJuniper23.2-r1-s2 (including)23.2-r1-s2 (including)
JunosJuniper23.2-r2 (including)23.2-r2 (including)
JunosJuniper23.2-r2-s1 (including)23.2-r2-s1 (including)
JunosJuniper23.2-r2-s2 (including)23.2-r2-s2 (including)
JunosJuniper23.4 (including)23.4 (including)
JunosJuniper23.4-r1 (including)23.4-r1 (including)
JunosJuniper23.4-r1-s1 (including)23.4-r1-s1 (including)
JunosJuniper23.4-r1-s2 (including)23.4-r1-s2 (including)
JunosJuniper23.4-r2 (including)23.4-r2 (including)
JunosJuniper23.4-r2-s1 (including)23.4-r2-s1 (including)
JunosJuniper23.4-r2-s2 (including)23.4-r2-s2 (including)
JunosJuniper24.2 (including)24.2 (including)
JunosJuniper24.2-r1 (including)24.2-r1 (including)
JunosJuniper24.2-r1-s1 (including)24.2-r1-s1 (including)
JunosJuniper24.2-r1-s2 (including)24.2-r1-s2 (including)

Potential Mitigations

  • Choose a language or tool that provides automatic memory management, or makes manual memory management less error-prone.
  • For example, glibc in Linux provides protection against free of invalid pointers.
  • When using Xcode to target OS X or iOS, enable automatic reference counting (ARC) [REF-391].
  • To help correctly and consistently manage memory when programming in C++, consider using a smart pointer class such as std::auto_ptr (defined by ISO/IEC ISO/IEC 14882:2003), std::shared_ptr and std::unique_ptr (specified by an upcoming revision of the C++ standard, informally referred to as C++ 1x), or equivalent solutions such as Boost.

References