Lucene search
+L

Elasticsearch 9.0.x < 9.4.8 / 9.5.x < 9.5.5 Incorrect Authorization (ESA-2026-199)

🗓️ 06 Oct 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 6 Views

Authorization bypass in Elasticsearch via RCS 2.0 cross-cluster search leads to information disclosure.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(363430);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/06");

  script_cve_id("CVE-2026-103009");

  script_name(english:"Elasticsearch 9.0.x < 9.4.8 / 9.5.x < 9.5.5 Incorrect Authorization (ESA-2026-199)");

  script_set_attribute(attribute:"synopsis", value:
"The remote host is missing a security update.");
  script_set_attribute(attribute:"description", value:
"The version of Elasticsearch installed on the remote host is 9.0.x prior to 9.4.8, or 9.5.x prior to 9.5.5. It is,
therefore, affected by a vulnerability as referenced in the ESA-2026-199 advisory.

  - Authorization Bypass Through User-Controlled Key (CWE-639) in Elasticsearch can lead to Information
    Disclosure via a specially crafted cross-cluster search request that references an unauthorized shard
    identifier. Elasticsearch contains an authorization bypass weakness in its handling of cross-cluster
    search requests made through the Remote Cluster Security (RCS) 2.0 model. An authorization check validates
    a request against one identifying attribute of the target shard, while a separate, independently-supplied
    identifying attribute in the same request determines which shard is actually accessed. A holder of a
    cross-cluster API key authorized for one index can craft a request whose two identifying attributes refer
    to different indices, causing the request to be authorized against an index they can access while actually
    operating against a different, unauthorized index. This can expose that index's document contents, field
    mappings, and other metadata, and in limited cases allows modification of retention-lease state on the
    unauthorized index. (CVE-2026-103009)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://discuss.elastic.co/t/390874");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Elasticsearch version 9.4.8, or 9.5.5 or later as appropriate for your release branch.");
  script_set_attribute(attribute:"agent", value:"unix");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:C/I:P/A:N");
  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:H/I:L/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-103009");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/10/06");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/10/06");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/06");

  script_set_attribute(attribute:"plugin_type", value:"combined");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:elasticsearch:elasticsearch");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:elastic:elasticsearch");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  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) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("elasticsearch_detect.nbin", "elastic_elasticsearch_nix_installed.nbin");
  script_require_keys("installed_sw/Elasticsearch");

  exit(0);
}

include('vdf.inc');

# @tvdl-content
var vuln_data = {
  "metadata": {
    "spec_version": "1.0"
  },
  "checks": [
    {
      "product": {
        "name": "Elasticsearch",
        "type": "app"
      },
      "check_algorithm": "default",
      "constraints": [
        {
          "min_version": "9.0.0",
          "fixed_version": "9.4.8"
        },
        {
          "min_version": "9.5.0",
          "fixed_version": "9.5.5"
        }
      ]
    }
  ]
};

var vdf_result = vdf::check_and_report(vuln_data:vuln_data, severity:SECURITY_HOLE);
vdf::handle_check_and_report_errors(vdf_result:vdf_result);

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

06 Oct 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.17.1
EPSS0.00243
SSVC
6