Skip to content

Don't confirm JBoss CRITICAL from a WAF 401/403 - #40

Draft
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/critical-bug-management-1183
Draft

cursor[bot] wants to merge 1 commit into
mainfrom
cursor/critical-bug-management-1183

Conversation

@cursor

@cursor cursor Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Bug and impact

check_http_admin_panels auto-confirmed CRITICAL "JBoss JMX Console Exposed" / "JBoss Web Console Exposed" on a path-specific HTTP 401 or 403 for /jmx-console and /web-console, with no body keywords.

Fusion maps every service_probe_result finding to source=probe + high reliability, and the gate pins those as un-droppable. A WAF or deny-rule 403 on those well-known attack paths (ModSecurity CRS, Cloudflare, AWS managed rules) with a normal 404/200 baseline therefore lands in the report, HackerOne export, and executive summary as a confirmed critical.

SPA catch-all 200s were already keyword-gated. The 401/403 shortcut bypassed that for JBoss only.

Trigger: --probe / --full (or any GUI scan) against an HTTP service that:

  • returns 404 or 200 on a random path (baseline), and
  • returns 403/401 with a generic "Access Denied" body on /jmx-console or /web-console only.

A real JBoss login page that mentions JMX / JBoss still confirms.

Root cause

auth_protected_panel treated JBoss console paths like Tomcat manager: status 401/403 alone was confirmation. Tomcat stays HIGH and is a Basic-auth challenge. JBoss was CRITICAL, and those paths are standard WAF signatures.

Fix

  • Keep /jmx-console and /web-console in the 401/403 allow-list so a real JBoss login page can still match body keywords.
  • Stop auto-confirming them from status alone. Require the existing JMX/MBean or jboss/JBoss markers, same as the 200 path.
  • Tomcat /manager/html 401 behavior is unchanged.

Validation

python3 -m pytest test_probers.py test_hardening.py test_fusion_engine_bridge.py test_service_enum.py -q — 104 passed.

New cases: WAF 403 on the JBoss paths is not CRITICAL; 401 without markers is not CRITICAL; a JBoss login page with JMX Console / JBoss Web Console still confirms CRITICAL.

Open in Web View Automation 

A path-specific 403/401 on /jmx-console or /web-console is a common WAF
signature, not evidence of JBoss. Require the existing body keywords so
fusion cannot pin an un-droppable false CRITICAL.

Co-authored-by: dmitryflynn <dmitryflynn@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant