The asterisk character (‘*’) is allowed in DNS zone files, where it is most commonly present as a wildcard at a terminal node of the Domain Name System graph. However, the RFCs do not require and BIND does not enforce that an asterisk character be present only at a terminal node.
A problem can occur when an asterisk is present in an empty non-terminal location within the DNS graph. If such a node exists, after a series of queries, named can reach an inconsistent state that results in the failure of an assertion check in rbtdb.c, followed by the program exiting due to the assertion failure. (CVE-2020-8619)
Impact
You encounter this defect when you have both of the following conditions :
A nameserver provides authoritative service for one or more zones.
At least one zone contains an empty non-terminal entry containing an asterisk character.
A would-be attacker who is allowed to change zone content could, theoretically, introduce such a record in order to exploit this condition to cause denial-of-service (DoS);however, the use of this vector is unlikely because any such attack requires a significant privilege-level and iseasily traceable.
BIND versions from 9.11.14 through 9.11.19 are impacted.
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from F5 Networks BIG-IP Solution K19807532.
#
# The text description of this plugin is (C) F5 Networks.
#
include('compat.inc');
if (description)
{
script_id(139704);
script_version("1.8");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/11/02");
script_cve_id("CVE-2020-8619");
script_name(english:"F5 Networks BIG-IP : BIND vulnerability (K19807532)");
script_set_attribute(attribute:"synopsis", value:
"The remote device is missing a vendor-supplied security patch.");
script_set_attribute(attribute:"description", value:
"The asterisk character ('*') is allowed in DNS zone files, where it is
most commonly present as a wildcard at a terminal node of the Domain
Name System graph. However, the RFCs do not require and BIND does not
enforce that an asterisk character be present only at a terminal node.
A problem can occur when an asterisk is present in an empty
non-terminal location within the DNS graph. If such a node exists,
after a series of queries, named can reach an inconsistent state that
results in the failure of an assertion check in rbtdb.c, followed by
the program exiting due to the assertion failure. (CVE-2020-8619)
Impact
You encounter this defect when you have both of the following
conditions :
A nameserver provides authoritative service for one or more zones.
At least one zone contains an empty non-terminal entry containing an
asterisk character.
A would-be attacker who is allowed to change zone content could,
theoretically, introduce such a record in order to exploit this
condition to cause denial-of-service (DoS);however, the use of this
vector is unlikely because any such attack requires a significant
privilege-level and iseasily traceable.
BIND versions from 9.11.14 through 9.11.19 are impacted.");
script_set_attribute(attribute:"see_also", value:"https://my.f5.com/manage/s/article/K19807532");
script_set_attribute(attribute:"solution", value:
"Upgrade to one of the non-vulnerable versions listed in the F5 Solution K19807532.");
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:H/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-2020-8619");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"vuln_publication_date", value:"2020/06/17");
script_set_attribute(attribute:"patch_publication_date", value:"2020/06/18");
script_set_attribute(attribute:"plugin_publication_date", value:"2020/08/20");
script_set_attribute(attribute:"potential_vulnerability", value:"true");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_access_policy_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_advanced_firewall_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_application_acceleration_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_application_security_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_application_visibility_and_reporting");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_domain_name_system");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_global_traffic_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_link_controller");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_local_traffic_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/a:f5:big-ip_policy_enforcement_manager");
script_set_attribute(attribute:"cpe", value:"cpe:/h:f5:big-ip");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"F5 Networks Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2020-2023 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("f5_bigip_detect.nbin");
script_require_keys("Host/local_checks_enabled", "Host/BIG-IP/hotfix", "Host/BIG-IP/modules", "Host/BIG-IP/version", "Settings/ParanoidReport");
exit(0);
}
include('f5_func.inc');
if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var version = get_kb_item('Host/BIG-IP/version');
if ( ! version ) audit(AUDIT_OS_NOT, 'F5 Networks BIG-IP');
if ( isnull(get_kb_item('Host/BIG-IP/hotfix')) ) audit(AUDIT_KB_MISSING, 'Host/BIG-IP/hotfix');
if ( ! get_kb_item('Host/BIG-IP/modules') ) audit(AUDIT_KB_MISSING, 'Host/BIG-IP/modules');
if (report_paranoia < 2) audit(AUDIT_PARANOID);
var sol = 'K19807532';
var vmatrix = {
'AFM': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'AM': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'APM': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'ASM': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'AVR': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'DNS': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'GTM': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'LC': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'LTM': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
},
'PEM': {
'affected': [
'16.0.0','15.1.0','15.0.0-15.0.1','14.1.0-14.1.2','13.1.0-13.1.3','12.1.0-12.1.5','11.6.1-11.6.5'
],
'unaffected': [
'16.0.1','15.1.0.5','14.1.2.7','13.1.3.5','12.1.6','11.6.5.3'
],
}
};
if (bigip_is_affected(vmatrix:vmatrix, sol:sol))
{
var extra = NULL;
if (report_verbosity > 0) extra = bigip_report_get();
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : extra
);
}
else
{
var tested = bigip_get_tested_modules();
var audit_extra = 'For BIG-IP module(s) ' + tested + ',';
if (tested) audit(AUDIT_INST_VER_NOT_VULN, audit_extra, version);
else audit(AUDIT_HOST_NOT, 'running any of the affected modules');
}
Vendor | Product | Version | CPE |
---|---|---|---|
f5 | big-ip_global_traffic_manager | cpe:/a:f5:big-ip_global_traffic_manager | |
f5 | big-ip_link_controller | cpe:/a:f5:big-ip_link_controller | |
f5 | big-ip_local_traffic_manager | cpe:/a:f5:big-ip_local_traffic_manager | |
f5 | big-ip_policy_enforcement_manager | cpe:/a:f5:big-ip_policy_enforcement_manager | |
f5 | big-ip | cpe:/h:f5:big-ip | |
f5 | big-ip_access_policy_manager | cpe:/a:f5:big-ip_access_policy_manager | |
f5 | big-ip_advanced_firewall_manager | cpe:/a:f5:big-ip_advanced_firewall_manager | |
f5 | big-ip_application_acceleration_manager | cpe:/a:f5:big-ip_application_acceleration_manager | |
f5 | big-ip_application_security_manager | cpe:/a:f5:big-ip_application_security_manager | |
f5 | big-ip_application_visibility_and_reporting | cpe:/a:f5:big-ip_application_visibility_and_reporting |