Beberapa hari yang lalu, diumumkan informasi tentang audit keamanan yang mengungkapkan lima kerentanan kritis dalam multiplexer terminal populer Layar GNU, digunakan untuk mengelola beberapa sesi konsol pada terminal tunggal.
Salah satunya (CVE-2025-23395, kerentanan paling berbahaya) memungkinkan penyerang untuk mendapatkan hak akses root pada sistem yang terkena dampak (kerentanan hanya memengaruhi GNU Screen versi 5.0.0), termasuk dalam distribusi seperti Fedora, Arch Linux, NetBSD, dan lain-lain. Namun, versi lain seperti Debian, Ubuntu, dan RHEL masih menggunakan cabang 4.x, yang tidak rentan terhadap kelemahan khusus ini.
CVE-2025-23395: Eskalasi Hak Istimewa Kritis
Disebutkan bahwa masalah tersebut terjadi ketika GNU Screen dijalankan dengan bit root setuid (kasus Arch dan NetBSD), karenadan fungsi logfile_reopen() dieksekusi sebelum menurunkan hak istimewa, yang memungkinkan pengguna memanipulasi registri untuk menulis file sembarangan sebagai root. Di sebuah peternakan pada umumnya, danPenyerang menghapus berkas log asli dan menggantinya dengan tautan simbolis. ke berkas sistem. Saat Anda membuka kembali berkas tersebut, Screen menuliskannya dengan izin root, yang memungkinkan konten berbahaya masuk.
Masalah ini memengaruhi Screen 5.0.0 saat dijalankan dengan hak istimewa setuid-root. Fungsi logfile_reopen() tidak menghapus hak istimewa saat beroperasi pada jalur yang disediakan pengguna. Hal ini memungkinkan pengguna yang tidak memiliki hak istimewa untuk membuat berkas di lokasi sembarangan dengan kepemilikan root, kepemilikan grup (nyata) dari pengguna yang memanggil, dan mode berkas 0644. Semua data yang ditulis ke Screen PTY akan dicatat ke berkas ini. File yang sudah ada juga dapat digunakan untuk pendaftaran dengan cara ini: data akan ditambahkan ke file yang dimaksud, tetapi mode dan kepemilikan file tidak akan berubah.
Serangan ini dapat mengarah pada kontrol total sistem jika dieksploitasi dengan benar, karena memungkinkan Anda memodifikasi file sensitif atau mengubah skrip startup. Fedora terlindungi sebagian karena Screen diinstal dengan bit setgid, sehingga membatasi permukaan serangan.
Kerentanan relevan lainnya
Audit yang dilakukan oleh tim keamanan SUSE Linux, juga mengidentifikasi kegagalan penting lainnya:
- CVE-2025-46802: Dalam sesi multi-pengguna, penyerang dapat memperoleh izin baca dan tulis global pada perangkat TTY seperti /dev/pts/1, yang memengaruhi cabang 4.x dan 5.x.
- CVE-2025-46803: Cabang 5.0 menetapkan izin tidak aman (0622) pada perangkat PTY, yang memungkinkan penulisan oleh pengguna mana pun.
- CVE-2025-46804: Kebocoran informasi memungkinkan keberadaan file atau direktori disimpulkan menggunakan pesan kesalahan saat mendefinisikan variabel SCREENDIR.
- CVE-2025-46805: Kondisi balap saat mengirim sinyal SIGCONT dan SIGHUP dapat mengakibatkan penolakan layanan.
Penyalahgunaan strncpy juga terdeteksi, yang dapat menyebabkan kerusakan saat menjalankan perintah dengan format khusus, masalah yang eksklusif pada cabang 5.0.
Kurangnya pemeliharaan dan dukungan dari SUSE
Penemuan kerentanan ini telah mengungkap masalah yang lebih mendalam dalam pemeliharaan GNU Screen. Menurut tim SUSE, Pengelola proyek saat ini tidak sepenuhnya memahami basis kode maupun masalah keamanan, yang memaksa mereka mengembangkan sendiri beberapa perbaikan atas kelemahan yang ditemukan. Laporan tersebut dikirimkan kepada pengembang pada tanggal 7 Februari, tetapi seluruh rangkaian kerentanan tidak dapat diperbaiki dalam masa tenggang 90 hari yang disepakati.
Apa yang harus dilakukan jika Anda menggunakan GNU Screen?
Pengguna sistem yang menyertakan Screen 5.0.0 dengan setuid root harus segera memperbarui ke versi 5.0.1 atau sementara kembali ke versi 4.x jika tidak ada paket yang tersedia. Sebagai tindakan mitigasi, bit setuid juga dapat dihapus dari eksekusi Screen:
sudo chmod u-s /usr/bin/screen
Namun, Hal ini dapat memengaruhi fungsionalitas seperti berbagi sesi antara pengguna. Terakhir, perlu disebutkan bahwa versi 5.0.1 yang baru dirilis memperbaiki bug ini dan bug lainnya dan sekarang tersedia pada distribusi seperti Arch Linux dan FreeBSD.
Jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya di link berikut.