Disclosure report Zyxel CVE-2024-12398

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

    Tags:

    No responses yet

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *