4 Medium
CVSS2
Attack Vector
NETWORK
Attack Complexity
LOW
Authentication
SINGLE
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
PARTIAL
AV:N/AC:L/Au:S/C:N/I:N/A:P
6.5 Medium
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
HIGH
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
0.002 Low
EPSS
Percentile
53.4%
According to its SIP banner, the version of Asterisk running on the remote host is 15.x prior to 15.7.2, 16.x prior to 16.2.1. It is therefore, affected by an error related to handling SDP traffic and RTP negotiation described in AST-2019-001. This error allows denial of service attacks.
Note that Nessus has not tested for these issues but has instead relied only on the application’s self-reported version number.
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(122670);
script_version("1.4");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/03/07");
script_cve_id("CVE-2019-7251");
script_bugtraq_id(107212);
script_name(english:"Asterisk 15.x < 15.7.2 / 16.x < 16.2.1 DoS (AST-2019-001)");
script_set_attribute(attribute:"synopsis", value:
"A telephony application running on the remote host is affected by a
denial of service vulnerability.");
script_set_attribute(attribute:"description", value:
"According to its SIP banner, the version of Asterisk running on the
remote host is 15.x prior to 15.7.2, 16.x prior to 16.2.1. It is
therefore, affected by an error related to handling SDP traffic and
RTP negotiation described in AST-2019-001. This error allows denial
of service attacks.
Note that Nessus has not tested for these issues but has instead
relied only on the application's self-reported version number.");
script_set_attribute(attribute:"see_also", value:"http://downloads.asterisk.org/pub/security/AST-2019-001.html");
script_set_attribute(attribute:"solution", value:
"Upgrade to Asterisk version 15.7.2 / 16.2.1 or later.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:N/I:N/A:P");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-7251");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"vuln_publication_date", value:"2019/01/24");
script_set_attribute(attribute:"patch_publication_date", value:"2019/01/24");
script_set_attribute(attribute:"plugin_publication_date", value:"2019/03/08");
script_set_attribute(attribute:"potential_vulnerability", value:"true");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/a:digium:asterisk");
script_set_attribute(attribute:"thorough_tests", value:"true");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Misc.");
script_copyright(english:"This script is Copyright (C) 2019-2023 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("asterisk_detection.nasl");
script_require_keys("asterisk/sip_detected", "Settings/ParanoidReport");
exit(0);
}
include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("lists.inc");
get_kb_item_or_exit("asterisk/sip_detected");
asterisk_kbs = get_kb_list_or_exit("sip/asterisk/*/version");
if (report_paranoia < 2) audit(AUDIT_PARANOID);
is_vuln = FALSE;
not_vuln_installs = make_list();
errors = make_list();
foreach kb_name (keys(asterisk_kbs))
{
vulnerable = 0;
matches = pregmatch(pattern:"/(udp|tcp)/([0-9]+)/version", string:kb_name);
if (isnull(matches))
{
collib::push("Unexpected error parsing port number from '"+kb_name+"'.", list:errors);
continue;
}
proto = matches[1];
port = matches[2];
version = asterisk_kbs[kb_name];
if (version == 'unknown')
{
collib::push("Unable to obtain version of installation on " + proto + "/" + port + ".", list:errors);
continue;
}
banner = get_kb_item("sip/asterisk/" + proto + "/" + port + "/source");
if (!banner)
{
# We have version but banner is missing;
# log error and use in version-check though.
collib::push("KB item 'sip/asterisk/" + proto + "/" + port + "/source' is missing.", list:errors);
banner = 'unknown';
}
if (version =~ "^15([^0-9])" && "cert" >!< tolower(version))
{
fixed = "15.7.2";
vulnerable = ver_compare(ver:version, fix:fixed, app:"asterisk");
}
else if (version =~ "^16([^0-9])" && "cert" >!< tolower(version))
{
fixed = "16.2.1";
vulnerable = ver_compare(ver:version, fix:fixed, app:"asterisk");
}
if (vulnerable < 0)
{
is_vuln = TRUE;
report =
'\n Version source : ' + banner +
'\n Installed version : ' + version +
'\n Fixed version : ' + fixed +
'\n';
security_report_v4(severity:SECURITY_WARNING, port:port, proto:proto, extra:report);
}
else collib::push(version + " on port " + proto + "/" + port, list:not_vuln_installs);
}
if (max_index(errors))
{
if (max_index(errors) == 1) errmsg = errors[0];
else errmsg = 'Errors were encountered verifying installations : \n ' + join(errors, sep:'\n ');
exit(1, errmsg);
}
else
{
installs = max_index(not_vuln_installs);
if (installs == 0)
{
if (is_vuln) exit(0);
else audit(AUDIT_NOT_INST, "Asterisk");
}
else audit(AUDIT_INST_VER_NOT_VULN, "Asterisk", not_vuln_installs);
}
4 Medium
CVSS2
Attack Vector
NETWORK
Attack Complexity
LOW
Authentication
SINGLE
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
PARTIAL
AV:N/AC:L/Au:S/C:N/I:N/A:P
6.5 Medium
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
HIGH
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
0.002 Low
EPSS
Percentile
53.4%