All Products
Search
Document Center

Alibaba Cloud Linux:Menonaktifkan family protokol AF_ALG pada Alibaba Cloud Linux

Last Updated:Jun 10, 2026

CVE-2026-31431 adalah kerentanan peningkatan hak istimewa lokal berseverity tinggi pada kernel Linux. Dokumen ini menjelaskan cara menerapkan mitigasi sementara dengan menonaktifkan pembuatan socket AF_ALG menggunakan RPM livepatch—tanpa perlu reboot. Terapkan mitigasi ini hanya jika layanan Anda tidak bergantung pada socket AF_ALG.

Peringatan
  1. Setelah menerapkan solusi ini, proses apa pun yang bergantung pada socket AF_ALG akan gagal membuatnya, yang dapat menyebabkan layanan Anda tidak tersedia. Jangan terapkan solusi ini kecuali Anda yakin layanan Anda tidak bergantung pada socket AF_ALG.

  2. Solusi ini membawa risiko stabilitas. Terapkan secara bertahap—jangan langsung diterapkan ke seluruh lingkungan produksi sekaligus.

  3. Selama penerapan bertahap, pantau secara ketat stabilitas layanan, log error, dan metrik performa. Segera kembalikan ke kondisi semula jika Anda mendeteksi anomali apa pun.

Latar Belakang

CVE-2026-31431 adalah kerentanan peningkatan hak istimewa lokal berseverity tinggi pada modul algif_aead kernel Linux.

Dengan menyusun urutan tertentu dari panggilan socket AF_ALG yang dikombinasikan dengan panggilan sistem splice(), penyerang dapat melewati pemeriksaan izin standar dan melakukan penulisan tidak sah sebesar 4 byte ke cache halaman file arbitrer. Penyerang mengeksploitasi celah ini untuk mengubah citra dalam memori program setuid seperti /usr/bin/su, sehingga meningkatkan hak dari pengguna biasa menjadi root tanpa mengubah konten file di disk.

Untuk informasi lebih lanjut, lihat [Pemberitahuan Keamanan] Risiko kerentanan peningkatan hak istimewa lokal pada kernel Linux (CVE-2026-31431).

Batasan

Mitigasi ini menonaktifkan semua operasi Enkripsi dan dekripsi yang menggunakan socket AF_ALG di level kernel. Layanan yang bergantung pada operasi tersebut akan berhenti berfungsi. Pastikan apakah layanan Anda bergantung pada socket AF_ALG sebelum menerapkan mitigasi ini. Jika Anda tidak yakin apakah layanan Anda bergantung pada fitur socket AF_ALG, jangan lanjutkan.

Untuk memeriksa apakah layanan Anda menggunakan socket AF_ALG untuk operasi kriptografi tingkat kernel, gunakan auditd atau eBPF (extended Berkeley Packet Filter) untuk memantau pembuatan socket AF_ALG. Contoh berikut menggunakan auditd:

# Pertama, pastikan layanan auditd telah diaktifkan.
systemctl start auditd

# Jika aturan audit lain sudah dikonfigurasi di sistem, backup terlebih dahulu dan evaluasi dampaknya.
# Tambahkan aturan audit untuk socket AF_ALG.
auditctl -a always,exit -F arch=b64 -S socket -F a0=38 -k afalg_socket

# Setelah periode tertentu, periksa hasil audit.
ausearch -k afalg_socket -ts recent -i

# Hasil yang diharapkan: Jika ada proses yang membuat socket AF_ALG selama periode ini, catatan audit akan ditampilkan.

# Setelah selesai, hapus aturan audit untuk socket AF_ALG.
auditctl -d always,exit -F arch=b64 -S socket -F a0=38 -k afalg_socket
Catatan

Pemeriksaan ini hanya sebagai referensi dan tidak dapat sepenuhnya menjamin tidak adanya ketergantungan pada AF_ALG. Tinjau juga kode sumber aplikasi, daftar dependensi, dan perilaku waktu proses Anda.

Terapkan mitigasi

Penting

Sebelum melanjutkan, pastikan bahwa layanan Anda tidak bergantung pada fungsionalitas socket AF_ALG dan Anda dapat menerima batasan pada fitur terkait AF_ALG.

Langkah 1: Periksa prasyarat

Sebelum menerapkan, verifikasi bahwa sistem Anda memenuhi kedua kondisi berikut:

  1. Kernel telah mengaktifkan dukungan livepatch.

  2. Paket kernel-devel untuk versi kernel saat ini telah terinstal.

# 1. Periksa apakah paket kernel-devel untuk kernel yang sedang berjalan telah terinstal.
test -d "/lib/modules/$(uname -r)/build" && echo "kernel-devel OK" || echo "Silakan instal kernel-devel-$(uname -r)"

# Jika paket belum terinstal, instal dengan perintah berikut:
sudo yum install -y kernel-devel-$(uname -r)

# 2. Periksa apakah dukungan livepatch telah diaktifkan di kernel.
test -d /sys/kernel/livepatch && echo "livepatch sysfs OK"

Langkah 2: Instal paket RPM

# 1. Unduh paket RPM sesuai versi sistem operasi Anda. (Tautan unduhan dilindungi oleh allowlist. Untuk mendapatkan tautan resmi, bergabunglah ke grup DingTalk 179525012975.)

# 2. Instal paket RPM. Contohnya, pada Alibaba Cloud Linux 3:
sudo yum install disable-af-alg-livepatch-1.0.0-1.al8.noarch.rpm
Jika Anda memperbarui kernel, instal ulang paket RPM yang sesuai agar mitigasi tetap aktif.

Langkah 3: Verifikasi mitigasi

Metode 1: Periksa status livepatch

Metode ini berlaku untuk Alibaba Cloud Linux 3 dan Alibaba Cloud Linux 4:

# Periksa status livepatch.
kpatch list

# Output yang diharapkan: "disable_af_alg [enabled]" muncul dalam daftar "Loaded patch modules:".

Metode 2: Verifikasi pemblokiran socket AF_ALG

Jalankan skrip Python berikut untuk memastikan pembuatan socket AF_ALG diblokir:

python3 - <<'PY'
import socket, errno
try:
    s = socket.socket(38, socket.SOCK_SEQPACKET, 0)  # 38 = AF_ALG
    print("AF_ALG socket create: SUCCESS (Mitigation is not effective)")
    s.close()
except OSError as e:
    if e.errno == errno.EAFNOSUPPORT:
        print(f"AF_ALG socket create: FAILED (Mitigation is effective)")
    else:
        print(f"AF_ALG socket create: FAILED (Unexpected error),errno={e.errno}, msg={e.strerror}")
PY

Pengembalian (Rollback)

Jika Anda mengalami gangguan layanan setelah penerapan, uninstall mitigasi tersebut:

sudo yum remove disable-af-alg-livepatch

Setelah menguninstall, jalankan skrip verifikasi untuk memastikan intersepsi socket AF_ALG telah dihapus.