
POC for CVE-2022-39996 (Reflected XSS) and CVE-2022-39997 (Weak Password) in Teldat RS123/RS123w Router
Proof of Concept for two vulnerabilities discovered in Teldat RS123 / RS123w routers.
| CVE ID | Type | CWE | CVSS | Severity |
|---|---|---|---|---|
| CVE-2022-39996 | Reflected XSS | CWE-79 | 6.1 | Medium |
| CVE-2022-39997 | Weak Password | CWE-521 | 9.8 | Critical |
Affected Product: Teldat RS123, RS123w Router
Teldat RS123/RS123w routers ship with hardcoded default credentials root:root. Administrators frequently leave these unchanged, allowing unauthenticated attackers to gain full administrative access via Telnet, SSH, HTTP, or other services.
Account: root
Password: root

pip install requests paramiko
# Basic check (Telnet, SSH, HTTP)
python CVE-2022-39997.py -t 192.168.1.1
# Full check (all services including HTTPS, FTP)
python CVE-2022-39997.py -t 192.168.1.1 --all
# Batch scan
python CVE-2022-39997.py -f targets.txt
The /upgrade/index.html endpoint reflects the cmd HTTP cookie value in the response without sanitization. An attacker can craft a malicious request containing JavaScript in the cmd cookie. When an authenticated administrator visits the page, the script executes in the browser context of the router's web interface, enabling session hijacking or configuration manipulation.
cmd cookie:

pip install requests
# Basic XSS check
python CVE-2022-39996.py -t 192.168.1.1
# With HTTP Basic Auth credentials
python CVE-2022-39996.py -t 192.168.1.1 -u root -p root
# Test multiple XSS payloads for confirmation
python CVE-2022-39996.py -t 192.168.1.1 --multi
# Generate standalone POC HTML page
python CVE-2022-39996.py -t 192.168.1.1 --gen-poc
# Custom XSS payload
python CVE-2022-39996.py -t 192.168.1.1 --payload "<script>alert(document.cookie)</script>"
| File | Description |
|---|---|
CVE-2022-39997.py | Weak password detection (Telnet / SSH / HTTP / FTP) |
CVE-2022-39996.py | Reflected XSS detection via cmd cookie |
Teldat's Router Vulnerability.md | Full vulnerability disclosure report |
These POC scripts are for educational and authorized security testing only. Do not use against systems you do not own or have explicit permission to test. The author is not responsible for any misuse or damage.