CVE Vulnerabilities

CVE-2021-0261

Out-of-bounds Read

Published: Apr 22, 2021 | Modified: Nov 21, 2024
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu

A vulnerability in the HTTP/HTTPS service used by J-Web, Web Authentication, Dynamic-VPN (DVPN), Firewall Authentication Pass-Through with Web-Redirect, and Captive Portal allows an unauthenticated attacker to cause an extended Denial of Service (DoS) for these services by sending a high number of specific requests. This issue affects: Juniper Networks Junos OS 12.3 versions prior to 12.3R12-S17 on EX Series; 12.3X48 versions prior to 12.3X48-D105 on SRX Series; 15.1 versions prior to 15.1R7-S8; 15.1X49 versions prior to 15.1X49-D230 on SRX Series; 16.1 versions prior to 16.1R7-S8; 17.4 versions prior to 17.4R2-S12, 17.4R3-S3; 18.1 versions prior to 18.1R3-S11; 18.2 versions prior to 18.2R3-S6; 18.3 versions prior to 18.3R2-S4, 18.3R3-S3; 18.4 versions prior to 18.4R2-S5, 18.4R3-S4; 19.1 versions prior to 19.1R2-S2, 19.1R3-S2; 19.2 versions prior to 19.2R1-S5, 19.2R3; 19.3 versions prior to 19.3R2-S4, 19.3R3; 19.4 versions prior to 19.4R1-S3, 19.4R2-S2, 19.4R3; 20.1 versions prior to 20.1R1-S3, 20.1R2; 20.2 versions prior to 20.2R1-S1, 20.2R2.

Weakness

The product reads data past the end, or before the beginning, of the intended buffer.

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-r10 (including) 12.3-r10 (including)
Junos Juniper 12.3-r10-s1 (including) 12.3-r10-s1 (including)
Junos Juniper 12.3-r10-s2 (including) 12.3-r10-s2 (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-r12-s1 (including) 12.3-r12-s1 (including)
Junos Juniper 12.3-r12-s10 (including) 12.3-r12-s10 (including)
Junos Juniper 12.3-r12-s11 (including) 12.3-r12-s11 (including)
Junos Juniper 12.3-r12-s12 (including) 12.3-r12-s12 (including)
Junos Juniper 12.3-r12-s13 (including) 12.3-r12-s13 (including)
Junos Juniper 12.3-r12-s14 (including) 12.3-r12-s14 (including)
Junos Juniper 12.3-r12-s15 (including) 12.3-r12-s15 (including)
Junos Juniper 12.3-r12-s16 (including) 12.3-r12-s16 (including)
Junos Juniper 12.3-r12-s3 (including) 12.3-r12-s3 (including)
Junos Juniper 12.3-r12-s4 (including) 12.3-r12-s4 (including)
Junos Juniper 12.3-r12-s6 (including) 12.3-r12-s6 (including)
Junos Juniper 12.3-r12-s8 (including) 12.3-r12-s8 (including)

Potential Mitigations

  • Assume all input is malicious. Use an “accept known good” input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
  • When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, “boat” may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as “red” or “blue.”
  • Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code’s environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
  • To reduce the likelihood of introducing an out-of-bounds read, ensure that you validate and ensure correct calculations for any length argument, buffer size calculation, or offset. Be especially careful of relying on a sentinel (i.e. special character such as NUL) in untrusted inputs.

References