- Di Ubuntu 25.10, bug pada perintah
date milik coreutils (uutils) yang ditulis dengan Rust menyebabkan fitur pembaruan otomatis tidak berfungsi di sebagian sistem
- Bug ini ditemukan pada paket rust-coreutils versi 0.2.2-0ubuntu2 atau lebih lama, dan telah diperbaiki pada versi 0.2.2-0ubuntu2.1 atau lebih baru
- Masalah ini memengaruhi deployment cloud, image container, serta lingkungan instalasi desktop dan server, tetapi pembaruan manual melalui perintah
apt tidak terpengaruh
- Ubuntu sedang menguji peralihan ke utilitas berbasis Rust (uutils, sudo-rs) dalam rilis ini, sebagai bagian dari evaluasi untuk kemungkinan penerapan pada versi Long Term Support (LTS) tahun depan
- Insiden ini menunjukkan perlunya verifikasi stabilitas dalam proses transisi ke Rust dan memberi implikasi penting bagi strategi keamanan serta pemeliharaan distribusi ke depan
Ringkasan gangguan pembaruan otomatis Ubuntu 25.10
- Proyek Ubuntu secara resmi mengumumkan bahwa bug pada perintah
date di uutils berbasis Rust menyebabkan sebagian sistem gagal memeriksa pembaruan secara otomatis
- Sistem yang terdampak mencakup lingkungan deployment cloud, image container, serta instalasi Ubuntu Desktop dan Server
- Kegagalan pemeriksaan pembaruan otomatis menimbulkan risiko tertundanya patch keamanan dan pembaruan perangkat lunak
- Tim keamanan Ubuntu memberikan instruksi pemulihan (remediation instructions) melalui pengumuman resminya
- Pengguna perlu memperbarui paket rust-coreutils ke versi 0.2.2-0ubuntu2.1 atau lebih baru untuk menyelesaikan masalah
- Bug ini hanya memengaruhi proses pembaruan otomatis, dan tidak berdampak pada perintah
apt atau alat pembaruan manual lainnya
Penyebab bug dan cakupan dampaknya
- Penyebab masalah dianalisis berasal dari perintah
date dalam coreutils (uutils) yang ditulis ulang dengan Rust yang menimbulkan kesalahan saat memproses waktu sistem
- Akibatnya, scheduler pembaruan otomatis gagal menghitung tanggal secara akurat, sehingga rutinitas pemeriksaan pembaruan terhenti
- Cakupan dampaknya meliputi semua bentuk distribusi Ubuntu 25.10, terutama menimbulkan potensi gangguan operasional pada lingkungan server terotomatisasi dan instance cloud
- Melalui masalah ini, Ubuntu menyadari perlunya memperkuat prosedur verifikasi stabilitas untuk utilitas sistem berbasis Rust
Transisi ke utilitas berbasis Rust (proyek “Oxidize”)
- Dalam rilis 25.10, Ubuntu mendorong proyek “oxidize”, sebuah eksperimen untuk mengganti coreutils lama berbasis C dengan uutils berbasis Rust
- Secara bersamaan, Ubuntu juga memperkenalkan versi Rust dari perintah
sudo (sudo-rs) dengan tujuan meningkatkan keamanan dan memory safety
- Proyek ini merupakan tahap uji coba untuk mengevaluasi apakah utilitas berbasis Rust dapat dimasukkan ke dalam rilis Long Term Support (LTS) yang dijadwalkan pada April 2026
- LWN sebelumnya telah membahas proyek ini pada Maret 2025, dengan analisis mengenai dampak adopsi Rust terhadap stabilitas struktural distribusi Linux
Versi perbaikan dan panduan penanganan
- Menurut pengumuman keamanan Ubuntu, masalah ini terdapat pada rust-coreutils versi 0.2.2-0ubuntu2 atau lebih lama
- Bug akan teratasi jika diperbarui ke versi 0.2.2-0ubuntu2.1 atau lebih baru
- Pengguna dapat melakukan pembaruan paket secara manual melalui perintah
apt update && apt upgrade
- Hingga fungsi pembaruan otomatis pulih, pemeriksaan manual secara berkala disarankan
Implikasi dan prospek ke depan
- Insiden ini dinilai sebagai contoh ketidakstabilan awal dalam proses transisi ke Rust
- Ini menunjukkan bahwa adopsi Rust untuk meningkatkan memory safety dan keamanan harus berjalan beriringan dengan verifikasi stabilitas fungsional
- Eksperimen Ubuntu berpotensi mempercepat tren adopsi Rust di ekosistem distribusi Linux secara keseluruhan
- Jika utilitas berbasis Rust dapat diintegrasikan secara stabil dalam rilis LTS mendatang, hal ini diharapkan dapat meningkatkan keamanan sistem dan efisiensi pemeliharaan
1 komentar
Komentar Hacker News
Menurut saya, menemukan masalah lebih awal seperti ini masih oke
Selama dibereskan sebelum rilis LTS, seharusnya tidak masalah
Kalau melihat grafik kompatibilitas pengujian uutils/coreutils, masih belum sepenuhnya matang
Khususnya
datehanya lulus 2 pengujian, 3 dilewati, dan 3 errorSulit menganggap kondisi seperti ini sudah siap produksi
Bug seperti ini mungkin sepele bagi pengguna individu, tetapi bisa fatal di lingkungan skala besar
Saya menghabiskan sepanjang hari untuk debugging dan akhirnya menemukan bahwa sistem mengirim data ke tempat yang secara eksplisit dilarang
Akibatnya seluruh sistem berhenti, dan ketika alat yang diandalkan rusak, pengelolaannya jadi sangat sulit
Kalau ini bukan ditulis dalam Rust, para pengembangnya mungkin sudah dihujani kritik besar-besaran
Saya penasaran apakah coreutils lama memang cukup bermasalah sampai perlu diperbaiki
Tulisan terkait: milis OpenBSD
Saya ingin menemukan tautan patch di uutils
Bug intinya adalah dukungan
date -r <file>belum diimplementasikan, tetapi Ubuntu tetap mengintegrasikan versi ituPerintah tersebut diam-diam mengabaikan opsi
-rdan tidak melakukan apa punIsu terkait: #8621, PR #8630
Commit terakhir (tautan) adalah perbaikan agar parsing date sesuai dengan GNU, tetapi dari komentar lain tampaknya penyebabnya mungkin bukan itu
Komentar teratas lucu — katanya “nama rilis Ubuntu berikutnya akan menjadi Grateful Guinea-Pig”
Dari changelog Ubuntu terlihat bahwa bug ini terkait
date -rKalau melihat changelog, laporan bug, isu, dan PR,
date -rseharusnya menampilkan waktu modifikasi file, tetapi versi Rust malah mengabaikannya begitu sajaHilangnya perilaku dasar seperti ini mengecewakan untuk proyek yang mengklaim sebagai “pengganti yang aman”
Pengumuman keamanan Ubuntu — terasa seperti contoh yang sangat khas
Rasanya Ubuntu 25.10 sudah sampai tingkat nyaris tidak bisa dipakai. Ini pertama kalinya saya mengatakan hal seperti itu untuk versi non-LTS
Saya setuju dengan pendapat bahwa “menulis ulang utilitas C yang sudah teruji puluhan tahun ke Rust mungkin baik dalam jangka panjang, tetapi masalah jangka pendeknya sudah bisa diprediksi”
Tetapi saya bertanya-tanya seberapa panjang sebenarnya yang dimaksud dengan “jangka panjang”
Dalam presentasi FOSDEM, pengembang uutils mengklaim performanya lebih baik dengan benchmark yang keliru, padahal kenyataannya itu karena locale belum didukung
Tautan terkait: presentasi FOSDEM, thread1, thread2
Menulis ulang utilitas inti memberi nilai besar untuk portofolio
Saya penasaran dengan guided state-space exploration atau teknik fuzzing terbaru
Jika sudah ada implementasi lama, sepertinya fuzzer bisa membandingkan perilaku dua versi untuk melakukan verifikasi white-box
Menulis proptest untuk seluruh ruang input memang membutuhkan banyak usaha, tetapi jika argumen CLI stabil, itu cukup memungkinkan
Bahkan mungkin bisa dibuat otomatis berdasarkan materi seperti man page
Di Rust, sepertinya cocok memakai crate
proptest, dan untuk memverifikasi perbedaan CLI, memakai Hypothesis dari Python melalui pemanggilan eksternal tampaknya ide yang bagus