Categories: Tutorial

CVE-2026-31431 Copy Fail: Panduan Lengkap Perbaikan Keamanan Linux Server

Pada akhir April 2026, dunia keamanan siber digemparkan oleh publikasi CVE-2026-31431, sebuah kerentanan pada kernel Linux yang dijuluki “Copy Fail”. Vulnerability ini memungkinkan pengguna lokal tanpa hak istimewa untuk mendapatkan akses root hanya dalam hitungan detik dengan skrip Python sepanjang 732 bytes. Artikel ini akan membahas secara detail apa itu Copy Fail, cara mengecek apakah server Anda terkena dampak, serta solusi lengkap untuk melindungi sistem Anda.

Apa Itu Copy Fail (CVE-2026-31431)?

Copy Fail adalah logic flaw di kernel Linux yang bersembunyi sejak tahun 2017. Kerentanan ini berada di subsistem “algif_aead” antarmuka kriptografi userspace yang diakses melalui socket AF_ALG. Ditemukan oleh peneliti dari Theori (Xint), celah ini memungkinkan penulisan 4 byte data secara terkontrol ke dalam page cache file apa pun yang dapat dibaca.

Cara kerjanya menggabungkan tiga komponen kernel:

  • authencesn scratch write ” Algoritma authencesn (digunakan oleh IPsec) menulis 4 byte data melebihi batas output yang ditentukan, efek samping dari optimasi in-place tahun 2017.
  • AF_ALG socket Antarmuka socket ini mengekspos operasi kriptografi kernel ke userspace tanpa memerlukan hak istimewa khusus.
  • splice() system call ” Melewatkan halaman page cache file langsung ke scatterlist tujuan yang dapat ditulisi oleh operasi kriptografi.

Dengan mengulangi primitif ini sekitar 40 kali, penyerang dapat menyuntikkan shellcode ke dalam cached copy dari binary setuid seperti /usr/bin/su. Saat binary tersebut dijalankan, kernel memuat versi page cache yang sudah rusak, dan shellcode berjalan sebagai root.

Catatan penting: File di disk tidak pernah dimodifikasi. Kernel tidak pernah menandai halaman yang rusak sebagai “dirty”. Semua alat pemantauan integritas file seperti AIDE, Tripwire, Wazuh, dan OSSEC tidak akan mendeteksi apa pun. Serangan ini sepenuhnya berada di memori.

Mengapa Copy Fail Sangat Berbahaya?

Tidak seperti kerentanan privilege escalation sebelumnya (Dirty Cow, Dirty Pipe), Copy Fail memiliki beberapa karakteristik yang membuatnya sangat berbahaya:

  • Deterministik: Tidak memerlukan race condition atau timing window. Exploit bekerja secara konsisten setiap kali dijalankan.
  • Universal: Bekerja identik di semua distribusi (Ubuntu, RHEL, Debian, SUSE, Amazon Linux) tanpa modifikasi versi-spesifik.
  • Minimal: Hanya 732 bytes Python dengan modul standard library tidak perlu kompilasi atau payload khusus.
  • Memory-resident: Melewati semua deteksi berbasis disk. File integrity checker tidak melihat perubahan.
  • Container escape: Karena page cache dibagi antar container di node yang sama, Copy Fail menjadi ancaman untuk lingkungan multi-tenant.

Versi kernel yang terpengaruh: Linux kernel 4.14 hingga 7.0-rc, semua 6.18.x sebelum 6.18.22, dan 6.19.x sebelum 6.19.12 (regresi diperkenalkan di 4.14, Juli 2017). Versi yang sudah diperbaiki: 7.0, 6.19.12, 6.18.22.

Cara Mengecek Apakah Server Anda Terkena Dampak

1. Cek versi kernel

uname -r

Bandingkan dengan daftar versi rentan di atas. Jika versi kernel Anda termasuk dalam rentang yang terpengaruh, lanjutkan ke langkah berikutnya.

2. Cek apakah modul algif_aead ter-load

lsmod | grep algif_aead

Jika perintah di atas mengembalikan output, modul aktif dan server Anda berpotensi rentan.

3. Cek proses yang menggunakan AF_ALG socket

lsof | grep AF_ALG
ss -xa | grep alg

4. Verifikasi patch sudah terinstall

Untuk distribusi Debian/Ubuntu:

apt list --installed 2>/dev/null | grep linux-image
dpkg -l | grep linux-image-$(uname -r)

Untuk distribusi RHEL/AlmaLinux/Rocky:

rpm -q kernel
uname -r

Cari tahu di halaman CVE Ubuntu atau halaman CVE Red Hat apakah versi kernel Anda sudah termasuk rilis yang diperbaiki.

Solusi 1: Mitigasi Tanpa Reboot (seccomp & modprobe)

Jika Anda belum bisa melakukan reboot server, ada dua metode mitigasi sementara yang efektif:

Metode A: Blacklist modul algif_aead

Ini adalah cara tercepat untuk menonaktifkan jalur kode yang rentan tanpa reboot:

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null || true

Verifikasi:

lsmod | grep algif_aead
# Seharusnya tidak mengembalikan output apa pun

Catatan: Langkah ini tidak memerlukan reboot. Modul akan tetap tidak aktif meskipun server di-restart. Dampak pada workload produksi sangat minim dm-crypt, LUKS, kTLS, IPsec, OpenSSL, GnuTLS, SSH, dan kernel keyring tidak menggunakan AF_ALG.

Metode B: Seccomp blocker (tanpa modprobe)

Untuk container atau lingkungan yang tidak bisa memuat kernel module, gunakan seccomp profile untuk memblokir AF_ALG socket:

{
  "defaultAction": "SCMP_ACT_ALLOW",
  "syscalls": [
    {
      "names": ["socket"],
      "action": "SCMP_ACT_ERRNO",
      "args": [
        {
          "index": 0,
          "value": 38,
          "op": "SCMP_CMP_EQ"
        }
      ]
    }
  ]
}

Simpan sebagai afalg-blocker.json dan terapkan ke container Docker dengan:

docker run --security-opt seccomp=afalg-blocker.json ...

Atau terapkan cluster-wide di Kubernetes via Kyverno atau OPA Gatekeeper untuk memblokir address family 38 pada level admission controller.

Solusi 2: Update Kernel + Reboot (Paling Aman)

Ini adalah solusi paling permanen dan paling aman. Patch upstream (commit a664bf3d603d) mengembalikan operasi in-place ke out-of-place, secara permanen memisahkan halaman page cache dari scatterlist yang dapat ditulisi.

Debian / Ubuntu

sudo apt update
sudo apt list --upgradable 2>/dev/null | grep linux-image
sudo apt install linux-image-$(uname -r | sed 's/-generic//')-generic
sudo reboot

RHEL / AlmaLinux / Rocky Linux

sudo dnf update kernel
sudo reboot

Verifikasi setelah reboot

uname -r
# Pastikan versi kernel >= 6.18.22, >= 6.19.12, atau >= 7.0

Periksa halaman CVE distro Anda untuk memastikan versi kernel yang terinstall sudah termasuk fix: Ubuntu, Red Hat, Debian.

Solusi 3: KernelCare Live Patch (Paling Profesional)

Untuk lingkungan production yang membutuhkan zero downtime, live kernel patching adalah solusi paling profesional:

KernelCare (sekarang bagian dari TuxCare) menyediakan live patch untuk berbagai distribusi enterprise. Keuntungannya:

  • Patch diterapkan tanpa reboot tidak ada downtime server
  • Mendukung RHEL, Ubuntu, Debian, CentOS, AlmaLinux, Rocky Linux
  • Patch otomatis melalui agen KernelCare yang berjalan di background
  • Coverage untuk kernel vulnerability kritis termasuk CVE-2026-31431
  • Lisensi berbayar per server per tahun

Alternatif live patch lainnya:

  • Canonical Livepatch Gratis untuk hingga 3 mesin Ubuntu, berbayar untuk lebih
  • kpatch (Red Hat) Tersedia untuk pelanggan RHEL dengan subscription yang sesuai
  • Ksplice (Oracle) Untuk Oracle Linux

Perlindungan untuk Container & Kubernetes

Lingkungan containerized memiliki risiko ekstra karena page cache dibagi di antara semua pod pada node yang sama. Berikut langkah-langkah perlindungan spesifik:

  • Terapkan seccomp profile kustom: Jangan andalkan RuntimeDefault saja profile default tidak memblokir AF_ALG (address family 38).
  • Audit SUID binary: Jalankan find / -perm -4000 -type f di image container Anda dan hapus SUID bit dari binary yang tidak diperlukan.
  • Gunakan Pod Security Standards (PSS): Setel ke level Restricted untuk meminimalkan permukaan serangan.
  • Admission controller: Gunakan Kyverno atau OPA Gatekeeper untuk memblokir pod tanpa seccomp profile yang memadai.

Deteksi dengan Falco / Sysdig

Runtime detection sangat penting untuk mengetahui apakah ada upaya eksploitasi di sistem Anda. Sysdig Secure dan Falco menyediakan aturan deteksi untuk CVE-2026-31431:

- rule: Unexpected Process Using Kernel AEAD Crypto Socket
  desc: >
    Detects creation of an AF_ALG SEQPACKET socket the kernel AEAD crypto
    API interface required by CVE-2026-31431, from processes outside known
    disk-encryption toolchain.
  condition: >
    evt.type = socket and evt.rawres >= 0 and
    (evt.arg.domain contains AF_ALG or evt.rawarg.domain = 38) and
    (evt.arg.type = 5 or evt.arg.type = 2053 or
     evt.arg.type = 524293 or evt.arg.type = 526341) and
    not proc.name in (cryptsetup, systemd-cryptse,
                      systemd-cryptsetup, veritysetup,
                      integritysetup, kcapi-enc, kcapi-dgst,
                      kcapi-rng, kcapi-sym)
  priority: CRITICAL

Kesimpulan

CVE-2026-31431 (Copy Fail) adalah salah satu kerentanan privilege escalation paling serius dalam satu dekade terakhir. Dengan skrip 732 bytes yang bisa dijalankan oleh siapa pun yang memiliki akses lokal ke server, konsekuensinya sangat luas terutama untuk lingkungan shared hosting, CI/CD, Kubernetes, dan server dengan banyak tenant.

Tindakan prioritas yang harus dilakukan sekarang:

  1. Segera Blacklist modul algif_aead (butuh 2 menit, tanpa reboot)
  2. Hari ini Terapkan patch kernel dan jadwalkan reboot
  3. Minggu ini Audit SUID binary dan perkuat seccomp profile di semua container
  4. Bulan ini Pertimbangkan live patch solution untuk respons zero-downtime di masa depan

Jangan menunda. Copy Fail sudah memiliki exploit publik dan enam implementasi berbeda di GitHub dalam waktu 24 jam setelah publikasi. Setiap server yang belum dipatch adalah target yang sah.

Baca juga artikel terkait: Cara Cek Kuota Internet Semua Operator 2026 Panduan lengkap untuk menjaga koneksi internet Anda tetap stabil dan aman.

Referensi: Ubuntu Security Blog | Sysdig | ZENDATA | Mondoo

Khairun Nisa

Share
Published by
Khairun Nisa

Recent Posts

Cara Cek Kuota Internet Semua Operator 2026: Panduan Lengkap & Terbaru

Berikut informasi cara cek kuota terbaru terlengkap

1 minggu ago

Bahaya SIM SWAP & Cara Menghindarinya

Pengantar Di era digital yang semakin maju, keamanan data pribadi menjadi hal yang krusial. Salah…

1 tahun ago

Solusi Usaha di Tengah Ekonomi Sulit & PHK di Mana-Mana

Solusi usaha di tengah ekonomi sulit & PHK! Mulai bisnis pulsa, kuota, PLN, BPJS dengan…

1 tahun ago

Ini Tips Berhemat Dikala Efisiensi Pemerintah

Temukan tips dikala pemerintah efisien yang praktis dan efektif dalam mengelola keuangan untuk hidup lebih…

1 tahun ago

Cara Mudah Mendapatkan Kuota Belajar Telkomsel

Telkomsel sebagai salah satu operator seluler terbesar di Indonesia, turut mendukung program Merdeka Belajar Jarak…

2 tahun ago

Ketahui Perbedaan Kartu Prabayar dan Pascabayar, Mana yang Lebih Unggul?

Setidaknya ada dua jenis kartu perdana yang biasa digunakan dalam berkomunikasi, yakni prabayar dan pascabayar.…

8 tahun ago

This website uses cookies.