A permission issue was found in Elasticsearch when Field Level Security and Document Level Security are disabled and the _aliases,
_shrink, or _split endpoints are used . If the elasticsearch.yml file has xpack.security.dls_fls.enabled set to false, certain permission checks are skipped when users perform one of the actions mentioned above, to make existing data available under a new index/alias name.
This could result in an attacker gaining additional permissions against a restricted index.
#
# (C) Tenable Network Security, Inc.
#
include("compat.inc");
if (description)
{
script_id(122973);
script_version("1.2");
script_cvs_date("Date: 2019/10/30 13:24:46");
script_cve_id("CVE-2019-7611");
script_name(english:"Elasticsearch ESA-2019-04");
script_summary(english:"Checks the version of Elasticsearch.");
script_set_attribute(attribute:"synopsis", value:
"The remote web server hosts a Java application that is vulnerable.");
script_set_attribute(attribute:"description", value:
"A permission issue was found in Elasticsearch when Field Level
Security and Document Level Security are disabled and the _aliases,
_shrink, or _split endpoints are used . If the elasticsearch.yml file
has xpack.security.dls_fls.enabled set to false, certain permission
checks are skipped when users perform one of the actions mentioned
above, to make existing data available under a new index/alias name.
This could result in an attacker gaining additional permissions
against a restricted index.");
script_set_attribute(attribute:"see_also", value:"https://www.elastic.co/community/security");
script_set_attribute(attribute:"solution", value:
"Users should upgrade to Elasticsearch version 5.6.15 or 6.6.1. Users
unable to upgrade can change the xpack.security.dls_fls.enabled
setting to true in their elasticsearch.yml file. The default setting
for this option is true.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/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:H/PR:N/UI:N/S:U/C:H/I:H/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-7611");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"vuln_publication_date", value:"2019/02/19");
script_set_attribute(attribute:"patch_publication_date", value:"2019/02/19");
script_set_attribute(attribute:"plugin_publication_date", value:"2019/03/20");
script_set_attribute(attribute:"plugin_type", value:"remote");
script_set_attribute(attribute:"cpe", value:"cpe:/a:elasticsearch:elasticsearch");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"CGI abuses");
script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("elasticsearch_detect.nbin");
script_require_keys("installed_sw/Elasticsearch");
script_require_ports("Services/www", 9200);
exit(0);
}
include("audit.inc");
include("http.inc");
include("vcf.inc");
app = "Elasticsearch";
get_install_count(app_name:app, exit_if_zero:TRUE);
port = get_http_port(default:9200);
app_info = vcf::get_app_info(app:app, port:port, webapp:TRUE);
constraints = [
{ "min_version" : "5.0.0", "fixed_version" : "5.6.15" },
{ "min_version" : "6.0.0", "fixed_version" : "6.6.1" }
];
vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_WARNING);
Vendor | Product | Version | CPE |
---|---|---|---|
elasticsearch | elasticsearch | cpe:/a:elasticsearch:elasticsearch |