PostGREShell: Celah Berusia 12 Tahun Mengancam Server Database PostgreSQL
Komunitas pengembang PostgreSQL Global Development Group secara resmi merilis pembaruan keamanan darurat guna menambal kerentanan berbahaya yang telah bersembunyi selama 12 tahun. Celah keamanan ini dilacak dengan nomor CVE-2026-6471 (skor keparahan CVSS 7.2) dan dijuluki sebagai PostGREShell oleh firma riset keamanan data Cyera Research.
Kelemahan arsitektur ini telah hadir sejak fitur logical decoding pertama kali diperkenalkan pada PostgreSQL versi 9.4 pada tahun 2014. Celah ini memungkinkan akun database yang memiliki atribut REPLICATION—seperti sistem pencadangan otomatis (backup), pipeline replikasi data (CDC), server standby, dan perangkat monitoring—untuk mengeksekusi kode arbitrer pada sistem operasi server sebagai pengguna postgres dan meningkatkan hak akses menjadi superuser database secara permanen.
Akar Masalah: Ketiadaan Validasi Path pada Plugin Logical Decoding
Dalam kondisi operasional normal, PostgreSQL menerapkan pembatasan ketat pada fungsi LOAD sehingga pengguna non-superuser dilarang memuat library sembarangan di luar direktori resmi yang diizinkan administrator. Namun, pada jalur replikasi melalui perintah CREATE_REPLICATION_SLOT, mekanisme pembatasan tersebut sama sekali tidak dievaluasi:
- Bypass Path Traversal: Parser protokol replikasi mengizinkan hampir semua karakter di dalam tanda petik ganda nama plugin, termasuk pemisah direktori dan urutan traversal
../, sehingga path lengkap sistem berkas diteruskan langsung ke fungsi pemuat library. - Pemuatan Remote DLL via SMB (Windows): Pada instalasi server berbasis Windows, database dapat diarahkan untuk memuat pustaka DLL arbitrer langsung dari server milik penyerang melalui protokol Server Message Block (SMB) tanpa perlu menulis berkas fisik ke hard disk target.
- Eksekusi pada Linux & macOS: Pada sistem Unix/Linux, peretas dapat memicu pemuatan library memanfaatkan fitur automounting NFS atau skenario berkas yang diunggah ke penyimpanan lokal server.
Dampak Serangan: Eskalasi Hak Akses Instan ke Superuser
Begitu library berbahaya berhasil dimuat ke dalam memori proses PostgreSQL, kode tersebut berjalan dengan wewenang sistem operasi pengguna database. Dalam pengujian yang dilakukan oleh Cyera, library jahat ini secara langsung memodifikasi tabel katalog peran (role catalog) PostgreSQL:
- Eskalasi Otomatis ke Superuser: Akun replikasi berhak akses terbatas dalam hitungan detik dinaikkan menjadi Superuser PostgreSQL.
- Pemasangan Persistensi: Penyerang dapat mengonfigurasi mekanisme persistensi ganda yang membuat akses kendali tetap bertahan meskipun server database telah dimatikan atau di-restart.
Daftar Versi Terdampak & Rilis Patch
Seluruh lini rilis PostgreSQL sebelum versi perbaikan dinyatakan rentan:
- PostgreSQL 18.x: Diperbaiki pada versi 18.6
- PostgreSQL 17.x: Diperbaiki pada versi 17.11
- PostgreSQL 16.x: Diperbaiki pada versi 16.15
- PostgreSQL 15.x: Diperbaiki pada versi 15.19
- PostgreSQL 14.x: Diperbaiki pada versi 14.24
Paket pembaruan telah didistribusikan ke berbagai repositori resmi sistem operasi (Ubuntu, Debian, SUSE) serta layanan cloud terkelola seperti Amazon RDS.
Perubahan Konfigurasi Krusial: Parameter output_plugin_libraries
Pembaruan keamanan ini menerapkan parameter server baru bernama output_plugin_libraries yang berfungsi sebagai daftar putih (whitelist) plugin yang diizinkan untuk logical decoding (secara default hanya mengizinkan 'pgoutput, test_decoding').
PERHATIAN BAGI ADMINISTRATOR: Jika sistem database Anda menggunakan plugin replikasi pihak ketiga seperti wal2json atau decoderbufs, proses replikasi akan ditolak secara otomatis pasca pembaruan hingga administrator menambahkan nama plugin tersebut ke parameter output_plugin_libraries pada postgresql.conf dan menjalankan perintah SELECT pg_reload_conf();.
Panduan Mitigasi Mandiri & Hardening Database
Bagi organisasi yang belum dapat menerapkan upgrade secara seketika:
- Audit Akun Replikasi: Periksa seluruh akun database dan cabut atribut
REPLICATIONdari pengguna atau aplikasi yang tidak memerlukannya. - Isolasi Jaringan via
pg_hba.conf: Pastikan entri koneksi replikasi pada berkaspg_hba.confhanya mengizinkan alamat IP node standby yang terverifikasi. - Blokir Koneksi Egress SMB & NFS: Terapkan firewall egress untuk memblokir lalu lintas keluar pada port 445 (SMB) dan port 2049 (NFS) dari kluster server database.
Sumber Informasi
Artikel ini disusun berdasarkan catatan rilis resmi PostgreSQL Global Development Group, analisis teknis Cyera Research, dan laporan The Hacker News.
🔗 Sumber asli: The Hacker News — PostgreSQL Fixes 12-Year-Old Logical Decoding Flaw Enabling Replication-Role Code Execution