- CopyFail, kerentanan eskalasi hak akses lokal pada kernel Linux, termasuk salah satu bug “make-me-root” paling serius di kernel belakangan ini
- Masalah ini diperkenalkan pada commit
72548b093ee38a6d4f2a19e6ef1948ae05c181f7 di 4.14, dan diperbaiki di 6.18.22, 6.19.12, dan 7.0
- 6.19.12 dan 6.18.22 dirilis pada 11 April dengan backport perbaikan, tetapi pada saat itu Longterm 6.12, 6.6, 6.1, 5.15, dan 5.10 belum menerima perbaikannya
- Perbaikan tersebut tidak bisa clean apply ke kernel lama, dan dalam situasi yang membutuhkan distribusi segera, patch menonaktifkan modul
authencesn pada IPSec dapat digunakan sebagai mitigasi sementara
- Kerentanan kernel Linux tidak memberi pemberitahuan awal ke distro kecuali pelapor membawanya ke linux-distros ML, dan pada kasus ini juga tidak ada heads-up
Cakupan dampak dan status perbaikan CVE-2026-31431
- CopyFail adalah kerentanan eskalasi hak akses lokal pada kernel Linux, dan termasuk salah satu bug “make-me-root” paling serius di kernel belakangan ini
- Masalah ini diperkenalkan pada commit
72548b093ee38a6d4f2a19e6ef1948ae05c181f7 di 4.14, dan masing-masing diperbaiki di 6.18.22, 6.19.12, dan 7.0
- commit perbaikan 6.18.22
- commit perbaikan 6.19.12
- commit perbaikan 7.0
- 6.19.12 dan 6.18.22 dirilis pada 11 April dengan backport perbaikan sudah disertakan
- Longterm 6.12, 6.6, 6.1, 5.15, dan 5.10 belum menerima perbaikan saat itu, dan juga tidak terlihat di upstream stable queue
- Karena masalah ini diperkenalkan pada 2017, perlu dipastikan apakah kernel lama juga terdampak
Pemberitahuan awal ke distro dan mitigasi sementara
- Perbaikan tersebut tidak bisa clean apply ke kernel lama
- Backport sempat dicoba untuk situasi yang membutuhkan distribusi segera, tetapi sulit dilakukan dengan yakin karena ada beberapa perubahan API
- Sebagai mitigasi sementara, patch untuk menonaktifkan modul
authencesn pada IPSec dapat digunakan, dan bahkan bagi yang bukan ahli IPSec ini tergolong “pilihan yang lebih tidak buruk”
- 0001-crypto-disable-authencesn-module-for-CVE-2026-31431.patch: patch penonaktifan modul
authencesn untuk menangani CVE-2026-31431
- Kerentanan kernel Linux tidak memberi pemberitahuan awal ke distro kecuali pelapor membawanya ke linux-distros ML
- Pada kasus ini, tidak ada heads-up melalui linux-distros ML
1 komentar
Komentar Hacker News
Sam James, penulis tulisan yang ditautkan, adalah pengembang Gentoo
Bagaimanapun, ini nyaris seperti bencana, dan merilis exploit sebelum distro sempat mendistribusikan perbaikannya adalah tindakan yang sangat tidak bertanggung jawab
Tidak jelas berapa banyak penyedia shared hosting yang mungkin diretas gara-gara ini
Juga mengkhawatirkan bahwa tampaknya tidak ada komunikasi antara kernel security team dan maintainer distro
Orang mungkin berharap pihak pertama akan memberi tahu pihak kedua, tetapi kenyataannya tampak seperti orang yang menemukan kerentananlah yang harus memikul tanggung jawab itu
Sebagai referensi, Google Project Zero juga memakai kebijakan serupa, “90+30”: https://projectzero.google/vulnerability-disclosure-policy.h...
Masalah yang sebenarnya adalah tidak adanya saluran komunikasi antara kernel security team dan maintainer distro
Orang yang menemukan kerentanan seharusnya tidak dibebani tanggung jawab untuk melapor secara terpisah ke semua downstream
Tim kernel seharusnya memberi tahu daftar petugas keamanan distro tentang tingkat pentingnya patch dan jadwal pengungkapan 30 hari kemudian
Di halaman pengungkapannya bahkan ada frasa seperti “Is your software AI-era safe?”, “Copy Fail was surfaced by Xint Code about an hour of scan time against the Linux crypto/ subsystem”, “[Try Xint Code]”
Ini cara yang membuat produk terlihat lebih menarik ketika kekacauan makin besar
Ungkapan Responsible Disclosure adalah istilah yang secara linguistik dirancang dengan baik, seperti “Secure Boot”, dan dalam praktiknya tampak lebih untuk menjaga reputasi organisasi perantara perusahaan/fondasi antara saya dan komputer saya
Mereka lebih peduli mencegah orang berkata “RHEL rentan”, “Ubuntu rentan” daripada apakah komputer pribadi saya rentan
Kerentanannya tetap ada bagaimanapun juga, jadi menurut saya lebih baik punya kesempatan mengetahui risikonya dan menguranginya daripada hanya menunggu perbaikan diam-diam masuk
Dengan kata lain, saya menganggap pengungkapan segera adalah satu-satunya pilihan yang tidak tidak bertanggung jawab
Menjalankan workload tenant yang saling tidak percaya di bawah single shared kernel bukanlah ide yang baik
Kernel LPE bukan hal langka, dan kasus ini hanya sangat sederhana serta mudah dipindahkan, sementara capability mentahnya sendiri nyaris merupakan CNE commodity
Jika ingin melakukan shared hosting tanpa diretas, perlu memakai sarana lain seperti gVisor atau Firecracker VM
Mungkin Android adalah satu-satunya sistem penting yang memakai ini sebagai batas keamanan, dan itu pun dimitigasi dengan persetujuan pengguna untuk pemasangan APK, kebijakan SELinux dan seccomp yang ketat, serta hardening GrapheneOS
Dalam kasus ini pun mitigasinya berhasil: https://discuss.grapheneos.org/d/35110-grapheneos-is-protect...
Saya tidak mengerti alasan mengatakan hal seperti “untuk kerentanan Linux kernel, distro tidak mendapat pemberitahuan awal kecuali reporter sendiri yang membawanya langsung ke linux-distros ML”
Mengharapkan reporter untuk berkoordinasi langsung dengan distro mengandaikan tingkat pengetahuan yang sangat tinggi tentang proyek Linux
Pelapor kerentanan seharusnya tidak bertanggung jawab bekerja langsung dengan semua konsumen downstream Linux kernel
Kalau begitu, apakah mereka juga harus menghubungi semua produsen perangkat yang memakai Linux di peralatannya?
Menurut saya, pelapor sudah cukup bertanggung jawab dengan mengungkapkannya ke Linux dan menunggu sampai patch masuk
Seharusnya ada orang di dalam proyek Linux yang punya wewenang dan tanggung jawab atas kerentanan keamanan, dan merekalah yang harus memberi tahu distro downstream
https://docs.kernel.org/process/security-bugs.html
As such, the kernel security team strongly recommends that as a reporter of a potential security issue you DO NOT contact the “linux-distros” mailing list UNTIL a fix is accepted by the affected code’s maintainers and you have read the distros wiki page above and you fully understand the requirements that contacting “linux-distros” will impose on you and the kernel community.Paling tidak, memberi tahu tim keamanan distro-distro itu tampak seperti tindakan yang bertanggung jawab
Tampaknya mustahil mereka tidak tahu bahwa distro-distro itu adalah downstream dari tim kernel
Cukup cari di Google: https://share.google/aimode/eihDKXZJy94Z5lC1p
Sulit dipahami bagaimana hal ini tidak terpikirkan lalu semua orang justru dipaparkan ke exploit, dan saya tidak akan heran jika di beberapa yurisdiksi itu tergolong kejahatan berat
Pertukaran paling menarik terkait disclosure ada di tautan ini
https://www.openwall.com/lists/oss-security/2026/05/01/3
Ini adalah jawaban greg k-h: “Kami tidak bisa memberi tahu siapa pun sebelumnya, karena kalau begitu kami harus memberi tahu semua orang untuk semuanya. Itu satu-satunya kebijakan yang disetujui oleh lembaga hukum/pemerintah agar kami bisa beroperasi”
Kita seharusnya berhenti menyalahkan reporter dan menuntut agar proses kernel diperbaiki
Linux kernel bukan lagi proyek main-main, dan ada pegawai penuh waktu yang dipekerjakan oleh berbagai perusahaan
Mereka, bukan individu acak, yang seharusnya menangani pemberitahuan ke distro
Jika mereka tidak memasukkan penyebutan seperti RHEL 14, mungkin mereka tidak akan dikritik separah ini
Ini bukan situasi peneliti keamanan independen atau akademik, melainkan perusahaan keamanan dengan departemen komunikasi profesional yang menunjuk-nunjuk maintainer distro
Tetapi karena reporter tidak menunggu itu terjadi, orang sungguhan mungkin dirugikan, dan tanggung jawab atas itu ada pada reporter
Melepaskannya ke dunia tanpa lebih dulu memberi tahu distro-distro utama adalah tindakan yang tidak bertanggung jawab
Untuk orang yang memakai kernel dengan AF_ALG yang ditautkan langsung ke kernel, bukan sebagai modul, ada workaround berbasis eBPF di sini: https://github.com/Dabbleam/CVE-2026-31431-mitigation
Saat ini saya menjalankannya di production, ini memitigasi serangan, dan sejauh ini belum terlihat efek samping tak terduga
Menurut saya
nosuiddan mungkinnodevseharusnya menjadi filesystem mount option bawaan/devsudah berupa devtmpfs khusus, dan/devminimal dari initrd kalau diperlukan bisa didapat dengan me-mount initrd tmpfs rootfs secara eksplisit dengandevdansuidMembiarkan binary SUID bisa “ada” di mana saja adalah risiko keamanan besar
Saat me-mount media penyimpanan eksternal, bagaimana kita bisa memverifikasi bahwa binary SUID di block device itu tidak berbahaya?
Selain itu, exploit ini tampaknya hanya bekerja jika pengguna yang menjalankan binary SUID juga bisa membaca binary tersebut
Tidak ada alasan bagi pengguna non-root untuk memiliki izin baca atas binary SUID
NixOS menangani ini dengan benar
Direktori instalasi paket biasa,
/nix/store, tidak memiliki SUID, dan karena paket tidak bocor keluar dari sana, mountpoint lain bisa aman memakainosuidSatu-satunya pengecualian hanyalah direktori tujuan tunggal
/run/wrappers.$hash, yang aman menyimpan wrapper SUID executable-onlyBug yang dieksploitasi pada dasarnya memungkinkan page cache poisoning sewenang-wenang
Pada titik itu permainan pada dasarnya sudah selesai, dan menargetkan program suid mungkin memang cara termudah untuk mendapatkan root shell, tetapi bukan satu-satunya cara
Ada banyak cara lain
Jika tujuannya hanya memblokir exploit bukti konsep, metode yang lebih mudah seperti blacklist juga bisa dipakai, tetapi itu tidak membuat keadaan lebih aman
Kerentanan ini memungkinkan manipulasi terhadap page cache
Anda bisa memanipulasi
ld.sountuk memasang hook pada system call arbitrer, mengubah uid menjadi 0, atau menaikkan hak akses dengan berbagai cara lainMount point tidak ada hubungannya dengan masalah ini
Tentu saja, mencegah suid di area yang bisa ditulis pengguna dan mencegah pembacaan file suid selalu ide bagus, tetapi itu karena alasan lain
NixOS juga tidak bisa memperbaiki kerentanan ini dan tetap rentan seperti distro lainnya
Untuk mengeksekusi binary, isinya harus dibaca dari disk dan dimuat ke memori
Bahkan, jika suatu binary tertentu punya izin baca tetapi tidak punya izin executable, Anda masih bisa menjalankannya dengan memanggil linker secara langsung
Misalnya, jika Anda memanggil
/bin/ld.so.1 /path/to/binary, linker akan membaca dan memuat binary lalu melompat ke entry point tanpa memanggilexec()Tautan Bleeping Computer di bawah memuat langkah-langkah mitigasi potensial sampai patch siap
https://www.bleepingcomputer.com/news/security/new-linux-cop...
RHEL, Fedora, dan Gentoo semuanya dikonfigurasi untuk membangun kode ini langsung ke dalam kernel
Tanpa patch atau perubahan konfigurasi, seperti yang diisyaratkan Sam soal Gentoo, distro-distro itu akan tetap rentan
NixOS juga tidak menerima pemberitahuan
https://discourse.nixos.org/t/is-nixos-affected-by-copy-fail...
Hyperbola GNU aman karena alasan politik dan stabilitas masih memakai Python 3.8
Ubuntu sudah merilis patch, dan pengujian juga telah selesai sebelum dan sesudah patch