Splunk DOS via printf search function
Description
This hunting search provides information on detecting a vulnerability In Splunk Enterprise versions lower than 8.1.14, 8.2.12, 9.0.6, and 9.1.1, an attacker can use the printf SPL function to perform a denial of service against the Splunk Enterprise instance.
- Type: Hunting
-
Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
- Last Updated: 2023-08-30
- Author: Rod Soto, Eric McGinnis, Splunk
- ID: 78b48d08-075c-4eac-bd07-e364c3780867
Annotations
Kill Chain Phase
- Actions On Objectives
NIST
- DE.AE
CIS20
- CIS 10
CVE
ID | Summary | CVSS |
---|---|---|
CVE-2023-40594 | In Splunk Enterprise versions lower than 8.2.12, 9.0.6, and 9.1.1, an attacker can use the printf SPL function to perform a denial of service (DoS) against the Splunk Enterprise instance. |
None |
Search
1
2
3
4
`audit_searches` "*makeresults * eval * fieldformat *printf*" user!="splunk_system_user" search!="*audit_searches*"
| stats count by user splunk_server host search
| convert ctime(*time)
|`splunk_dos_via_printf_search_function_filter`
Macros
The SPL above uses the following Macros:
splunk_dos_via_printf_search_function_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Required fields
List of fields required to use this analytic.
- user
- splunk_server
- host
- search
How To Implement
This search requires the ability to search internal indexes.
Known False Positives
This search may produces false positives, analyst most focuse in the use of printf conversion function of eval to craft an expression that splunkd cannot interpret correctly causing it to crash.
Associated Analytic Story
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
100.0 | 100 | 100 | Possible denial of service attack against $host$ |
The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.
Reference
Test Dataset
Replay any dataset to Splunk Enterprise by using our replay.py
tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
source | version: 1