APT Ubuntu dan Debian Boleh Kene Hack?
Bug dalam APT boleh membolehkan pakej berbahaya dipasang sebagai root. Ini apa yang berlaku, siapa berisiko dan cara semak serta patch Linux kita.
Aku baru terbaca satu perkongsian Facebook tentang kelemahan keselamatan dalam Debian dan Ubuntu. Tajuk beritanya agak menakutkan: hacker boleh hijack software update dan jalankan kod sebagai root.
Bagi orang yang guna Ubuntu untuk homelab macam aku, benda ni memang buat aku ambil perhatian. Sebab bila kita run sudo apt update atau sudo apt upgrade, kita sebenarnya percayakan sistem tu untuk ambil perisian yang betul.
Jadi, betul ke hacker boleh selit perisian jahat ketika kita update Linux?
Apa sebenarnya yang berlaku?
Pada 4 November 2026, Debian mengumumkan kelemahan CVE-2026-109518 dalam APT. Penyelidik Max Justicz menemui masalah ini. Ubuntu juga mengeluarkan pembaikan dan memberikan skor CVSS 7.7/10, kategori High.
APT ialah package manager yang mengurus pemasangan dan kemas kini perisian dalam Debian, Ubuntu dan beberapa distro berasaskannya. Secara biasa, APT menggunakan maklumat repositori yang ditandatangani secara kriptografi untuk memastikan pakej yang diterima sepadan dengan apa yang dipercayai.
Masalahnya, terdapat satu keadaan tertentu apabila APT boleh tersalah mengendalikan fail muat turun. Selepas HTTP redirect dan percubaan semula (retry), dua muat turun boleh berkongsi lokasi fail melalui mekanisme hard link. Penyerang yang mengawal trafik HTTP di tengah laluan berpotensi menggantikan kandungan pakej selepas proses pengesahan, tetapi sebelum pemasangan.
Hasilnya? Pakej yang sebenarnya tak dipercayai boleh terus terinstall.
Kenapa perkataan 'root' tu serius?
Dalam Linux, root ialah akaun dengan kuasa pentadbiran tertinggi. Pakej .deb boleh mengandungi skrip pemasangan yang dilaksanakan dengan keistimewaan root.
Jadi kalau penyerang berjaya menyelitkan pakej berbahaya melalui kelemahan ini, kesannya bukan setakat aplikasi rosak. Kod penyerang mungkin mendapat kawalan tahap root pada mesin tersebut.
Untuk server yang menyimpan gambar, backup atau data peribadi, malah yang lebih teruk lagi, sekiranya server menyimpan sebarang kredential seperti API key, password, bank login, ini memang bukan perkara kecil.
Adakah semua Ubuntu dan Debian dah kena hack?
Tak. Kewujudan CVE bukan bukti bahawa semua mesin sudah diceroboh.
Menurut penjelasan rasmi Ubuntu, eksploit ini memerlukan beberapa keadaan:
-
Penyerang mesti boleh memanipulasi trafik HTTP antara komputer dengan pelayan repositori, contohnya melalui on-path attack, proxy berbahaya atau mirror yang dikompromi.
-
APT mesti mengikuti redirect dan melakukan percubaan semula muat turun.
-
Tetapan
Acquire::Retriesmesti lebih besar daripada sifar. -
Mesin sedang melakukan proses pemasangan atau kemas kini pakej yang boleh dieksploitasi.
Nilai retry bukan sifar menjadi tetapan lalai pada Debian 12 dan Ubuntu 22.04 LTS serta keluaran baharu yang berkenaan. Versi lebih lama mungkin terdedah juga jika tetapan tersebut diubah.
Ini bukan jenis bug yang membolehkan sesiapa saja terus masuk ke server hanya kerana server itu online. Tetapi bila syarat tadi bertemu, kesannya boleh jadi sangat serius.
Penggunaan repositori melalui HTTPS membantu menghalang manipulasi trafik di tengah laluan. Cuma HTTPS sahaja bukan pengganti patch, khususnya jika mirror itu sendiri berniat jahat.
Macam mana nak tahu versi APT kita selamat?
Debian dan Ubuntu sudah menyediakan versi pembaikan. Antara versi minimum yang disenaraikan dalam Debian Security Tracker dan rekod CVE Ubuntu ialah:
SistemVersi APT yang telah ditampalDebian 12 (Bookworm)2.6.2Debian 13 (Trixie)3.0.4Ubuntu 22.04 LTS2.4.15ubuntu0.1Ubuntu 24.04 LTS2.8.4ubuntu0.1Ubuntu 26.04 LTS3.2.1ubuntu0.1Ubuntu 26.103.3.3ubuntu0.1
Penting: Jangan bandingkan nombor versi merentas distro secara membuta tuli. Debian dan Ubuntu menggunakan binaan dan nombor versi yang berlainan. Semak berdasarkan keluaran yang kau pakai. Untuk Ubuntu 20.04 dan lebih lama, pembaikan tertakluk pada saluran sokongan Ubuntu Pro/ESM yang berkenaan.
Mula-mula, periksa sistem:
cat /etc/os-release
apt-cache policy apt
Arahan pertama menunjukkan versi Ubuntu atau Debian. Arahan kedua menunjukkan versi APT yang sedang Installed dan versi Candidate yang tersedia dari repositori. Kalau Candidate belum menunjukkan versi yang ditampal, periksa sumber pakej dan status sokongan distro sebelum buat andaian semuanya selamat.
Langkah untuk atasi sekarang
Menurut panduan rasmi Ubuntu, mematikan sementara retry ketika memasang patch ialah mitigasi terhadap syarat eksploit ini.
Untuk Ubuntu atau Debian yang menggunakan APT, boleh jalankan:
sudo apt -o Acquire::Retries=0 update
sudo apt -o Acquire::Retries=0 upgrade
Pastikan arahan pertama selesai tanpa ralat sebelum meneruskan arahan kedua. Baca senarai perubahan yang dipaparkan sebelum mengesahkan pemasangan, terutamanya pada server yang menjalankan banyak servis.
Kemudian semak semula:
apt-cache policy apt
Untuk pengguna Ubuntu, ada juga semakan bagi semua pakej yang datang daripada sumber APT:
apt list --installed '?source-package(^apt$)'
Kalau belum dapat update, Acquire::Retries=0 boleh dijadikan perlindungan sementara ketika menjalankan APT. Tapi jangan anggap ia penyelesaian kekal. Patch APT tetap perlu dipasang.
Elakkan juga mengubah tetapan pengesahan pakej kepada tidak selamat atau menambah repositori yang tidak dikenali semata-mata nak cepat selesai.
Apa kaitannya dengan homelab aku?
Aku menggunakan Ubuntu untuk menjalankan beberapa servis self-hosted melalui Docker. Ada servis seperti Immich untuk gambar, Vaultwarden untuk password, dan aplikasi lain yang bergantung pada kestabilan mesin Linux.
Walaupun aplikasi tu berada dalam container, host Ubuntu tetap perlu dijaga. Docker tak menjadikan host kebal daripada kelemahan pengurusan pakej.
Jadi pendekatan yang lebih masuk akal untuk homelab aku ialah:
-
Semak versi Ubuntu dan APT pada host sebenar, bukan setakat dalam container.
-
Pastikan backup konfigurasi dan data penting ada sebelum upgrade besar.
-
Pasang patch keselamatan, kemudian semak semula versi yang telah dipasang.
-
Semak sama ada servis perlu restart dan pastikan container kembali berfungsi seperti biasa.
-
Kekalkan sumber pakej yang dipercayai, pantau kemas kini keselamatan dan gunakan HTTPS apabila mirror menyokongnya.
Kalau ada bukti mesin sudah diceroboh, update APT sahaja tidak semestinya membuang perisian berbahaya. Itu memerlukan siasatan keselamatan dan pemulihan berasingan.
Adakah serangan siber sekarang makin menjadi-jadi?
Aku faham kenapa rasa macam tu. Hari-hari ada berita CVE baharu, data bocor, ransomware dan sebagainya.
Tapi kena bezakan antara kelemahan yang baru ditemui, cubaan eksploit dan serangan yang sudah disahkan berlaku. Tiga benda ni bukan perkara yang sama. Laporan CVE ini mengesahkan risiko teknikal yang serius, bukan bukti bahawa semua pengguna Linux sudah menjadi mangsa.
Bagi aku, pengajaran paling penting bukanlah nak takut guna Linux. Sebaliknya, jangan anggap proses update itu kebal daripada bug hanya sebab ia sebahagian daripada sistem operasi.
Ironinya, kita update sistem untuk jadi lebih selamat. Kali ni, komponen yang mengurus update tu sendiri yang perlu diupdate.
Kalau kau guna Debian atau Ubuntu, cuba semak versi APT hari ni. Tak perlu panik, tapi jangan tangguh patch keselamatan.
Jumpa lagi.
Komen
Login GitHub untuk komen dan react. Komen disimpan dalam GitHub Discussions.