Skip to content
Open
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
0cc045d
Merge pull request #4 from OWASP/master
Aarush289 Jan 20, 2026
2a32fe2
Merge pull request #8 from OWASP/master
Aarush289 Feb 5, 2026
4090ae3
Merge pull request #9 from OWASP/master
Aarush289 Feb 8, 2026
2a0b83e
Add FortiWeb authentication bypass vulnerability check
Aarush289 Feb 10, 2026
b1ffe4e
Remove FortiWeb auth bypass vulnerability entry
Aarush289 Feb 10, 2026
6db5ee7
Fix vulnerability name in wp_plugin_cve_2021_38314.yaml
Aarush289 Feb 10, 2026
6fd226a
Rename CVE identifier from 39314 to 39320
Aarush289 Feb 10, 2026
03675d5
Merge pull request #10 from OWASP/master
Aarush289 Feb 12, 2026
0d3399e
Merge pull request #13 from OWASP/master
Aarush289 Feb 18, 2026
ace2db9
Merge pull request #14 from OWASP/master
Aarush289 Feb 23, 2026
0711d39
Merge pull request #16 from OWASP/master
Aarush289 Mar 3, 2026
0857127
Merge pull request #18 from OWASP/master
Aarush289 Mar 8, 2026
44a9ae6
Merge pull request #19 from OWASP/master
Aarush289 Mar 20, 2026
95ac772
Merge pull request #20 from OWASP/master
Aarush289 Apr 9, 2026
3895de1
new module added
Aarush289 Apr 25, 2026
c6f3ac4
Merge branch 'master' into CVE-2026-34197
Aarush289 Apr 25, 2026
b42e067
description updated
Aarush289 Apr 25, 2026
3b671ed
Add CISA reference for CVE-2026-34197
Aarush289 Apr 28, 2026
1422b65
Merge branch 'master' into CVE-2026-34197
Aarush289 Apr 28, 2026
beae78a
Merge branch 'master' into CVE-2026-34197
securestep9 May 13, 2026
582b75f
add cleanup step
Aarush289 May 25, 2026
4f93150
Make cleanup step temp to have clean logs
Aarush289 May 27, 2026
0211f7f
Merge branch 'master' into CVE-2026-34197
Aarush289 Jun 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/Modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ If you want to scan all ports please define -g 1-65535 range. Otherwise Nettacke
`60443, 61532, 61900, 62078, 63331, 64623, 64680, 65000, 65129, 65389]`

## Vuln Modules

- '**activemq_cve_2026_34197_jolokia_rce_vuln**' - check Jolokia endpoint for RCE vulnerability CVE-2026-34197
- '**aiohttp_cve_2024_23334_vuln**' - check the target for CVE-2024-23334
- '**apache_ofbiz_cve_2024_38856**' - check the target for Apache OFBiz CVE-2024-38856
- '**apache_struts_vuln**' - check Apache Struts for CVE-2017-5638
Expand Down
109 changes: 109 additions & 0 deletions nettacker/modules/vuln/activemq_cve_2026_34197_jolokia_rce.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
info:
Comment thread
Aarush289 marked this conversation as resolved.
name: activemq_cve_2026_34197_jolokia_rce_vuln
author: Nettacker Team
severity: 8.8
description: |
Detects CVE-2026-34197 in Apache ActiveMQ Classic via Jolokia API.
The vulnerability allows execution of addNetworkConnector which can
load remote configuration via vm:// and xbean: protocol.
Detection is performed by invoking addNetworkConnector via the Jolokia
exec API with a benign vm:// URI (brokerConfig=none); patched brokers
(5.19.4 / 6.2.3) reject vm:// transport for this operation.
Note: on vulnerable brokers this creates a persistent network
connector entry that remains until broker restart or manual removal.

reference:
- https://nvd.nist.gov/vuln/detail/CVE-2026-34197
- https://horizon3.ai/attack-research/disclosures/cve-2026-34197-activemq-rce-jolokia/

profiles:
- vuln
- http
- high_severity
- cve
- cve2026
- activemq
- jolokia
- rce

Comment thread
Aarush289 marked this conversation as resolved.
payloads:
- library: http
steps:
- method: post
timeout: 10
headers:
User-Agent: "{user_agent}"
Content-Type: "application/json"
Authorization: "Basic YWRtaW46YWRtaW4="
ssl: false
url:
nettacker_fuzzer:
input_format: "{{schema}}://{target}:{{ports}}/api/jolokia/"
prefix: ""
suffix: ""
interceptors:
data:
schema:
- "http"
- "https"
ports:
- 8161

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Include 8161 in preliminary service discovery

With the default scan settings, an ActiveMQ deployment exposing Jolokia only on its standard port 8161 is never probed: Nettacker runs port_scan first, but nettacker/modules/scan/port.yaml does not include 8161, and then either filters out the target entirely or removes this HTTP payload because no HTTP service was discovered. Listing 8161 only in this payload is too late; add it to preliminary service discovery or exempt this module from that filtering.

Useful? React with 👍 / 👎.

- 80
- 443

data: |
{{
"type": "exec",
"mbean": "org.apache.activemq:type=Broker,brokerName=localhost",
Comment thread
Aarush289 marked this conversation as resolved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Discover the configured broker name

On ActiveMQ deployments whose configured broker name is not localhost, this ObjectName does not resolve, so both probe variants return an MBean-not-found response and the module reports a false negative regardless of whether the broker is vulnerable. Query Jolokia for org.apache.activemq:type=Broker,brokerName=* first and use the discovered ObjectName for the exec requests.

Useful? React with 👍 / 👎.

"operation": "addNetworkConnector",
"arguments": ["static:(vm://nettacker-probe-000?brokerConfig=none)"]
}}

response:
condition_type: and
conditions:
status_code:
regex: '200'
reverse: false
content:
regex: '(?s)(?=.*addNetworkConnector)(?=.*org.apache.activemq)'
reverse: false

- method: post
timeout: 10
headers:
User-Agent: "{user_agent}"
Content-Type: "application/json"
ssl: false
url:
nettacker_fuzzer:
input_format: "{{schema}}://{target}:{{ports}}/api/jolokia/"
prefix: ""
suffix: ""
interceptors:
data:
schema:
- "http"
- "https"
ports:
- 8161
- 80
- 443

data: |
{{
"type": "exec",
"mbean": "org.apache.activemq:type=Broker,brokerName=localhost",
"operation": "addNetworkConnector",
"arguments": ["static:(vm://nettacker-probe-000?brokerConfig=none)"]
}}

response:
condition_type: and
Comment on lines +142 to +143

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid reporting both authentication variants

When Jolokia permits unauthenticated access, it also accepts the otherwise identical first probe carrying the default Basic header, so both probe steps match and insert separate vulnerability events for the same endpoint. The events table has no uniqueness constraint or in-scan deduplication, causing duplicated findings and inflated reports for precisely the unauthenticated deployments this fallback targets; conditionally run this variant or suppress a result already reported by the authenticated probe.

Useful? React with 👍 / 👎.

conditions:
status_code:
regex: '200'
reverse: false
content:
regex: '(?s)(?=.*addNetworkConnector)(?=.*org.apache.activemq)'
reverse: false
Comment thread
Aarush289 marked this conversation as resolved.
Outdated
Loading