Vulnerability Database

346,508

Total vulnerabilities in the database

CVE-2023-22397 — juniper / junos_os_evolved

Time-of-check Time-of-use (TOCTOU) Race Condition

An Allocation of Resources Without Limits or Throttling weakness in the memory management of the Packet Forwarding Engine (PFE) on Juniper Networks Junos OS Evolved PTX10003 Series devices allows an adjacently located attacker who has established certain preconditions and knowledge of the environment to send certain specific genuine packets to begin a Time-of-check Time-of-use (TOCTOU) Race Condition attack which will cause a memory leak to begin. Once this condition begins, and as long as the attacker is able to sustain the offending traffic, a Distributed Denial of Service (DDoS) event occurs. As a DDoS event, the offending packets sent by the attacker will continue to flow from one device to another as long as they are received and processed by any devices, ultimately causing a cascading outage to any vulnerable devices. Devices not vulnerable to the memory leak will process and forward the offending packet(s) to neighboring devices. Due to internal anti-flood security controls and mechanisms reaching their maximum limit of response in the worst-case scenario, all affected Junos OS Evolved devices will reboot in as little as 1.5 days. Reboots to restore services cannot be avoided once the memory leak begins. The device will self-recover after crashing and rebooting. Operator intervention isn't required to restart the device. This issue affects: Juniper Networks Junos OS Evolved on PTX10003: All versions prior to 20.4R3-S4-EVO; 21.3 versions prior to 21.3R3-S1-EVO; 21.4 versions prior to 21.4R2-S2-EVO, 21.4R3-EVO; 22.1 versions prior to 22.1R1-S2-EVO, 22.1R2-EVO; 22.2 versions prior to 22.2R2-EVO. To check memory, customers may VTY to the PFE first then execute the following show statement: show jexpr jtm ingress-main-memory chip 255 | no-more Alternatively one may execute from the RE CLI: request pfe execute target fpc0 command "show jexpr jtm ingress-main-memory chip 255 | no-more" Iteration 1: Example output: Mem type: NH, alloc type: JTM 136776 bytes used (max 138216 bytes used) 911568 bytes available (909312 bytes from free pages) Iteration 2: Example output: Mem type: NH, alloc type: JTM 137288 bytes used (max 138216 bytes used) 911056 bytes available (909312 bytes from free pages) The same can be seen in the CLI below, assuming the scale does not change: show npu memory info Example output: FPC0:NPU16 mem-util-jnh-nh-size 2097152 FPC0:NPU16 mem-util-jnh-nh-allocated 135272 FPC0:NPU16 mem-util-jnh-nh-utilization 6

  • Published: Jan 13, 2023
  • Updated: Nov 16, 2025
  • CVE: CVE-2023-22397
  • Severity: Medium
  • Exploit:

CVSS v3:

  • Severity: Medium
  • Score: 6.1
  • AV:A/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:H
Software From Fixed in
juniper / junos_os_evolved - 20.4
juniper / junos_os_evolved 20.4-r3-s2 20.4-r3-s2.x
juniper / junos_os_evolved 20.4 20.4.x
juniper / junos_os_evolved 20.4-r1 20.4-r1.x
juniper / junos_os_evolved 20.4-r1-s1 20.4-r1-s1.x
juniper / junos_os_evolved 20.4-r1-s2 20.4-r1-s2.x
juniper / junos_os_evolved 20.4-r2 20.4-r2.x
juniper / junos_os_evolved 20.4-r2-s1 20.4-r2-s1.x
juniper / junos_os_evolved 20.4-r2-s2 20.4-r2-s2.x
juniper / junos_os_evolved 20.4-r2-s3 20.4-r2-s3.x
juniper / junos_os_evolved 20.4-r3 20.4-r3.x
juniper / junos_os_evolved 20.4-r3-s1 20.4-r3-s1.x
juniper / junos_os_evolved 20.4-r3-s3 20.4-r3-s3.x
juniper / junos_os_evolved 21.3-r2-s1 21.3-r2-s1.x
juniper / junos_os_evolved 21.3-r2-s2 21.3-r2-s2.x
juniper / junos_os_evolved 21.3-r3 21.3-r3.x
juniper / junos_os_evolved 21.3-r1 21.3-r1.x
juniper / junos_os_evolved 21.3-r1-s1 21.3-r1-s1.x
juniper / junos_os_evolved 21.3-r2 21.3-r2.x
juniper / junos_os_evolved 21.3 21.3.x
juniper / junos_os_evolved 21.4 21.4.x
juniper / junos_os_evolved 21.4-r1 21.4-r1.x
juniper / junos_os_evolved 21.4-r1-s1 21.4-r1-s1.x
juniper / junos_os_evolved 21.4-r2 21.4-r2.x
juniper / junos_os_evolved 21.4-r2-s1 21.4-r2-s1.x
juniper / junos_os_evolved 21.4-r1-s2 21.4-r1-s2.x
juniper / junos_os_evolved 22.1-r1 22.1-r1.x
juniper / junos_os_evolved 22.1-r1-s1 22.1-r1-s1.x
juniper / junos_os_evolved 22.2-r1-s1 22.2-r1-s1.x
juniper / junos_os_evolved 22.2-r1 22.2-r1.x

Frequently Asked Questions

A security vulnerability is a weakness in software, hardware, or configuration that can be exploited to compromise confidentiality, integrity, or availability. Many vulnerabilities are tracked as CVEs (Common Vulnerabilities and Exposures), which provide a standardized identifier so teams can coordinate patching, mitigation, and risk assessment across tools and vendors.

CVSS (Common Vulnerability Scoring System) estimates technical severity, but it doesn't automatically equal business risk. Prioritize using context like internet exposure, affected asset criticality, known exploitation (proof-of-concept or in-the-wild), and whether compensating controls exist. A "Medium" CVSS on an exposed, production system can be more urgent than a "Critical" on an isolated, non-production host.

A vulnerability is the underlying weakness. An exploit is the method or code used to take advantage of it. A zero-day is a vulnerability that is unknown to the vendor or has no publicly available fix when attackers begin using it. In practice, risk increases sharply when exploitation becomes reliable or widespread.

Recurring findings usually come from incomplete Asset Discovery, inconsistent patch management, inherited images, and configuration drift. In modern environments, you also need to watch the software supply chain: dependencies, containers, build pipelines, and third-party services can reintroduce the same weakness even after you patch a single host. Unknown or unmanaged assets (often called Shadow IT) are a common reason the same issues resurface.

Use a simple, repeatable triage model: focus first on externally exposed assets, high-value systems (identity, VPN, email, production), vulnerabilities with known exploits, and issues that enable remote code execution or privilege escalation. Then enforce patch SLAs and track progress using consistent metrics so remediation is steady, not reactive.

SynScan combines attack surface monitoring and continuous security auditing to keep your inventory current, flag high-impact vulnerabilities early, and help you turn raw findings into a practical remediation plan.