Mereka mengesan kelemahan dalam OpenSSH yang boleh dieksploitasi dari jauh

kelemahan

Jika dieksploitasi, kelemahan ini boleh membenarkan penyerang mendapat akses tanpa kebenaran kepada maklumat sensitif atau secara amnya menyebabkan masalah

Maklumat dikeluarkan tentang a kelemahan yang dikesan dalam pelaksanaan OpenSSH bagi ssh-agent yang membenarkan kod berjalan pada sistem yang telah menyediakan akses ejen ssh kepada hos di hujung sambungan ssh yang lain.

Kerentanan, telah dikatalogkan di bawah CVE-2023-38408, ia ketara kerana ia boleh dieksploitasi dari jauh. Serangan itu hanya mungkin jika pengguna telah menyambung melalui ssh ke sistem yang dikawal oleh penyerang dengan membolehkan pemajuan soket ke ssh-agent melalui ssh menggunakan pilihan "-A" atau tetapan ForwardAgent dalam fail konfigurasi.

Proses ejen ssh, digunakan untuk cache kunci persendirian untuk pengesahan kunci awam, menyokong mod pemajuan pilihan yang membolehkan bahagian jauh sambungan ssh mengakses ejen ssh pada sistem setempat supaya tidak menyimpan data pengesahan pada hos lain.

Kerentanan adalah berkaitan dengan kehadiran dalam ssh-agen sokongan untuk memuatkan modul PKCS # 11, yang boleh dimulakan, antara lain, melalui soket unix yang dimajukan ke sistem lain kepada ssh-agent.

Ciri ini membenarkan penyerang yang mengawal hos yang disambungkan segera memuatkan dan memunggah mana-mana perpustakaan kongsi daripada direktori /usr/lib* pada sistem setempat mangsa dalam proses ssh-pkcs11-helper yang berasingan. Ciri ini muncul dalam ssh-agent yang disusun dengan pilihan ENABLE_PKCS11, yang didayakan secara lalai.

Pada mulanya, keupayaan untuk memuatkan perpustakaan kongsi tidak dianggap sebagai ancaman untuk keselamatan, memandangkan pemuatan hanya boleh dilakukan daripada direktori sistem /usr/lib*, yang mengandungi perpustakaan yang disediakan secara rasmi oleh pengedaran, dan operasi dengan perpustakaan ini terhad kepada memanggil fungsi dlopen() dan dlclose(), tanpa memanggil fungsi perpustakaan.

Walau bagaimanapun, terlepas pandang bahawa sesetengah perpustakaan mempunyai fungsi pembina dan pemusnah yang dipanggil secara automatik apabila melakukan operasi dlopen() dan dlclose(). Ini mungkin cukup untuk mengambil perpustakaan yang diperlukan dan mengatur pelaksanaan kod jauh.

Keupayaan untuk menyerang ditunjukkan dalam persekitaran lalai bagi Ubuntu, kerana tidak diuji dalam pengedaran lain, yang juga memasang tiga pakej dari repositori "alam semesta" (walaupun sepatutnya dalam beberapa pengedaran adalah mungkin untuk menyerang dalam konfigurasi lalai).

8 varian serangan telah dicadangkan.

Sebagai contoh, salah satu pilihan yang menjanjikan untuk mencipta eksploitasi kerja adalah berdasarkan fakta bahawa perpustakaan libgnatcoll_postgres.so, apabila melaksanakan dlopen(), mendaftarkan tindanan isyarat berasingan yang digunakan dalam pengendali isyarat dengan memanggil fungsi sigaltstack() dan selepas memanggil dlclose() memperuntukkan memori, tetapi tidak melumpuhkan pengelogan tindanan isyarat (SS_DISABLE).

Untuk mengeksploitasi kelemahan, manipulasi berikut dilakukan:

  • Pelbagai perpustakaan dimuatkan untuk menukar susun atur mmap.
  • Pustaka libgnatcoll_postgres.so dimuatkan, timbunan isyarat alternatif didaftarkan dan munmap() dilaksanakan.
  • Perpustakaan dimuatkan untuk menukar susun atur mmap dan menggantikan timbunan isyarat berasingan dengan kawasan memori mod tulis yang lain (contohnya, timbunan strim atau segmen .data/.bss).
  • Memuatkan perpustakaan yang mendaftarkan pengendali isyarat SA_ONSTACK tetapi tidak mendaftarkannya dengan munmap() apabila dlclose() dipanggil.
  • Pustaka yang menerima isyarat dan memanggil pengendali isyarat SA_ONSTACK dimuatkan, menyebabkan kawasan memori yang diganti akan ditimpa oleh bingkai tindanan daripada pengendali isyarat.
  • Perpustakaan dimuatkan untuk menulis ganti secara khusus kandungan kawasan memori yang diganti.

Mengenai kelemahan, perlu disebutkan bahawa ini telah ditetapkan dalam keluaran OpenSSH 9.3p2 diterbitkan baru-baru ini. Dalam versi baharu, permintaan untuk memuatkan modul PKCS#11 dilumpuhkan secara lalai. Sebagai penyelesaian keselamatan, anda boleh menentukan senarai putih PKCS#11/FIDO kosong (ssh-agent -P ») apabila memulakan ssh-agent, atau mentakrifkan secara eksplisit perpustakaan yang dibenarkan dalam senarai putih.

Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh merujuk butiran dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.