{"schemaVersion":3,"id":"CVE-2026-103009","aliases":["CGA-8ppx-4rrh-84w3","CGA-95g8-7h23-5qgc","CGA-f7jp-5mxp-q34g","CGA-j272-rh2p-hqvg","CGA-m44w-xj79-v952","CGA-w4m2-g8hh-4xc3","CGA-2873-fg4w-37h2","CGA-8258-4m7w-c595","CGA-prqv-v8cj-fv94","CGA-pvpp-3qm7-3hmf"],"status":"published","duplicateOf":null,"title":"Authorization Bypass Through User-Controlled Key in Elasticsearch Leading to Information Disclosure","description":"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.","dates":{"published":"2026-10-06T19:31:53.261Z","modified":"2026-10-06T19:52:13.370Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.1,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","exploitability":7.2,"impact":7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":7.1,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","exploitability":7.2,"impact":7,"computed":true}]},"epss":{"probability":0.00231,"percentile":0.13148,"severity":"low","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-07T00:00:00.000Z","score":0.00243,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00243,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00243,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00231,"percentile":0.13148}],"last30":[{"date":"2026-10-07T00:00:00.000Z","score":0.00243,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00243,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00243,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00231,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00231,"percentile":0.13148}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-639","name":"Authorization Bypass Through User-Controlled Key","description":"The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/639.html"}],"affected":[{"vendor":"chainguard","product":"elasticsearch-9.2","name":"elasticsearch-9.2","label":"elasticsearch-9.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/elasticsearch-9.2","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"elasticsearch-9.3","name":"elasticsearch-9.3","label":"elasticsearch-9.3","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/elasticsearch-9.3","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"ruby3.3-elasticsearch","name":"ruby3.3-elasticsearch","label":"ruby3.3-elasticsearch","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/ruby3.3-elasticsearch","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"ruby3.4-elasticsearch","name":"ruby3.4-elasticsearch","label":"ruby3.4-elasticsearch","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/ruby3.4-elasticsearch","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"chainguard","product":"ruby4.0-elasticsearch","name":"ruby4.0-elasticsearch","label":"ruby4.0-elasticsearch","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/ruby4.0-elasticsearch","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"wolfi","product":"ruby3.3-elasticsearch","name":"ruby3.3-elasticsearch","label":"ruby3.3-elasticsearch","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/ruby3.3-elasticsearch","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"wolfi","product":"ruby3.4-elasticsearch","name":"ruby3.4-elasticsearch","label":"ruby3.4-elasticsearch","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/ruby3.4-elasticsearch","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"wolfi","product":"ruby4.0-elasticsearch","name":"ruby4.0-elasticsearch","label":"ruby4.0-elasticsearch","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/ruby4.0-elasticsearch","purlType":"apk","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"elastic","product":"elasticsearch","name":"Elasticsearch","label":"elasticsearch","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 8.13.0, ≤ 8.19.22","noFixRecorded":false,"fixedIn":null},{"text":"≥ 9.0.0, ≤ 9.4.7","noFixRecorded":false,"fixedIn":null},{"text":"≥ 9.5.0, ≤ 9.5.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 8.13.0, < 8.19.23","noFixRecorded":false,"fixedIn":null},{"text":"≥ 9.0.0, < 9.4.8","noFixRecorded":false,"fixedIn":null},{"text":"≥ 9.5.0, < 9.5.5","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 8.13.0, ≤ 8.19.22 | ≥ 9.0.0, ≤ 9.4.7 | ≥ 9.5.0, ≤ 9.5.4 | ≥ 8.13.0, < 8.19.23 | ≥ 9.0.0, < 9.4.8 | ≥ 9.5.0, < 9.5.5","eol":{"isEol":null,"eolDate":null,"matchMethod":"cpe","cycle":null,"product":{"name":"elasticsearch","label":"Elasticsearch","category":"database"}},"hubHref":"/vendor/elastic/elasticsearch"}],"affectedCount":9,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://discuss.elastic.co/t/elasticsearch-8-19-23-9-4-8-9-5-5-security-update-esa-2026-199/390874","label":"discuss.elastic.co/t/elasticsearch-8-19-23-9-4-8-9-5-5-security-update-esa-2026-199/390874","hostname":"discuss.elastic.co","tags":["Vendor Advisory","WEB"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103009.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103009.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-103009","label":"nvd.nist.gov/vuln/detail/CVE-2026-103009","hostname":"nvd.nist.gov","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-06T19:31:53.261Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-06T19:52:13.370Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":28,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T19:32:10.047Z","stale":false,"partial":false}}