- Qualys menemukan kerentanan di OpenSSH yang memungkinkan eksekusi kode jarak jauh melalui SSH agent yang diteruskan.
- Penerusan SSH agent terutama digunakan dalam CI/CD dan kasus serupa untuk mencoba login menggunakan kredensial yang berada di sistem jarak jauh tanpa menyimpan informasi autentikasi secara langsung.
- Kerentanan muncul pada bagian
ssh-agent yang mengizinkan dukungan PKCS11.
- Untuk mendukung PKCS11, pengguna jarak jauh diizinkan memuat dan menutup shared library dari lokasi tepercaya.
- Hasil pengujian terhadap semua shared library bawaan yang terpasang secara default di Ubuntu Desktop menunjukkan bahwa library bawaan umumnya tidak dirancang untuk bisa ditutup dengan aman, sehingga saat ditutup oleh SSH agent terjadi error.
- Error-error ini memicu beberapa sinyal sistem, dan dengan menggabungkannya Qualys berhasil mengeksekusi kode arbitrer dari jarak jauh.
- OpenSSH memperbaikinya dengan menonaktifkan dukungan PKCS11 jarak jauh dan mengelola shared library menggunakan whitelist.
- Sebelumnya, semua shared library di bawah folder
lib dapat dimuat.
- Jika menggunakan fitur penerusan SSH agent, dukungan PKCS11 sebaiknya dinonaktifkan bila tidak diperlukan.
3 komentar
Apakah ini harus dimatikan di PC pribadi? Atau ini pengaturan server…
Jika Anda belum pernah menggunakan
ssh-agent forwarding, sepertinya Anda tidak akan terdampak sama sekali.Saya sempat melihat sebentar penjelasan detail kerentanannya, tapi saya benar-benar tidak bisa memahaminya...
Katanya ada urusan dengan handler
SIGBUSdanSIGSEGV, lalu memicuSIGTRAP, menyimpan sesuatu di buffer stack, lalu mengarahkan lompatan ke sana...Katanya semua itu dikendalikan lewat pemuatan/pembongkaran library, tapi sejujurnya saya kurang paham maksudnya.
Ya, kira-kira cuma sebatas "oh begitu ya" saja.
Kalau Anda tertarik, ada dokumen yang sangat rinci dan sepertinya bahkan menyertakan contoh,
jadi saya sarankan untuk membacanya sekali.