8.16
edit8.16
edit8.16.1
editKnown issues
editThe Exceptions tab won’t properly load if exceptions contain comments with newline characters (\n
)
Details
On December 5, 2024, it was discovered that the Exceptions tab won’t load properly if any exceptions contain comments with newline characters (\n
). This issue occurs when you upgrade to 8.16.0 or later (#201820).
Workaround
For custom rules:
For prebuilt rules:
If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the Shared Exception Lists page.
-
Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule:
-
Find the affected rule’s ID (
id
). From the Rules page, open the details of a rule, go to the page URL, and copy the string at the end. For example, in the URL http://host.name/app/security/rules/id/167a5f6f-2148-4792-8226-b5e7a58ef46e, the string at the end (167a5f6f-2148-4792-8226-b5e7a58ef46e
) is theid
. -
Specify the
id
when fetching the rule’s details using the Retrieve a detection rule API. Here is an example request that includes theid
:curl -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' KIBANA_URL/api/detection_engine/rules?id=167a5f6f-2148-4792-8226-b5e7a58ef46e
-
The JSON response contains the
id
,list_id
, andnamespace_type
values within theexceptions_list
key (as shown below). You need these values when using the Exception list API to retrieve the affected exception list.{ "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e", "exceptions_list": [ { "id": "490525a2-eb66-4320-95b5-88bdd1302dc4", "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d", "namespace_type": "single" } ] }
-
Find the affected rule’s ID (
-
Use the export exceptions API to retrieve the affected exception list. Insert the values for the
id
,list_id
, andnamespace_type
parameters into the following API call:curl -XPOST -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' 'KIBANA_URL/api/exception_lists/_export?list_id=f75aae6f-0229-413f-881d-81cb3abfbe2d&id=490525a2-eb66-4320-95b5-88bdd1302dc4&namespace_type=single' -o list.ndjson
-
Modify the exception list’s
.ndjson
file to ensurecomments[].comment
values don’t contain newline characters (\n
). - Re-import the modified exception list using Import exception lists option on the Shared Exception Lists page. The import will initially fail because the exception list already exists, and an option to overwrite the existing list will appear. Select the option, then resubmit the request to import the corrected exception list.
Duplicate alerts can be produced from manually running threshold rules
Details
On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution.
Manually running custom query rules with suppression could suppress more alerts than expected
Details
On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts.
Bug fixes
edit- Fixes a bug that caused the Alerts page to crash if you upgraded to 8.16 and accessed the page in a non-default Kibana space (#200058).
-
Fixes a bug that caused the Elastic AI Assistant Knowledge Base to fail if the current user had a colon (
:
) in their username and attempted to access Knowledge Base entries (#200131). - Fixes a bug that made values unavailable for the Knowledge Base Index field, which lets you specify an index as a knowledge source (#199990).
-
Fixes a bug that unset the
required_fields
field if you updated a rule by sending aPATCH
request that didn’t contain therequired_fields
field (#199901). - Fixes the entity store initialization error that was caused by risk engine failures. Now, when you upgrade to 8.16.1, or follow the standard flow for initializing the entity store, the risk engine no longer fails while deleting the component template. In addition, the index template will correctly reference the new component template, ensuring the successful initialization of the entity store (#199734).
- Improves the warning message that displays when asset criticality assignments are duplicated during the bulk assignment flow (#199651).
- Fixes a time skew bug that occurred when Linux virtual machines using eBPF event probes were suspended and then resumed.
8.16.0
editKnown issues
editThe Exceptions tab won’t properly load if exceptions contain comments with newline characters (\n
)
Details
On December 5, 2024, it was discovered that the Exceptions tab won’t load properly if any exceptions contain comments with newline characters (\n
). This issue occurs when you upgrade to 8.16.0 or later (#201820).
Workaround
For custom rules:
For prebuilt rules:
If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the Shared Exception Lists page.
-
Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule:
-
Find the affected rule’s ID (
id
). From the Rules page, open the details of a rule, go to the page URL, and copy the string at the end. For example, in the URL http://host.name/app/security/rules/id/167a5f6f-2148-4792-8226-b5e7a58ef46e, the string at the end (167a5f6f-2148-4792-8226-b5e7a58ef46e
) is theid
. -
Specify the
id
when fetching the rule’s details using the Retrieve a detection rule API. Here is an example request that includes theid
:curl -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' KIBANA_URL/api/detection_engine/rules?id=167a5f6f-2148-4792-8226-b5e7a58ef46e
-
The JSON response contains the
id
,list_id
, andnamespace_type
values within theexceptions_list
key (as shown below). You need these values when using the Exception list API to retrieve the affected exception list.{ "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e", "exceptions_list": [ { "id": "490525a2-eb66-4320-95b5-88bdd1302dc4", "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d", "namespace_type": "single" } ] }
-
Find the affected rule’s ID (
-
Use the export exceptions API to retrieve the affected exception list. Insert the values for the
id
,list_id
, andnamespace_type
parameters into the following API call:curl -XPOST -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' 'KIBANA_URL/api/exception_lists/_export?list_id=f75aae6f-0229-413f-881d-81cb3abfbe2d&id=490525a2-eb66-4320-95b5-88bdd1302dc4&namespace_type=single' -o list.ndjson
-
Modify the exception list’s
.ndjson
file to ensurecomments[].comment
values don’t contain newline characters (\n
). - Re-import the modified exception list using Import exception lists option on the Shared Exception Lists page. The import will initially fail because the exception list already exists, and an option to overwrite the existing list will appear. Select the option, then resubmit the request to import the corrected exception list.
Attempting to edit an Elastic AI Assistant Knowledge Base index results in an error
Details
Updating a Knowledge Base entry of type "index" results in an error.
Workaround
Instead of updating an "index" entry, delete it and add it again with the desired changes.
Duplicate alerts can be produced from manually running threshold rules
Details
On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution.
Manually running custom query rules with suppression could suppress more alerts than expected
Details
On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts.
Alerts page crashes if you upgrade to 8.16 and access it in a non-default Kibana space
Details
On November 14, 2024, it was discovered that the Alerts page would crash and display an Unable to load
error if you upgraded to 8.16 and accessed the page in a non-default Kibana space.
Workaround
Manually edit your browser’s local storage and refresh the Alerts page:
These instructions only apply to the Google Chrome browser. Modify the steps based on the browser you’re using.
- Right-click anywhere on the Alerts page, then select Inspect to open Chrome’s Developer Tools.
- Go to Application → Storage, then expand Local Storage.
- Click on the name of your Kibana instance, for example, http://localhost:1234.
-
Search for the
siem.<space_name>.pageFilters
key, right-click on the value, then click Delete. If you have multiple non-default spaces, do this for each space. - Refresh the Alerts page to reload it.
Breaking changes
edit-
During shutdown, Kibana now waits for all the ongoing requests to complete according to the
server.shutdownTimeout
setting. During that period, the incoming socket is closed and any new incoming requests are rejected. Before this update, new incoming requests received a response with the status code 503 and body{ "message": "{kib} is shutting down and not accepting new incoming requests" }
.
New features
edit- Introduces Knowledge Base for Elastic AI Assistant, which allows you to specify information for AI Assistant to remember when responding to your queries (#186566, #192665).
- Enables agentless deployment for Elastic’s Cloud Security Posture Management integration and the new Cloud Asset Inventory integration (#191557).
- Enables data collected by the Wiz and AWS Security Hub integrations to appear on the Findings page and in entity details flyouts (#10790, #11158).
- Enables alerts collected by the Falco integration to appear on the Alerts page (#9619, #11051).
- Adds ability to manually run rules for a specified time period, either for testing purposes or to generate alerts for past events.
- Adds historical results to the Data Quality dashboard and updates its UI (#191898, #196127).
- Adds the ability to attach notes to alerts and events and introduces the Notes page, which allows you to manage all existing notes (#186787, #186807, #186931, #186946, #187214, #193373).
- Enables detection rules to automatically execute system actions, such as opening a case (#183937).
- Adds role-based access control (RBAC) for Elastic AI Assistant’s knowledge base (#195733).
- Adds RBAC for Attack Discovery (#188788).
-
Removes the
securitySolution:enableAssetCriticality
advanced setting and enables asset criticality workflows by default (#196270). - Introduces the entity store as a technical preview feature, which allows observed, imported, integrated, or uploaded entities to be stored persistently (#192806).
- Adds syntax validation for ES|QL queries (#189780).
- Allows you to view Elasticsearch queries that run during rule execution. This option is provided for ES|QL and EQL rules only (#191107).
- Allows you to create and update a rule even when some data-related validation errors are present in the query field (#191487).
-
Introduces a new advanced setting,
securitySolution:enableVisualizationsInFlyout
. When enabled, you can examine alerts and events in the Visualize tab, which provides a more detailed view of the event analyzer and Session View (#194012, #192531, #192643). -
Creates a new advanced setting
securitySolution:excludedDataTiersForRuleExecution
that allows you to exclude cold and frozen data from rule executions (#186908).Even when the
excludedDataTiersForRuleExecution
advanced setting is enabled, indicator match, event correlation, and ES|QL rules may still fail if a frozen or cold shard that matches the rule’s specified index pattern is unavailable during rule executions. If failures occur, we recommend modifying the rule’s index patterns to only match indices containing hot tier data. - Enhances the Insights section of the alert and event details flyouts by providing available misconfiguration and vulnerabilities findings (#195509).
-
Turns off the host field size reduction setting on Elastic Defend’s integration policy by default. To turn it on, configure the
[os].advanced.set_extended_host_information
advanced policy setting. -
Allows you to reduce CPU usage, I/O, and event sizes by turning on process event aggregation when configuring your Elastic Defend integration policy. Related process events that occur in rapid succession are combined into fewer aggregate events. To turn on process event aggregation, configure the
advanced.events.aggregate_process
advanced policy setting. -
Allows you to reduce CPU usage, I/O, and event sizes by turning off MD5, SHA-1, and SHA-256 hashes in events when configuring your Elastic Defend integration policy. Example fields include
process.hash.md5
andfile.hash.sha1
. -
Allows you to configure your Elastic Defend integration policy to collect SHA-256 file hashes in file events. Before doing so, consider the following caveats:
- This can greatly increase Elastic Defend’s CPU and I/O utilization and impact system responsiveness.
- This can significantly delay event enrichment and lead to Behavioral Protection rules firing too late to effectively stop malicious behavior.
- This can cause event processing queues to overflow and lead to dropped events.
- Many file events won’t contain hashes. Hash collection is the best effort and is not guaranteed to be present in every event. Hashes are collected asynchronously and shortly after the file activity. Hashes might be missing if the file was rapidly renamed, moved, deleted, or (on Windows) opened by another process without read sharing.
- Improves Elastic Defend by enabling the use of dynamic topics for the Kafka output.
- Improves Elastic Defend by integrating a new Event Tracing for Windows (ETW) provider (Microsoft-Windows-WMI-Activity) to create new event types that can be used by prebuilt endpoint rules to detect malicious WMI activity.
Enhancements
edit- Removes Elastic AI Assistant’s default system prompts. The instructions previously contained in those prompts are now automatically included without user interaction, so Elastic AI Assistant will remain focused on relevant topics. Custom system prompts are still available (#191847).
- Improves Elastic AI Assistant’s ability to generate ES|QL queries (#195480, #188492).
- Adds a button that lets you quickly add queries generated by Elastic AI Assistant to a rule’s definition (#190963).
- Adds an Other option to the OpenAI connector’s Select an OpenAI provider dropdown menu. Select this option when connecting to your own custom LLM (#194831).
-
Adds a Kibana advanced setting
securitySolution:maxUnassociatedNotes
, which allows you to set the maximum number of notes that can be attached to alerts and events (#194947). - Adds an Install and enable button to the Add Elastic Rules page, which allows for rules to be immediately enabled after they’re installed (#191529).
- Adds the Alert Suppression and Investigative guide fields to the rule upgrade workflow (#195499).
-
Adds the
IS
operator as an option when configuring a Windows signature blocklist entry (#190515). -
Improves Attack Discovery in the following ways (#195669):
- Attack Discovery can now process up to 500 alerts (previous maximum: 100). This setting can now be adjusted directly from the Attack Discovery page and is stored locally instead of in Elasticsearch.
- Attack Discovery now combines related discoveries that would previously have appeared separately.
- Attack Discovery now detects and displays an error instead of hallucinated output.
- Updates the Get Started tour for Elastic Security (#192247).
- Improves loading performance for various pages in Kibana (#194241).
- Adds User and Global Artifacts to the Fleet Policy Response flyout and to the Endpoint details flyout (#184125).
- Allows you to recalculate entity risk scores immediately after you upload asset criticality data (#187577).
- Allows you to enable entity risk scoring in multiple Kibana spaces (#192671).
-
Creates a new API endpoint for cleaning up entity risk scoring data:
DELETE /api/risk_score/engine/dangerously_delete_data
(#191843, #189872). - Allows Automatic Import to analyze a larger number of sample events when generating a new integration (#196233).
- Allows Automatic Import to recognize CSV logs and create integrations for CSV data (#196228, #194386).
- Allows you to open the rule details flyout from the Alerts table (#191764).
- Allows you to resize the alert and event details flyouts and choose how it’s displayed in relation to the Alerts table (over or next to it) (#192906, #182615).
- Improves network previews in the alert details flyout (#190560).
- Adds support in all detection rule types for Elastic Defend’s automated response actions (#193390, #191874).
-
Enhances Elastic Defend by improving the
call_stack_final_user_module
attribution where potentialproxy_call
modules are encountered during Windows call stack analysis. -
Adds new fields to Elastic Defend API events to improve context for the triage of Behavior Alerts. The new
call_stack_final_user_module
fields areallocation_private_bytes
,protection
,protection_provenance_path
, andreason
. -
Adds a new Elastic Defend API event for
DeviceIoControl
calls to support the detection of driver abuse. This feature is only supported on Windows 11 Desktop versions. - Ensures security artifacts are updated when the Elastic Defend service starts.
- Improves error messages that are returned when Elastic Defend receives invalid or unsupported cryptographic keys from the Elastic Defend policy.
-
Ensures that Elastic Defend tells Fleet that it’s
orphaned
if the connection between Elastic Defend and Elastic Agent stops for an extended period of time. Fleet uses this information to provide you with additional troubleshooting context. - Adds SOCKS5 proxy support to Elastic Defend’s Logstash output.
- Ensures that on Windows, Elastic Defend uses Intel CET and AMD Shadow Stacks to collect call stacks, where supported. This improves performance and enables the detection of certain defense evasions. You can turn this feature off in Elastic Defend advanced policy settings (#190553).
- Restores Elastic Defend’s support for Windows Server 2012, which was removed in 8.13.0.
- Improves Elastic Defend’s caching to reduce memory usage on Windows.
- Enhances Elastic Defend by reducing the size of process events, which reduces excessive process ancestry entries and shortens the entity ID.
- Improves the reliability and system resource usage of Elastic Defend’s Windows network driver.
Bug fixes
edit- Prevents an empty warning message from appearing for rule executions (#186096).
- Fixes an error that could occur during rule execution when the source index had a non-ECS-compliant text field (#187673).
- Fixes an issue that could cause fields for all indices to appear when you tried to add a rule filter (#194678).
- Removes unnecessary empty space below the title of the Open Timeline modal (#188837).
- Improves the performance of the Alerts table (#192827).
- Removes the requirement that you have unnecessary Kibana Fleet privileges to access some cloud security posture findings (#194069).
- Fixes an Elastic Defend bug where network event deduplication logic could incorrectly drop Linux network events.
- Fixes an Elastic Defend bug where Windows API events might be dropped if they contain Unicode characters that can’t be converted to ANSI.
-
Ensures that Elastic Defend does not emit an empty
memory_region
if it can’t enrich a memory region in an API event. With this fix, Elastic Defend removes these fields. - Fixes a bug where Elastic Defend could fail to properly enrich Windows API events for short-lived processes on older operating systems that don’t natively include this telemetry, such as Windows Server 2019. This might result in dropped or unattributed API events.
-
Fixes a bug that prevented host name uniformity with Beats products. If you request Elastic Defend to use the fully qualified domain name (FQDN) in the
host.name
field, Elastic Defend now reports the FQDN exactly as the OS reports it, instead of lowercasing by default. - Fixes an Elastic Defend bug in behavior protection alerts, where prevention alerts could mistakenly be labeled as detection alerts.
- Fixes a bug that caused Elastic Defend to crash if a Kafka connection is busy.
- Fixes scenarios where Automatic Import could generate invalid processors containing array access (#196207).
- Improves Timeline’s table performance when row renderers are switched on (#193316).
- Fixes misaligned filter control labels on the Alerts page (#192094).