Jika server instansi Anda menjalankan PostgreSQL, tanggal 12 November 2026 adalah jadwal wajib update. PostgreSQL Global Development Group merilis pembaruan untuk seluruh versi yang masih didukung: 18.7, 17.12, 16.16, 15.20, dan 14.25, plus PostgreSQL 19 RC 2. Total ada 52 kerentanan keamanan dan lebih dari 140 perbaikan bug dalam satu rilis ini. Sebagian besar celah tersebut bertingkat keparahan tinggi dan berujung pada eksekusi kode di server database.
Apa yang sebenarnya ditambal?
Dari daftar resmi PostgreSQL, puluhan CVE memiliki skor CVSS 8.8 dengan pola yang sama: executes arbitrary code alias penyerang bisa menjalankan kode sebagai user sistem operasi yang menjalankan database. Contohnya CVE-2026-6460 (type confusion setelah ALTER ... SET DATA TYPE), CVE-2026-120151 (type confusion pada record PL/pgSQL), CVE-2026-120150 (use-after-free pada domain check), CVE-2026-120149 (FDW batch-insert), serta CVE-2026-116317 dan CVE-2026-116315 pada fungsi pencarian teks.
Kabar yang sedikit melegakan: vektor serangan CVE-CVE utama tersebut adalah AV:N/AC:L/PR:L — penyerang harus sudah punya akun database yang valid, bukan pengguna anonim dari internet. Artinya risiko terbesar ada di server dengan banyak akun aplikasi, password lemah, atau satu akun dipakai bersama oleh beberapa aplikasi. Beberapa celah lain justru di sisi klien: CVE-2026-116314 membuat pg_restore bisa mengeksekusi kode saat membuka arsip berbahaya, dan CVE-2026-116330 menyangkut command injection lewat pg_dump format tar. Ada juga CVE-2026-116322, pre-authentication cancel request yang bisa membuat spinlock bocor (skor 5.3).
PostgreSQL 14 resmi habis masa dukungan
Rilis 14.25 adalah pembaruan terakhir untuk PostgreSQL 14. Setelah ini, tidak ada lagi tambalan keamanan untuk versi tersebut. Jika masih ada server produksi di 14.x — misalnya aplikasi lama yang dipasang vendor — sebaiknya mulai disusun rencana upgrade major ke 15 atau lebih baru, karena tetap di versi EOL berarti menumpuk celah yang tidak akan pernah ditutup.
Langkah update yang aman
Update minor PostgreSQL tidak memerlukan dump dan reload, juga tidak perlu pg_upgrade. Cukup hentikan layanan, perbarui binary, lalu jalankan kembali. Tetap lakukan dengan urutan yang tertib:
- Cek versi yang berjalan:
psql -c "SELECT version();". Catat nomor minor dan lokasi instalasinya. - Backup dulu. Untuk database kecil,
pg_dumpall -U postgres > /backup/all-$(date +%F).sqlsudah memadai. Untuk database besar, gunakanpg_basebackupke direktori terpisah. - Perbarui paket. Di Debian/Ubuntu:
sudo apt update && sudo apt install --only-upgrade postgresql-16. Di RHEL/AlmaLinux:sudo dnf update postgresql16-server. Sesuaikan nomor versi mayor dengan instalasi Anda. - Restart layanan:
sudo systemctl restart postgresql, lalu pastikan statusnya active. - Verifikasi: ulangi perintah
SELECT version();dan cek aplikasi utama masih bisa membaca serta menulis data.
Pekerjaan setelah update: reindex
Selain celah keamanan, rilis ini memperbaiki beberapa kasus korupsi indeks. PostgreSQL menyarankan langkah tambahan berikut, dan ini sering terlewat:
- Indeks GIN yang dicurigai terdampak perlu di-reindex:
REINDEX INDEX nama_index; - Indeks GiST pg_trgm (
gist_trgm_ops) wajib di-reindex setelah update. - Jika muncul error missing chunk number, reindex tabelnya:
REINDEX TABLE nama_tabel;— indeks TOAST ikut diperbaiki. - Indeks B-tree pada kolom bpchar tanpa panjang juga perlu di-reindex. Kolom
char(n)tidak terdampak. - Pengguna incremental backup disarankan mengambil full backup baru setelah update, lalu memakainya sebagai basis increment berikutnya.
- Untuk tabel partisi, cari constraint bermasalah dengan query resmi:
SELECT conrelid::regclass, conname FROM pg_constraint WHERE contype = 'n' AND connoinherit AND conrelid IN (SELECT oid FROM pg_class WHERE relkind = 'p');
Jika belum bisa update hari ini
Mitigasi sementara tidak menggantikan patch, tetapi menurunkan peluang eksploitasi:
- Batasi akses jaringan: pastikan
listen_addressestidak terbuka ke publik danpg_hba.confhanya mengizinkan host aplikasi yang benar-benar perlu. - Hapus atau nonaktifkan akun uji dan akun default, lalu rotasi password akun aplikasi.
- Cabut hak
CREATEpada schemapublicdari peran umum, karena banyak CVE di atas butuh kemampuan membuat objek. - Audit extension yang terpasang, khususnya plperl, pltcl, dan dblink yang menjadi jalur beberapa kerentanan.
- Pantau log untuk pola aneh seperti error type cast berulang atau koneksi dari alamat asing.
Catatan untuk pengelola TI instansi
Jadwalkan update pada jam sepi, siapkan jendela pemeliharaan tertulis, dan simpan backup di lokasi berbeda dari server database. Untuk instansi dengan banyak aplikasi menempel di satu server, update ini juga momen yang tepat untuk memisahkan akun database per aplikasi dan mencatat siapa pemilik tiap akun. PostgreSQL 19 sendiri dijadwalkan rilis umum pada 19 November 2026, jadi setelah update minor ini selesai, susun rencana evaluasi ke versi 18 atau 19 untuk tahun depan.
Sumber: PostgreSQL 18.7, 17.12, 16.16, 15.20, 14.25, and 19 RC 2 Released (postgresql.org), PostgreSQL Security Information, dan The Hacker News.
