In questo articolo verrà illustrato il disclosure report della CVE-2024-12398 rilasciata recentemente da Zyxel. Alessandro Sgreccia del team Hackerhood ha identificato questa vulnerabilità nei prodotti Zyxel e il 03/12/2024 è stato inviato il disclosure a Zyxel.
Zyxel in seguito ha assegnato la CVE-2024-12398 con severity 8.8 classificata come Improper Privilege Management; Zyxel poi ha rilasciato la patch il 14/01/2025.
https://nvd.nist.gov/vuln/detail/CVE-2024-12398
Anche l’Agenzia per la Cybersicurezza Nazionale ha emesso un avviso nella giornata di oggi relativamente alla CVE-2024-12398 scoperta da HackerHood.
https://www.acn.gov.it/portale/w/aggiornamenti-per-prodotti-zyxel
In cosa consiste la vulnerabilità CVE-2024-12398
Questa vulnerabilità è causata da una gestione impropria dei privilegi nei dispositivi Zyxel, inclusi alcuni modelli di access point (AP) e router di sicurezza. Un utente autenticato, anche con privilegi limitati, può sfruttare la falla per elevare i propri permessi fino al livello amministrativo.
Come visibile dal seguente report, l’autorizzazione ad effettuare alcune operazioni (in questo caso upload di un file) è validata esclusivamente lato client tramite Javascript e non lato server.
Manipolando il codice Javascript lato browser è possibile bypassare questo controllo e inviare la richiesta al server che verrà evasa, in questo caso il caricamento di un file.
Questo accadde molto di frequente in applicazioni web che vengono eseguite interamente/prevalentemente lato browser, inclusi i vari controlli di “sicurezza” (come la verifica dell’autorizzazione e autenticazione) che però non eseguono controlli su quali rotte possono essere chiamate e in quali condizioni lato backend (es. Angular).
Questo accesso quindi poi consente operazioni altamente critiche, come l’upload di file di configurazione malevoli, che potrebbero compromettere l’intero dispositivo e l’infrastruttura collegata.
Chi siamo
All’interno della comunità Red Hot Cyber, prende forma l’iniziativa “HackerHood”. Si tratta di un gruppo di hacker etici appassionati di divulgazione e condivisione, che hanno accettato di aumentare la consapevolezza del rischio informatico, attraverso una serie di iniziative pratiche.
Hackerhood, svolge attività di bug hunting su una serie eterogenea di prodotti IT al fine di aumentare la consapevolezza del rischio e migliorare l’ecosistema in cui viviamo.
Il report seguente è una versione più semplificata rispetto al report inviato a Zyxel, nella parte sottostante è possibile scaricare il report originale.
CWE-285: Improper Authorization
- Product Line: Tested on WBE530/WBE660S
- Vulnerable Version: V7.00(3) (Tested on on-premise mode)
- Summary: The File Upload CGI script does not check user privileges.
- Prerequisites: Compromised limited-admin user
Step-by-Step Instructions and Proof of Concept (PoC)
- A user with a “limited-admin” account can log in via the Management Web Interface.
- Once logged in, the user can attempt to upload a custom configuration file.
- If successful, this operation can result in the user gaining full administrative access to the device,
bypassing the intended privilege restrictions.
Observed Behavior
When a user with “limited-admin” privileges attempts to upload a custom configuration file, a popup is
displayed, informing the user that the upload is prohibited due to insufficient privileges. However, this
restriction can be bypassed under certain conditions, allowing unauthorized administrative access.
This popup is managed by the script “ZyFunction.js”, located in “/ext-js/common/”, which checks the local
variable “isAdmin”. If the variable is set to “False”, the warning message is displayed.
However, by manipulating “isAdmin” variable, it is possible to attempt the upload, bypassing the client-
side check.
The CGI script does not verify the identity of the requester, allowing a limited user to upload customized
configuration files.
If the limited user attempts to upload the “startup-config.conf”, the device will reboot and load the
provided configuration, thereby allowing the attacker to gain full control of the device.
Recommendations for Mitigating the Vulnerability
Server-Side Validation:
Implement strict server-side validation to verify the identity and permissions of the user before
processing any configuration file upload requests. Ensure that the server checks the user’s role
(e.g., isAdmin) independently of client-side controls.
Restrict File Uploads:
Limit the ability to upload configuration files to users with verified administrative privileges. Reject
all upload attempts from accounts with restricted or limited permissions.
Input Sanitization:
Validate and sanitize all uploaded files to ensure they meet expected formats and contain no
unauthorized modifications or commands.
Enhanced Logging and Monitoring:
Implement detailed logging for file upload attempts, including the source IP, user role, and
timestamp. Regularly review logs for unauthorized or suspicious activity.
Client-Side Security:
While client-side checks can enhance user experience, they should not be relied upon as the sole
mechanism for security. Ensure all critical validation occurs server-side
No responses yet