CVE-2023-22397

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
References
Link Resource
https://kb.juniper.net/JSA70193 Vendor Advisory
https://kb.juniper.net/JSA70193 Vendor Advisory
Configurations

Configuration 1 (hide)

AND
OR cpe:2.3:o:juniper:junos_os_evolved:*:*:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r2-s3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:20.4:r3-s3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.3:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.3:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.3:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.3:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.3:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.3:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.3:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r1-s1:*:*:*:*:*:*
cpe:2.3:h:juniper:ptx10003:-:*:*:*:*:*:*:*

History

21 Nov 2024, 07:44

Type Values Removed Values Added
References () https://kb.juniper.net/JSA70193 - Vendor Advisory () https://kb.juniper.net/JSA70193 - Vendor Advisory
Summary
  • (es) Una asignación de recursos sin límites o debilidad de limitación en la gestión de memoria del motor de reenvío de paquetes (PFE) en los dispositivos Juniper Networks Junos OS Evolved PTX10003 Series permite que un atacante ubicado adyacentemente que haya establecido ciertas condiciones previas y conocimiento del entorno envíe ciertos datos genuinos específicos. paquetes para comenzar un ataque de condición de ejecución de tiempo de verificación y tiempo de uso (TOCTOU) que provocará que comience una pérdida de memoria. Una vez que comienza esta condición, y siempre que el atacante pueda mantener el tráfico infractor, se produce un evento de denegación de servicio distribuido (DDoS). Como evento DDoS, los paquetes infractores enviados por el atacante continuarán fluyendo de un dispositivo a otro siempre que sean recibidos y procesados por cualquier dispositivo, lo que en última instancia provocará una interrupción en cascada en cualquier dispositivo vulnerable. Los dispositivos que no sean vulnerables a la pérdida de memoria procesarán y reenviarán los paquetes infractores a los dispositivos vecinos. Debido a que los mecanismos y controles de seguridad internos anti-inundaciones alcanzan su límite máximo de respuesta en el peor de los casos, todos los dispositivos Junos OS Evolved afectados se reiniciarán en tan solo 1,5 días. No se pueden evitar los reinicios para restaurar los servicios una vez que comienza la pérdida de memoria. El dispositivo se recuperará automáticamente después de fallar y reiniciarse. No se requiere la intervención del operador para reiniciar el dispositivo. Este problema afecta a: Juniper Networks Junos OS Evolucionado en PTX10003: todas las versiones anteriores a 20.4R3-S4-EVO; Versiones 21.3 anteriores a 21.3R3-S1-EVO; Versiones 21.4 anteriores a 21.4R2-S2-EVO, 21.4R3-EVO; Versiones 22.1 anteriores a 22.1R1-S2-EVO, 22.1R2-EVO; Versiones 22.2 anteriores a 22.2R2-EVO. Para verificar la memoria, los clientes pueden VTY al PFE primero y luego ejecutar la siguiente declaración show: show jexpr jtm ingress-main-memory chip 255 | no-more Alternativamente, se puede ejecutar desde RE CLI: solicitar pfe ejecutar el comando fpc0 objetivo "show jexpr jtm ingress-main-memory chip 255 | no-more" Iteración 1: Ejemplo de salida: Tipo de memoria: NH, tipo de asignación: JTM 136776 bytes usados (máximo 138216 bytes usados) 911568 bytes disponibles (909312 bytes de páginas libres) Iteración 2: Salida de ejemplo: Tipo de memoria: NH, tipo de asignación: JTM 137288 bytes usados (máximo 138216 bytes usados) 911056 bytes disponibles (909312 bytes libres páginas) Lo mismo se puede ver en la CLI a continuación, asumiendo que la escala no cambia: mostrar información de memoria npu Ejemplo de salida: FPC0:NPU16 mem-util-jnh-nh-size 2097152 FPC0:NPU16 mem-util-jnh-nh- asignado 135272 FPC0:NPU16 mem-util-jnh-nh-utilización 6

Information

Published : 2023-01-13 00:15

Updated : 2024-11-21 07:44


NVD link : CVE-2023-22397

Mitre link : CVE-2023-22397

CVE.ORG link : CVE-2023-22397


JSON object : View

Products Affected

juniper

  • ptx10003
  • junos_os_evolved
CWE
CWE-367

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

CWE-770

Allocation of Resources Without Limits or Throttling