Splunk Authentication Token Exposure in Debug Log
Description
This detection search finds exposed authentication tokens in debug logs. This issue occurs in Splunk Enterprise versions below 9.2.1, 9.1.4, and 9.0.9, which may be affected by a vulnerability where JsonWebTokens can be exposed if the log level is set to DEBUG.
- Type: TTP
- Product: Splunk Enterprise, Splunk Cloud
- Datamodel: Web
- Last Updated: 2024-03-18
- Author: Rod Soto, Chase Franklin
- ID: 9a67e749-d291-40dd-8376-d422e7ecf8b5
Annotations
Kill Chain Phase
- Exploitation
NIST
- DE.CM
CIS20
- CIS 10
CVE
ID | Summary | CVSS |
---|---|---|
CVE-2024-29945 | In Splunk Enterprise versions below 9.2.1, 9.1.4, and 9.0.9, the software potentially exposes authentication tokens during the token validation process. This exposure happens when either Splunk Enterprise runs in debug mode or the JsonWebToken component has been configured to log its activity at the DEBUG logging level. | None |
Search
1
2
3
4
5
6
7
`splunkd` component=JsonWebToken log_level=DEBUG eventtype="splunkd-log" event_message="Validating token:*"
| rex "Validating token: (?<token>.*)\.$"
| search token!=None
| stats count min(_time) as firstTime max(_time) as lastTime values(log_level) as log_level values(event_message) as event_message by index, sourcetype, host, token
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `splunk_authentication_token_exposure_in_debug_log_filter`
Macros
The SPL above uses the following Macros:
splunk_authentication_token_exposure_in_debug_log_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.
- component
- log_level
- eventtype
- event_message
- host
How To Implement
Requires access to internal Splunk indexes.
Known False Positives
Only applies to affected versions of Splunk Enterprise below 9.2.1, 9.1.4, and 9.0.9
Associated Analytic Story
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
50.0 | 50 | 100 | Possible JsonWebToken exposure, please investigate affected $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