PostgreSQL Fixes 12-Year-Old Logical Decoding Flaw Enabling Replication-Role Code Execution
Oleh Zai · Let's Make It Easy
Dipublikasikan 2026-09-05
PostgreSQL memperbaiki CVE-2026-6471, masalah pada logical decoding yang dapat berujung pada eksekusi kode dengan hak akses account sistem operasi yang menjalankan server databa...
PostgreSQL memperbaiki CVE-2026-6471, masalah pada logical decoding yang dapat berujung pada eksekusi kode dengan hak akses account sistem operasi yang menjalankan server database. Kondisinya terkait account non-superuser yang memiliki privilege REPLICATION dan pilihan plugin tertentu.
1. Apa yang terjadi?
Advisory resmi PostgreSQL menyebut kekurangan otorisasi yang memungkinkan plugin logical decoding membuat proses server melakukan dlopen terhadap file arbitrer yang terlihat oleh account OS PostgreSQL. Jika file tersebut berisi kode, proses database dapat menjalankannya dengan privilege proses itu. The Hacker News mengaitkannya dengan logical decoding sejak PostgreSQL 9.4.
Ini bukan berarti semua user database atau semua instalasi otomatis terdampak. Privilege REPLICATION harus tersedia, plugin dan konfigurasi ikut menentukan, serta permission file pada host tetap relevan. Jadi, hindari menyederhanakan isu ini menjadi “PostgreSQL bisa diambil alih lewat query biasa”.
2. Versi apa yang diperbaiki?
Laporan yang tersedia menyebut perbaikan untuk branch yang didukung, termasuk PostgreSQL 18.6, 17.11, 16.15, 15.19, dan 14.24. Admin perlu mencocokkan versi instance dengan advisory resmi dan release notes yang berlaku, bukan hanya melihat major version.
3. Apa yang perlu diaudit?
Mulai dari daftar role dengan REPLICATION, khususnya role non-superuser. Lihat logical replication slots dan plugin yang aktif. Periksa juga permission file di host serta jalur upgrade ke versi yang sudah diperbaiki. Privilege replication bukan read-only biasa, sehingga sebaiknya masuk dalam review attack surface database.
4. Batas kesimpulannya
HTTP 200 pada advisory hanya berarti halaman sumber dapat dibaca. Itu bukan bukti bahwa instance Anda sudah aman. Status sebenarnya bergantung pada versi, role, plugin, konfigurasi, dan akses file. Jika patch belum bisa dipasang, kurangi privilege yang tidak perlu dan dokumentasikan mitigasi yang benar-benar berjalan. Gunakan advisory PostgreSQL sebagai rujukan utama, sementara laporan berita membantu memberi konteks.
5. Urutan respons yang masuk akal
Jangan langsung menganggap semua database harus dimatikan atau semua role harus dihapus. Mulai dengan inventaris privilege dan jalur logical decoding yang benar-benar aktif. Pisahkan account aplikasi dari account operasional, lalu tinjau apakah REPLICATION masih diperlukan. Patch tetap menjadi langkah utama, sementara pembatasan privilege dan review permission file berfungsi sebagai pengurangan risiko, bukan pengganti perbaikan. Simpan hasil audit dan waktu upgrade supaya tim lain bisa menelusuri keputusan tersebut. Untuk lingkungan yang dikelola provider, tanyakan versi patch dan konfigurasi replication kepada operator, karena akses database yang terlihat dari sisi aplikasi belum tentu menggambarkan konfigurasi server di belakangnya. Audit tersebut sebaiknya mencakup staging dan production secara terpisah, karena role serta plugin yang aktif sering berbeda antar lingkungan. Jangan menyalin asumsi dari satu cluster ke cluster lain.
Referensi: https://thehackernews.com/2026/09/postgresql-fixes-12-year-old-logical.html