VersionDrift
Product

Elasticsearch 9.4.9 → 9.5.2

3 releases · 0 breaking changes · 7 security fixes · 0 advisories fixed

7security0breaking0deprecated60feature50fix

Breaking changes

None in the release notes.

Security changes

  • security Fixes CVE-2026-103006: Uncontrolled Recursion (CWE-674) in Elasticsearch can lead to Denial of Service via a specially crafted, deeply nested request submitted to the aggregation feature of the search API. Elasticsearch… in 9.5.2
  • security Fixes CVE-2026-72642: The native inference process that Elasticsearch uses to evaluate uploaded machine learning models accepts a model operation that computes a memory address from an offset supplied inside the model,… in 9.5.1
  • security Fixes CVE-2026-72686: A flaw in Elasticsearch allows a low-privileged authenticated user to submit a single request containing a crafted user-supplied input. A specific internal component validates the input using a rec… in 9.5.1
  • security Fixes CVE-2026-72687: A flaw in Elasticsearch allows a low-privileged authenticated user to submit a single small request containing a forged opaque identifier. Elasticsearch decodes and deserializes the identifier befo… in 9.5.1
  • security Fixes CVE-2026-72678: Elasticsearch does not validate a size value taken from a user-supplied input before that value is used to reserve memory for an internal data structure. An authenticated user holding only read pri… in 9.5.1
  • security Fixes CVE-2026-72639: Elasticsearch does not enforce an upper bound on a user-supplied count accepted by a search highlighting option, and the allocation derived from that count is not accounted against any circuit brea… in 9.5.1
  • security Fixes CVE-2026-72645: Memory Allocation with Excessive Size Value (CWE-789) in Elasticsearch can lead to denial of service via Excessive Allocation (CAPEC-130). An authenticated user holding only read privileges on a si… in 9.5.1

Every release in between

securityFixes CVE-2026-103006: Uncontrolled Recursion (CWE-674) in Elasticsearch can lead to Denial of Service via a specially crafted, deeply nested request submitted to the aggregation feature of the search API. Elasticsearch…
featureUpgrade Bouncy Castle FIPS to 1.0.2.7 and 2.0.2 #156296
featureUpgrade ASM to 9.10.1 #156213
featureUpgrade the bundled JDK to 26.0.2 #156203
featureUpgrade to Lucene 10.5.1 #156643
featureUpgrade Jackson to 2.21.5 for ES|QL and Arrow #156368
fixFix rank estimation ignoring min and max in exponential histograms #156268 (issue: #156057)
fixFix duplicate field in the cumulative histogram reset document #156287 (issue: #156276)
fixAccount for deferred aggregation memory in the request circuit breaker #155600 (issue: #148516)
fixAccount for t-digest percentiles memory in the request circuit breaker #155586
fixFix TS STATS aggregate aliases that collide with grouping keys #155312 (issue: #153507)
fixFix TS queries that name a time bucket after the timestamp field #155623
fixFix incorrect results from Parquet predicate pushdown on multi-valued fields #156604
fixReplace an IN subquery evaluated as a false filter with an empty local relation #155648 (issue: #155563)
fixFix Anthropic translation to the unified schema #155314
fixFix Google Vertex AI tool calls with non-string argument values #156665 (issue: #156644)
fixFix inference and security cache clearing on multi-node clusters #156603
fixTranslate unified tool-calling message blocks to the Anthropic format #154607
fixFix IllegalStateException when a truncated string cuts off in the middle of a JSON object #156382 (issue: #156289)
fixFail closed when the TorchScript state hook scan is incomplete #3149
fixFail gracefully when restoring a categorizer with an out-of-range token ID #3143
fixCount failed _msearch sub-search responses against the circuit breaker #156683
fixEnsure batched queries always return a response #155908
fixFail the request instead of the node on deeply nested aggregations #155745
fixFix nested and mode-based sorts on integer fields returning incorrect values on indices created before 8.19 or in 9.0.x #155580 (issue: #155243)
fixKeep scroll contexts on transient search queue rejection #155697 (issue: #90912)
fixLimit aggregation nesting depth with search.aggs.max_nested_depth #155743
fixReject null values in search_after instead of failing the search #132434 (issue: #132370)
fixStop returning a user field named _type as search hit metadata #155706 (issue: #110438)
fixHalt the node on fatal errors during S3 multipart uploads #156765
fixPreserve security headers when copying a transform configuration #156191
fixFix DOT_PRODUCT and COSINE score clamping in the BBQ vector scorer #156015 (issues: #156010, #156011, #156009, #156012)
fixFix search failures when many field patterns match no vector fields #156466
fixFix the auto_calibrate index option being rejected by a leftover experimental flag #156623
fixScore nested kNN inner_hits like the query phase #156332 (issue: #138496)
securityFixes CVE-2026-72642: The native inference process that Elasticsearch uses to evaluate uploaded machine learning models accepts a model operation that computes a memory address from an offset supplied inside the model,…
securityFixes CVE-2026-72686: A flaw in Elasticsearch allows a low-privileged authenticated user to submit a single request containing a crafted user-supplied input. A specific internal component validates the input using a rec…
securityFixes CVE-2026-72687: A flaw in Elasticsearch allows a low-privileged authenticated user to submit a single small request containing a forged opaque identifier. Elasticsearch decodes and deserializes the identifier befo…
securityFixes CVE-2026-72678: Elasticsearch does not validate a size value taken from a user-supplied input before that value is used to reserve memory for an internal data structure. An authenticated user holding only read pri…
securityFixes CVE-2026-72639: Elasticsearch does not enforce an upper bound on a user-supplied count accepted by a search highlighting option, and the allocation derived from that count is not accounted against any circuit brea…
securityFixes CVE-2026-72645: Memory Allocation with Excessive Size Value (CWE-789) in Elasticsearch can lead to denial of service via Excessive Allocation (CAPEC-130). An authenticated user holding only read privileges on a si…
featureUpdate Bouncy Castle FIPS TLS libraries #155937
featureUpgrade lz4-java to 1.11.1 #155598
featureAdd EuroBERT and Jina v5 ops to the graph validation allowlist #3015
featureDowngrade log severity for a batch of recoverable errors #2889
featureHarden pytorch_inference with TorchScript model graph validation #3008 (issue: #2890)
featureImprove adherence to memory limits for the bucket gatherer #2848
featureImprove error handling for quantiles state documents #2894
featureImprove handling of invalid JSON state documents #2895
featureImprove messaging for OOM process termination #2841
featureReport the actual memory usage of the autodetect process #2846
featureUpdate the PyTorch library to version 2.7.1 #2863
featureUpgrade Apache HttpComponents 5.x to address CVEs #153057
featureUpgrade Apache HttpCore 5 to 5.4.3 to fix header DoS CVEs #153467
featureUpgrade Bouncy Castle to 1.85 #155819
featureCache little-endian float layout in the DiskBBQ scalar corrections loop #154373
fixTrip the request breaker on term and phrase suggesters based on backing array estimates #154837
fixFix false positives in boolean queries with must_not clauses on non-indexed fields #155936 (issue: #155653)
fixAllow garbage collection of closed search contexts in ES|QL #155418
fixApply PropagateEmptyRelation to AbstractSubqueryJoin #154768 (issue: #154755)
fixFix BUCKET with very large bucket counts #153392 (issue: #153389)
fixFix FROM_BASE64 generating invalid non-UTF-8 strings. Previously it could create binary values that ES|QL does not support in other operations; only valid UTF-8 is supported, and invalid cases now return null with a warning. #154955
fixFix MV_SORT incorrectly allowing geospatial types, which are not sortable #154417
fixFix exponential histogram merging with zero bucket overlap #155459 (issue: #153665)
fixSupport dynamically enabling history indexes in ILMHistoryTemplateRegistry #155602 (issue: #141807)
fixUpgrade JANSI to 2.4.3 to fix terminal detection on zlib-ng based systems (EL10) #155853 (issue: #154510)
fixFix flaky CIoManagerTest/testFileIoGood test #3017
fixFix flaky concurrent LFU cache count invariant under lock timeouts #3090
fixMark the ML controller non-dumpable before accepting commands #3081
fixReject TorchScript custom state hooks before load and forbid inductor::_reinterpret_tensor #3078
fixReject non-native ABIs in the ML seccomp filter (socketcall/getuid collision) #3080
fixSupport date_nanos timestamp indices #153996 (issue: #146923)
fixClamp merge scheduler thread count when it exceeds max merge count #155693 (issues: #96594, #155678)
fixLimit dot-separated identifiers per version part #154572
fixParse scroll ID from a bounded byte array #154542
+2 more items in the release notes
featurelogsdb_columnar adds logging-oriented defaults on top of the columnar foundation: a default @timestamp mapping, and index sorting on host.name and @timestamp when those fields are present.
featurecolumnar provides the same column-oriented storage without use-case-specific defaults, suitable for general-purpose indices and data streams.
featureEarly publish DesiredBalance when newly created replicas are assigned #149645
featureExpose DesiredBalanceStats as metrics #146928
featureAllow appending synonyms to existing rules via append=true (default false) #146870 (issue: #146864)
featureAllow multiple synonym sets per filter using the synonyms API #147157 (issue: #144941)
featureAllow audit logging to be turned on/off without server restart #147333
featureChange federated feature flag to cluster config #153098
featureIntroduce feature flag for keyless auth #152684
featureProvide default jwt_audience #152362
feature[Evaluations] Register .evaluation-* as hidden indices with viewer/editor access #148880
featureSupport -remote:index-style exclusion syntax #148497
featureExpand index pressure on update expansion #147151
featureMinimize the amount of memory used by CommitReferencesInfo #147976
featureUpdate to lucene 10.5 #151959
featureUse IOContext to detect random access for bloom filters #147224
featureWrite skipindex to a separate file in TSDB Codec #147238
featureAdding dynamic template for *.lifecycle.last_activity fields #149505
featureAllow deleting a backing index via modify data streams API #151137
featureData stream lifecycle (DLM) can move data to the frozen tier #150457
featureThrottle concurrent downsampling operations in data stream lifecycle. A new dynamic cluster setting, data_streams.lifecycle.downsampling.max_indices_in_progress (default 10), caps the number of backing indices per data stream that data stream lifecycle will submit to downsampling in a single run.…
featureUpdating ecs@mappings to include new flattened gen_ai fields #148674
feature[otel-data] Add HTTP body size, severity aliases #152622
featureImprove allocation explain API for canRemain #152121 (issue: #131603)
featureMake INDICES_RECOVERY_MAX_CONCURRENT_OUTGOING_RECOVERIES setting dynamic #151138
featureSupport outbound peer recovery throttling #149319
featureAssign downsampling to least loaded candidate node #148220
featureAdd Arrow output support for date_nanos and date_range data types #150479 (issue: #146350)
featureAdd ENRICH to bytes counting #150677
featureAdd IP_LOCATION command #149421 (issues: #150231, #132489)
featureAdd range_intersects and range_contains functions #148713
featureAdd a BY subclause to CHANGE_POINT command #148473
featureAdd analyzer option in ES|QL TOP_SNIPPETS function #147369
featureAdd order option to TOP_SNIPPETS #145946
featureAdd release hook to Vector and Block #150017
featureAvoid tracking group ids for intermediate input #141466
featureBulk-grow TopN UTF-8 string encoding #149022
featureCache FilterOperator/EvalOperator toString #148354
featureChunk time-series aggregation output #151670 (issue: #147286)
featureConstant-RHS fast path for MOD and DIV evaluators #148678
+397 more items in the release notes
See how far your stack has drifted from upstream. Release data from vendors’ own sources · feed under CC BY 4.0 · Code under AGPL-3.0 Settings Feed status