Jenkins Arbitrary File Read CVE-2024-23897
Description
The following analtyic identifies a Jenkins Arbitrary File Read CVE-2024-23897 exploitation. This attack allows an attacker to read arbitrary files on the Jenkins server. This can be used to obtain sensitive information such as credentials, private keys, and other sensitive information.
- Type: TTP
- Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
- Datamodel: Web
- Last Updated: 2024-01-26
- Author: Michael Haag, Splunk
- ID: c641260d-2b48-4eb1-b1e8-2cc5b8b99ab1
Annotations
Kill Chain Phase
- Delivery
NIST
- DE.CM
CIS20
- CIS 13
CVE
ID | Summary | CVSS |
---|---|---|
CVE-2024-23897 | Jenkins 2.441 and earlier, LTS 2.426.2 and earlier does not disable a feature of its CLI command parser that replaces an '@' character followed by a file path in an argument with the file's contents, allowing unauthenticated attackers to read arbitrary files on the Jenkins controller file system. | None |
Search
1
2
3
4
5
6
| tstats count min(_time) as firstTime max(_time) as lastTime from datamodel=Web where Web.url="*/cli?remoting=false*" Web.status=200 Web.http_method=POST by Web.src, Web.dest, Web.http_user_agent, Web.url Web.status, Web.http_method
| `drop_dm_object_name("Web")`
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `jenkins_arbitrary_file_read_cve_2024_23897_filter`
Macros
The SPL above uses the following Macros:
jenkins_arbitrary_file_read_cve-2024-23897_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.
- Web.src
- Web.dest
- Web.http_user_agent
- Web.url
- Web.status
- Web.http_method
How To Implement
This detection requires the Web datamodel to be populated from a supported Technology Add-On like Suricata, Splunk for Apache, Splunk for Nginx, or Splunk for Palo Alto. If unable to utilize the Web datamodel, modify query to your data source.
Known False Positives
False positives should be limited as this detection is based on a specific URL path and HTTP status code. Adjust the search as necessary to fit the environment.
Associated Analytic Story
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
81.0 | 90 | 90 | Jenkins Arbitrary File Read CVE-2024-23897 against $dest$ by $src$. |
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
- https://github.com/projectdiscovery/nuclei-templates/pull/9025
- https://github.com/jenkinsci-cert/SECURITY-3314-3315
- https://github.com/binganao/CVE-2024-23897
- https://github.com/h4x0r-dz/CVE-2024-23897
- https://www.sonarsource.com/blog/excessive-expansion-uncovering-critical-security-vulnerabilities-in-jenkins/
- https://www.shodan.io/search?query=product%3A%22Jenkins%22
- https://thehackernews.com/2024/01/critical-jenkins-vulnerability-exposes.html
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