Scroll untuk baca artikel
Networking

Kelemahan CUPS memungkinkan eksekusi kode jarak jauh Linux, tetapi ada kendalanya

130
×

Kelemahan CUPS memungkinkan eksekusi kode jarak jauh Linux, tetapi ada kendalanya

Share this article
kelemahan-cups-memungkinkan-eksekusi-kode-jarak-jauh-linux,-tetapi-ada-kendalanya
Kelemahan CUPS memungkinkan eksekusi kode jarak jauh Linux, tetapi ada kendalanya

Linux

Dalam kondisi tertentu, penyerang dapat merantai serangkaian kerentanan di beberapa komponen sistem pencetakan sumber terbuka CUPS untuk mengeksekusi kode arbitrer dari jarak jauh pada mesin yang rentan.

Example 300x600

Dilacak sebagai CVE-2024-47076 (libcupsfilters), CVE-2024-47175 (libppd), CVE-2024-47176 (cups-browsed) dan CVE-2024-47177 (cups-filter) dan ditemukan oleh Simone Margaritellikelemahan keamanan ini tidak memengaruhi sistem dalam konfigurasi defaultnya.

CUPS (kependekan dari Common UNIX Printing System) adalah sistem pencetakan yang paling banyak digunakan pada sistem Linux, dan juga demikian umumnya didukung pada perangkat yang menjalankan sistem operasi mirip Unix seperti FreeBSD, NetBSD, dan OpenBSD serta turunannya.

Salah satu komponennya adalah daemon penjelajahan cangkir, yang mencari jaringan lokal untuk jaringan yang diiklankan atau printer bersama dan membuatnya tersedia untuk dicetak pada mesin. Ini mirip dengan bagaimana Windows dan Mac dapat mencari printer jaringan jarak jauh di jaringan untuk mencetak.

Margaritelli menemukan bahwa jika daemon yang dijelajahi cangkir diaktifkan, yang tidak terdapat pada sebagian besar sistem, daemon tersebut akan mendengarkan pada port UDP 631. Secara default, daemon ini juga akan mengizinkan koneksi jarak jauh dari perangkat apa pun di jaringan untuk membuat printer baru.

Dia menemukan bahwa dia dapat membuat printer Deskripsi Printer PostScript (PPD) berbahaya yang dapat diiklankan secara manual ke layanan penjelajahan cangkir terbuka yang berjalan pada port UDP 631.

Hal ini menyebabkan mesin jarak jauh secara otomatis menginstal printer berbahaya dan membuatnya tersedia untuk dicetak. Jika pengguna di server terbuka tersebut mencetak ke printer baru, perintah jahat di PPD akan dijalankan secara lokal di komputer.

Perintah untuk mengeksekusi saat pencetakan ditambahkan melalui a filter rip fomatikyang menjalankan perintah pada perangkat sehingga pekerjaan pencetakan dilakukan dengan benar.

Perintah ditambahkan menggunakan filter foomatic-rip
Perintah ditambahkan menggunakan filter foomatic-rip (Simone Margaritelli)

Dampak dunia yang terbatas

Meskipun ini adalah rantai eksekusi kode jarak jauh, perlu diperhatikan sejak awal bahwa penyerang harus mengatasi beberapa kendala untuk mengeksploitasi kerentanan dan benar-benar mencapai eksekusi kode jarak jauh.

Yang pertama adalah bahwa sistem yang ditargetkan harus mengaktifkan daemon cup-browsed, yang biasanya tidak diaktifkan secara default, untuk mengekspos port UDP mereka pada jaringan. Kemudian, penyerang harus mengelabui pengguna agar mencetak dari server printer berbahaya di jaringan lokal mereka yang tiba-tiba muncul di mesin mereka.

“Ini adalah rangkaian bug yang mengandalkan spoofing printer di jaringan lokal Anda yang secara otomatis ditambahkan melalui penemuan jaringan jika dihidupkan – biasanya tidak dalam konfigurasi default. Kemudian variabel yang belum diverifikasi yang digunakan untuk mengeksploitasi kerentanan lainnya dalam sistem CUPS untuk mengeksekusi kode, tetapi hanya ketika pekerjaan pencetakan dipicu,” dikatakan Ilkka Turunen, CTO Lapangan di Sonatype.

“Kabar baiknya – ini adalah RCE tetapi dengan beberapa mitigasi, termasuk fakta bahwa penyerang harus dapat terhubung ke komputer melalui UDP yang banyak dinonaktifkan saat masuknya jaringan dan layanan biasanya tidak aktif secara default. Sepertinya dampaknya di dunia nyata rendah.”

Karena alasan-alasan ini, Red Hat telah menilai kekurangannya memiliki dampak tingkat keparahan yang “Penting” dan bukan kritis.

Meskipun pengujian BleepingComputer menunjukkan bahwa sebagian besar server Linux kami tidak mengaktifkan layanan ini secara default, salah satu VM Ubuntu kami mengaktifkannya.. Yang lain punya juga dicatat di Twitter yang dijelajahi cangkir itu diaktifkan secara default di perangkat Linux mereka.

Tidak ada perbaikan, namun langkah-langkah mitigasi sudah tersedia

Sementara patch masih dalam pengembangan, Red Hat membagikan langkah-langkah mitigasi yang mengharuskan admin menghentikan berjalannya layanan yang dijelajahi cup dan mencegahnya dimulai saat reboot menggunakan perintah berikut untuk memutus rantai eksploitasi:

  sudo systemctl stop cups-browsed  sudo systemctl disable cups-browsed

Pengguna Red Hat juga dapat menggunakan perintah berikut untuk mengetahui apakah cup-browsed berjalan di sistem mereka:

  sudo systemctl status cups-browsed

Jika hasilnya menampilkan “Aktif: tidak aktif (mati),” maka rantai eksploitasi dihentikan, dan sistem tidak rentan. Jika hasilnya menunjukkan “berjalan” atau “diaktifkan”, dan direktif “BrowseRemoteProtocols” berisi nilai “cups” di file konfigurasi /etc/cups/cups-browsed.conf, maka sistem rentan.