CVSS2
Attack Vector
NETWORK
Attack Complexity
LOW
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
NONE
Availability Impact
COMPLETE
AV:N/AC:L/Au:N/C:P/I:N/A:C
AI Score
Confidence
Low
EPSS
Percentile
96.0%
Junos OS is prone to a restriction bypass vulnerability in OpenSSH.
# SPDX-FileCopyrightText: 2015 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only
CPE = "cpe:/o:juniper:junos";
if (description)
{
script_oid("1.3.6.1.4.1.25623.1.0.106046");
script_version("2023-07-25T05:05:58+0000");
script_tag(name:"last_modification", value:"2023-07-25 05:05:58 +0000 (Tue, 25 Jul 2023)");
script_tag(name:"creation_date", value:"2015-11-24 11:15:58 +0700 (Tue, 24 Nov 2015)");
script_tag(name:"cvss_base", value:"8.5");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:P/I:N/A:C");
script_tag(name:"qod_type", value:"package");
script_tag(name:"solution_type", value:"VendorFix");
script_cve_id("CVE-2015-5600");
script_name("Juniper Networks Junos OS OpenSSH Restriction Bypass Vulnerability");
script_category(ACT_GATHER_INFO);
script_family("JunOS Local Security Checks");
script_copyright("Copyright (C) 2015 Greenbone AG");
script_dependencies("gb_juniper_junos_consolidation.nasl");
script_mandatory_keys("juniper/junos/detected");
script_tag(name:"summary", value:"Junos OS is prone to a restriction bypass vulnerability in OpenSSH.");
script_tag(name:"vuldetect", value:"Checks if a vulnerable OS build is present on the target host.");
script_tag(name:"insight", value:"A vulnerability in OpenSSH may allow a remote network based
attacker to effectively bypass restrictions on number of authentication attempts, as defined by
MaxAuthTries settings on Junos.");
script_tag(name:"impact", value:"The vulnerability may enable brute force password attacks to gain
access to the device.");
script_tag(name:"affected", value:"Junos OS 12.1, 12.3, 13.2, 13.3, 14.1, 14.2 and 15.1");
script_tag(name:"solution", value:"New builds of Junos OS software are available from Juniper. As a
workaround disable password based authentication completely, and implement key based authentication
exclusively in the SSH server configuration.");
script_xref(name:"URL", value:"http://kb.juniper.net/JSA10697");
exit(0);
}
include("host_details.inc");
include("revisions-lib.inc");
if (!version = get_app_version(cpe: CPE, nofork: TRUE))
exit(0);
if (version =~ "^12") {
if ((revcomp(a: version, b: "12.1X44-D55") < 0) &&
(revcomp(a: version, b: "12.1X44") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "12.1X46-D40") < 0) &&
(revcomp(a: version, b: "12.1X46") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "12.1X47-D30") < 0) &&
(revcomp(a: version, b: "12.1X47") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "12.3R11") < 0) &&
(revcomp(a: version, b: "12.3") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "12.3X48-D20") < 0) &&
(revcomp(a: version, b: "12.3X48") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
}
if (version =~ "^13") {
if ((revcomp(a: version, b: "13.2X51-D40") < 0) &&
(revcomp(a: version, b: "13.2X51") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "13.2X52-D30") < 0) &&
(revcomp(a: version, b: "13.2X52") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "13.3R8") < 0) &&
(revcomp(a: version, b: "13.3") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
}
if (version =~ "^14") {
if (revcomp(a: version, b: "14.1R6") < 0) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "14.2R5") < 0) &&
(revcomp(a: version, b: "14.2") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
}
if (version =~ "^15") {
if (revcomp(a: version, b: "15.1F2-S1") < 0) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "15.1R2") < 0) &&
(revcomp(a: version, b: "15.1R") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "15.1X49-D20") < 0) &&
(revcomp(a: version, b: "15.1X49") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
else if ((revcomp(a: version, b: "15.1X53-D20") < 0) &&
(revcomp(a: version, b: "15.1X53") >= 0)) {
security_message(port: 0, data: version);
exit(0);
}
}
exit(99);