
CMS Ghost berbasis Node.js memiliki kerentanan Stored Cross-Site Scripting (XSS) pada fitur embed card di editor. Kerentanan ini ditemukan oleh peneliti keamanan independen (DONG2209 dan Pedro Pinho) dan diumumkan oleh Ghost melalui advisory resminya. Celah ini memungkinkan pengguna staf — termasuk peran berkemampuan terbatas seperti Contributor — menyisipkan skrip berbahaya ke dalam konten pos. Skrip tersebut baru berjalan ketika staf lain membuka pos tersebut di editor, sehingga berpotensi menguasai sesi admin pengguna. Kerentanan ini merupakan bypass dari perbaikan sebelumnya (GHSA-8vhf-xxpj-4qrg).
Letak Permasalahan
Masalah berada pada proses preview embed card di editor Ghost yang tidak menyaring (sanitization) input dengan benar. Penyerang yang memiliki akses tulis ke editor dapat menyuntikkan skrip. Kondisi ini termasuk kategori Injection (A05:2025) dengan CWE-79 (Improper Neutralization of Input During Web Page Generation / Stored XSS).
Tahapan Eksploitasi:
-
Pihak atau akun yang tidak bertanggung jawab memanfaatkan akun internal dengan hak akses rendah (misalnya peran Contributor) pada sistem CMS Ghost.
-
Pelaku menyisipkan payload skrip melalui fitur embed card dengan memanfaatkan celah bypass yang ada.
-
Payload tersimpan secara permanen di dalam basis data konten pos (stored).
-
Operator atau staf lain dengan hak akses yang lebih tinggi membuka pos tersebut melalui halaman editor.
-
Skrip otomatis berjalan pada sesi korban, sehingga berpotensi mencuri token atau mengambil alih sesi akun administrator tersebut.
Dampak Risiko:
- Sesi atau token autentikasi admin berisiko tinggi untuk diambil alih.
- Pihak tidak berwenang dapat memanipulasi konten portal atau bertindak menyamar sebagai administrator sistem.
Versi Terdampak:
- CMS Ghost (via npm) versi 6.34.0 hingga sebelum versi 6.67.0
- Segera perbarui CMS Ghost ke versi 6.67.0 atau versi yang lebih baru.
- Pastikan opsi konfigurasi security.embedPreviewUrl tetap berada pada nilai bawaannya (default).
Rekomendasi pengamanan tambahan:
- Tinjau kembali jumlah dan batasan peran (role) akun pengguna yang terdaftar di sistem CMS.
- Mengaktifkan kebijakan pengamanan peramban seperti Content Security Policy (CSP) dengan direktif
script-srcyang ketat. - Melakukan pemantauan aktif pada log aktivitas editor, periksa konten yang mencurigakan, serta audit pos yang memuat embed card dari sumber yang tidak dikenal.
Sumber:
https://nvd.nist.gov/vuln/detail/cve-2026-105643
https://github.com/advisories/GHSA-69qc-f5m6-889c
Penulis: Admin JabarProv CSIRT



