Add ActiveMQ Jolokia RCE Detection Module (CVE-2026-34197) (Fixes #1507)#1510
Add ActiveMQ Jolokia RCE Detection Module (CVE-2026-34197) (Fixes #1507)#1510Aarush289 wants to merge 22 commits intoOWASP:masterfrom
Conversation
create pr
Document all modules ( fix OWASP#1269 ) (OWASP#1270)
Signed-off-by: Aarush <cs24b064@smail.iitm.ac.in>
Removed entry for FortiWeb authentication bypass vulnerability. Signed-off-by: Aarush <cs24b064@smail.iitm.ac.in>
Signed-off-by: Aarush <cs24b064@smail.iitm.ac.in>
Signed-off-by: Aarush <cs24b064@smail.iitm.ac.in>
Merge new changes
Merge new modules
Pull the changes
merge the changes
Add the new changes
MERGE NEW changes
WalkthroughAdded a new YAML vulnerability detection module for CVE-2026-34197 (Jolokia RCE in Apache ActiveMQ Classic) and a documentation entry registering that module. The module defines HTTP POST Jolokia Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
nettacker/modules/vuln/activemq_cve_2026_34197_jolokia_rce.yaml (1)
62-67: Tighten response matching to reduce false positives.Current checks are broad (
regex: '200'and loose content lookahead). Prefer exact status and Jolokia-specific JSON indicators (e.g.,"status":200, expectedrequest/valuefields).🎯 Suggested matcher hardening
response: condition_type: and conditions: status_code: - regex: '200' + regex: '^200$' reverse: false content: - regex: '(?s)(?=.*addNetworkConnector)(?=.*org.apache.activemq)' + regex: '(?s)(?=.*"status"\s*:\s*200)(?=.*addNetworkConnector)(?=.*org\.apache\.activemq)' reverse: false🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@nettacker/modules/vuln/activemq_cve_2026_34197_jolokia_rce.yaml` around lines 62 - 67, The current matcher in the YAML uses a loose status_code regex '200' and a broad content lookahead which causes false positives; update the status_code matcher (symbol: status_code.regex) to require an exact HTTP status (e.g., '^200$' or a JSON `"status":\s*200` pattern) and tighten the content matcher (symbol: content.regex) to look for Jolokia-specific JSON fields such as `"request"` and `"value"` together with the expected payload (e.g., ensure both `"request":.*addNetworkConnector"` and `"value":.*org.apache.activemq"` or a combined pattern that matches `"status":\s*200.*"request":.*addNetworkConnector.*"value":.*org.apache.activemq`), keeping reverse flags unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@nettacker/modules/vuln/activemq_cve_2026_34197_jolokia_rce.yaml`:
- Line 34: The YAML contains a hardcoded Authorization header value
"Authorization: \"Basic YWRtaW46YWRtaW4=\"" (admin:admin) which must be removed
from a generic detector; instead make the Authorization header
optional/configurable and do not send a default credential. Update the
activemq_cve_2026_34197_jolokia_rce.yaml template to omit the Authorization line
unless a runtime-configured credential is provided (e.g., replace the literal
with a placeholder/variable such as an injected AUTH_HEADER or conditionally
include the header only when credentials are supplied), and ensure any default
credential list is configurable and documented rather than baked into the
detector.
- Around line 51-57: The payload is performing a state-changing exec
("operation": "addNetworkConnector") against the MBean
org.apache.activemq:type=Broker,brokerName=localhost which is unsafe for
non-invasive scans; change the Jolokia request in the YAML to use a read or list
operation (e.g., "operation": "read" or "operation": "list") against the same
mbean or relevant attribute instead of using the exec addNetworkConnector call
so the scanner performs read-only detection only.
---
Nitpick comments:
In `@nettacker/modules/vuln/activemq_cve_2026_34197_jolokia_rce.yaml`:
- Around line 62-67: The current matcher in the YAML uses a loose status_code
regex '200' and a broad content lookahead which causes false positives; update
the status_code matcher (symbol: status_code.regex) to require an exact HTTP
status (e.g., '^200$' or a JSON `"status":\s*200` pattern) and tighten the
content matcher (symbol: content.regex) to look for Jolokia-specific JSON fields
such as `"request"` and `"value"` together with the expected payload (e.g.,
ensure both `"request":.*addNetworkConnector"` and
`"value":.*org.apache.activemq"` or a combined pattern that matches
`"status":\s*200.*"request":.*addNetworkConnector.*"value":.*org.apache.activemq`),
keeping reverse flags unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3b4ece0c-c598-419c-8c61-19c62dfc8fcf
📒 Files selected for processing (2)
docs/Modules.mdnettacker/modules/vuln/activemq_cve_2026_34197_jolokia_rce.yaml
Proposed change
Adds a new Nettacker module to detect CVE-2026-34197 in Apache ActiveMQ via the Jolokia API.
Tested against local vulnerable instance
Fixes #1507
Type of change
Checklist
make pre-commitand confirm it didn't generate any warnings/changesmake testand I confirm all tests passed locallydocs/folder