Kerentanan pada firmware pengontrol BMC memengaruhi server dari banyak produsen

Perusahaan Eklipsium mengungkapkan dua kerentanan dalam firmware pengontrol BMC yang disertakan di server Lenovo ThinkServer, memungkinkan pengguna lokal mengubah firmware atau mengeksekusi kode arbitrer di sisi chip BMC.

Analisis lebih lanjut menunjukkan bahwa masalah ini juga mempengaruhi firmware pengontrol BMC yang digunakan pada platform server Gigabyte Enterprise Server, yang juga digunakan di server dari perusahaan seperti Acer, AMAX, Bigtera, Ciara, Penguin Computing, dan sysGen. Pengontrol BMC yang bermasalah menggunakan firmware MergePoint EMS yang rentan yang dikembangkan oleh vendor pihak ketiga Avocent (sekarang merupakan divisi dari Vertiv).

Kerentanan pertama disebabkan oleh kurangnya verifikasi kriptografi dari pembaruan firmware yang diunduh (hanya verifikasi checksum CRC32 yang digunakan, sebaliknya rekomendasi NIST menggunakan tanda tangan digital), yang memungkinkan penyerang dengan akses lokal ke sistem untuk memalsukan firmware BMC. Masalahnya, misalnya, dapat digunakan untuk mengintegrasikan rootkit secara mendalam yang tetap aktif setelah menginstal ulang sistem operasi dan memblokir pembaruan firmware lebih lanjut (untuk menghilangkan rootkit, Anda perlu menggunakan programmer untuk menulis ulang flash SPI).

Kerentanan kedua terdapat pada kode pembaruan firmware dan memungkinkan Anda mengganti perintah Anda sendiri, yang akan dieksekusi di BMC dengan tingkat hak istimewa tertinggi. Untuk menyerang, cukup dengan mengubah nilai parameter RemoteFirmwareImageFilePath di file konfigurasi bmcfwu.cfg, yang melaluinya jalur ke gambar firmware yang diperbarui ditentukan. Selama pembaruan berikutnya, yang dapat dimulai dengan perintah di IPMI, parameter ini akan diproses oleh BMC dan digunakan sebagai bagian dari panggilan popen() sebagai bagian dari baris untuk /bin/sh. Karena baris untuk menghasilkan perintah shell dibuat menggunakan panggilan snprintf() tanpa pembersihan karakter khusus yang benar, penyerang dapat mengganti kode mereka untuk dieksekusi. Untuk mengeksploitasi kerentanan, Anda harus memiliki hak yang memungkinkan Anda mengirim perintah ke pengontrol BMC melalui IPMI (jika Anda memiliki hak administrator di server, Anda dapat mengirim perintah IPMI tanpa otentikasi tambahan).

Gigabyte dan Lenovo diberitahu tentang masalah ini pada bulan Juli 2018 dan berhasil merilis pembaruan sebelum informasi tersebut diungkapkan kepada publik. perusahaan Lenovo dirilis pembaruan firmware pada 15 November 2018 untuk server ThinkServer RD340, TD340, RD440, RD540 dan RD640, tetapi hanya menghilangkan kerentanan di dalamnya yang memungkinkan substitusi perintah, karena selama pembuatan jajaran server berdasarkan MergePoint EMS pada tahun 2014, firmware verifikasi yang dilakukan dengan menggunakan tanda tangan digital belum tersebar luas dan belum diumumkan pada awalnya.

Pada tanggal 8 Mei tahun ini, Gigabyte merilis pembaruan firmware untuk motherboard dengan pengontrol ASPEED AST2500, tetapi seperti Lenovo, ini hanya memperbaiki kerentanan substitusi perintah. Papan yang rentan berdasarkan ASPEED AST2400 masih belum diperbarui untuk saat ini. Gigabyte juga tersebut tentang transisi menggunakan firmware MegaRAC SP-X dari AMI. Termasuk firmware baru berdasarkan MegaRAC SP-X akan ditawarkan untuk sistem yang sebelumnya dikirimkan dengan firmware MergePoint EMS. Keputusan tersebut menyusul pengumuman Vertiv bahwa mereka tidak lagi mendukung platform MergePoint EMS. Pada saat yang sama, belum ada laporan tentang pembaruan firmware pada server yang diproduksi oleh Acer, AMAX, Bigtera, Ciara, Penguin Computing, dan sysGen berdasarkan papan Gigabyte dan dilengkapi dengan firmware MergePoint EMS yang rentan.

Mari kita ingat bahwa BMC adalah pengontrol khusus yang dipasang di server, yang memiliki antarmuka CPU, memori, penyimpanan, dan polling sensor sendiri, yang menyediakan antarmuka tingkat rendah untuk memantau dan mengelola peralatan server. Dengan menggunakan BMC, apa pun sistem operasi yang berjalan di server, Anda dapat memantau status sensor, mengelola daya, firmware dan disk, mengatur booting jarak jauh melalui jaringan, memastikan pengoperasian konsol akses jarak jauh, dll.

Sumber: opennet.ru

Tambah komentar