When the impersonation function gets used to impersonate use... #1578
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
📝 Source Information
🎯 Content Summary
Overview. watchTowr Labs documents a two-bug unauthenticated auth-bypass chain in Fortinet FortiWeb now assigned CVE‑2025‑64446 (Fortinet PSIRT advisory FG‑IR‑25‑910). The chain lets a remote attacker reach an internal CGI and then impersonate any user (including the built‑in
admin), yielding full administrative actions via the backend.Impacted versions. 8.0 < 8.0.2; 7.6 < 7.6.5; 7.4 < 7.4.10; 7.2 < 7.2.12; 7.0 < 7.0.12; 6.4 ≤ 6.4...
🔧 Technical Details
API-prefix path traversal to internal CGI. Start a request with a valid FortiWeb API path (e.g.,
/api/v2.0/cmdb/system/admin/) and traverse directories to reach/cgi-bin/fwbcgi. Example:/api/v2.0/cmdb/system/admin/../../../../../cgi-bin/fwbcgi. A 200 response indicates exposure; 403 indicates blocking.Minimal-body validation bypass. The
cgi_inputcheck()gate passes by default if the per-path file under/var/log/inputcheck/is absent; otherwise it only enforces that the body is valid JSON. Use{}as the minimal compliant body.Header-driven user impersonation. Forge an HTTP header
CGIINFOholding Base64-encoded JSON to setusername,loginname,vdom, andprofname. The server decodes this intoHTTP_CGIINFOand callsset_login_context_vsa(), effectively running the request as ...🤖 Agent Actions
I analyzed the blog and repository and found no existing Fortinet FortiWeb page under the Web Methodology section. This auth-bypass chain is a new, specific technique not covered elsewhere in HackTricks. I’ve added a concise, technical page and linked it in the Web tech tricks list.
What I changed:
No other relevant pages contained this technique, and it’s distinct from existing CGI or FortiWeb-related SQLi content.
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.