CVE Vulnerabilities

CVE-2019-0053

Stack-based Buffer Overflow

Published: Jul 11, 2019 | Modified: Nov 21, 2024
CVSS 3.x
7.8
HIGH
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
4.6 MEDIUM
AV:L/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

Insufficient validation of environment variables in the telnet client supplied in Junos OS can lead to stack-based buffer overflows, which can be exploited to bypass veriexec restrictions on Junos OS. A stack-based overflow is present in the handling of environment variables when connecting via the telnet client to remote telnet servers. This issue only affects the telnet client — accessible from the CLI or shell — in Junos OS. Inbound telnet services are not affected by this issue. This issue affects: Juniper Networks Junos OS: 12.3 versions prior to 12.3R12-S13; 12.3X48 versions prior to 12.3X48-D80; 14.1X53 versions prior to 14.1X53-D130, 14.1X53-D49; 15.1 versions prior to 15.1F6-S12, 15.1R7-S4; 15.1X49 versions prior to 15.1X49-D170; 15.1X53 versions prior to 15.1X53-D237, 15.1X53-D496, 15.1X53-D591, 15.1X53-D69; 16.1 versions prior to 16.1R3-S11, 16.1R7-S4; 16.2 versions prior to 16.2R2-S9; 17.1 versions prior to 17.1R3; 17.2 versions prior to 17.2R1-S8, 17.2R2-S7, 17.2R3-S1; 17.3 versions prior to 17.3R3-S4; 17.4 versions prior to 17.4R1-S6, 17.4R2-S3, 17.4R3; 18.1 versions prior to 18.1R2-S4, 18.1R3-S3; 18.2 versions prior to 18.2R1-S5, 18.2R2-S2, 18.2R3; 18.2X75 versions prior to 18.2X75-D40; 18.3 versions prior to 18.3R1-S3, 18.3R2; 18.4 versions prior to 18.4R1-S2, 18.4R2.

Weakness

A stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a parameter to a function).

Affected Software

Name Vendor Start Version End Version
Junos Juniper 12.3 (including) 12.3 (including)
Junos Juniper 12.3-r1 (including) 12.3-r1 (including)
Junos Juniper 12.3-r11 (including) 12.3-r11 (including)
Junos Juniper 12.3-r12 (including) 12.3-r12 (including)
Junos Juniper 12.3-r13 (including) 12.3-r13 (including)
Junos Juniper 12.3-r2 (including) 12.3-r2 (including)
Junos Juniper 12.3-r3 (including) 12.3-r3 (including)
Junos Juniper 12.3-r4 (including) 12.3-r4 (including)
Junos Juniper 12.3-r5 (including) 12.3-r5 (including)
Junos Juniper 12.3-r6 (including) 12.3-r6 (including)
Junos Juniper 12.3-r7 (including) 12.3-r7 (including)
Junos Juniper 12.3-r8 (including) 12.3-r8 (including)
Junos Juniper 12.3-r9 (including) 12.3-r9 (including)
Junos Juniper 12.3r12 (including) 12.3r12 (including)
Inetutils Ubuntu bionic *
Inetutils Ubuntu trusty *
Inetutils Ubuntu trusty/esm *
Inetutils Ubuntu upstream *
Inetutils Ubuntu xenial *
Socks4-server Ubuntu bionic *
Socks4-server Ubuntu trusty *
Socks4-server Ubuntu xenial *

Potential Mitigations

  • Use automatic buffer overflow detection mechanisms that are offered by certain compilers or compiler extensions. Examples include: the Microsoft Visual Studio /GS flag, Fedora/Red Hat FORTIFY_SOURCE GCC flag, StackGuard, and ProPolice, which provide various mechanisms including canary-based detection and range/index checking.
  • D3-SFCV (Stack Frame Canary Validation) from D3FEND [REF-1334] discusses canary-based detection in detail.
  • Run or compile the software using features or extensions that randomly arrange the positions of a program’s executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code.
  • Examples include Address Space Layout Randomization (ASLR) [REF-58] [REF-60] and Position-Independent Executables (PIE) [REF-64]. Imported modules may be similarly realigned if their default memory addresses conflict with other modules, in a process known as “rebasing” (for Windows) and “prelinking” (for Linux) [REF-1332] using randomly generated addresses. ASLR for libraries cannot be used in conjunction with prelink since it would require relocating the libraries at run-time, defeating the whole purpose of prelinking.
  • For more information on these techniques see D3-SAOR (Segment Address Offset Randomization) from D3FEND [REF-1335].

References