Jawaban langsung: CVE-2026-77876 membuat user panel Control Web Panel (CWP) bisa menjalankan perintah sistem operasi lewat modul Protected Directory. Skor CVSS 3.1 adalah 9.8. Hari ini, cek versi CWP, cek port panel, lalu update ke CWP 1.30 atau lebih baru.
CVE ini datang bersama 9 CVE lain yang terbit pada 2 November 2026. CVE-2026-73696 (skor 9.1) membuat fitur user panel tetap jalan tanpa login di versi di bawah 1.12. Enam CVE lain ada di APIAPIPintu resmi yang dipakai 2 sistem untuk saling mengirim data, tanpa orang menyalin data secara manual.Buka glosarium lokal CWP yang berjalan sebagai root.
Kondisi utama: Server memakai CWP di bawah 1.30, dan port user panel 2082 atau 2083 bisa dicapai dari internet. Batas: Artikel ini tidak memuat isi request, payload, atau urutan serangan.
Kami membaca catatan CVE-2026-77876, catatan CVE-2026-73696, catatan CVE-2026-104080, advisory VulnCheck, changelog CWP, dan CISA KEV pada 3 November 2026, pukul 06.35 sampai 08.30 WIB. Kami menguji 3 skrip cek di container podman AlmaLinux 9 dengan berkas resmi dari paket CWP 1.11 dan 1.30.1 serta paket CSF dari CDN CWP. Kami tidak memasang CWP penuh, jadi perintah update dan muat ulang firewall kami tulis dari bahan resmi CWP, tanpa uji.
Masalah: 10 celah di panel hosting yang Anda pasang sendiri
Satu server CWP biasanya memegang banyak situs, email, dan database sekaligus.
Control Web Panel, dulu bernama CentOS Web Panel, adalah panel hosting gratis untuk server Linux. Pemilik VPS memasangnya untuk mengelola situs WordPress, toko online, dan email bisnis. Pelanggan hosting login ke user panel di port 2082 atau 2083. Admin login ke admin panel di port 2030, 2031, 2086, atau 2087.
Pada 2 November 2026, CNA VulnCheck menerbitkan 10 CVE untuk CWP sekaligus. Peneliti yang melapor adalah Valentin Lobstein. Semua 10 CVE aman di CWP 1.30, yang menurut changelog CWP terbit pada 31 Oktober 2026.

changelog CWP mencatat 1.12 pada 8 September, lalu langsung 1.26 pada 26 Oktober. Versi 1.13 sampai 1.25 tidak tercatat, jadi batas 1.16 di catatan CVE tidak punya tanggal rilis publik. Installer resmi CWP per 3 November 2026 memasang versi 1.30.1.
Cara kerja: user panel dan API lokal root
Kesepuluh celah ini ada di 2 bagian CWP: user panel yang terbuka ke jaringan dan API lokal yang berjalan sebagai root.
Bagian ini memakai ringkasan resmi dari catatan CVE. Tujuannya membantu Anda memilih langkah yang tepat, bukan menjelaskan cara menyerang.
Ringkasan dari catatan CVE
Menurut catatan CVE-2026-77876, modul Protected Directory di user panel meneruskan input nama berkas ke perintah shell tanpa escape. Akibatnya perintah berjalan dengan hak user panel. VulnCheck memberi vektor tanpa login (PR:N) untuk celah ini.
Menurut catatan CVE-2026-73696, alur login user panel mengirim redirect ke halaman login, tetapi tidak menghentikan eksekusi PHP. Akibatnya fitur user panel tetap jalan untuk request tanpa login. Celah ini aman mulai 1.12.
Menurut catatan CVE-2026-104080 dan 5 catatan lain, API lokal CWP berjalan sebagai root dan hanya mendengar di 127.0.0.1. Beberapa rute tidak memeriksa token, atau meneruskan input ke shell dan ke query MySQL dengan akun root. Penyerang butuh akses ke server itu lebih dulu, misalnya lewat akun hosting atau situs PHP yang sudah dibobol.
changelog CWP versi 1.29 menulis bahwa nilai dari request kini divalidasi dan tidak pernah sampai ke shell. Beberapa aksi user panel juga kini butuh sesi yang sah.
Skor 10 CVE
Skor berbeda per versi CVSS, jadi tabel ini menulis keduanya. Semua skor dan batas versi berasal dari CNA VulnCheck.
| CVE | Area | CVSS 3.1 | CVSS 4.0 | Akses | Aman mulai |
|---|---|---|---|---|---|
| CVE-2026-77876 | Modul Protected Directory user panel, perintah OS | 9.8 | 9.3 | Jaringan, tanpa login | 1.16 |
| CVE-2026-73696 | Alur login user panel, eksekusi sesudah redirect | 9.1 | 9.3 | Jaringan, tanpa login | 1.12 |
| CVE-2026-73695 | Path traversal di user panel, include berkas PHP | 8.8 | 8.7 | Jaringan, akun user panel | 1.16 |
| CVE-2026-73697 | Modul PHP.ini editor, tulis berkas dan perintah OS | 8.8 | 8.7 | Jaringan, akun user panel | 1.16 |
| CVE-2026-77880 | API lokal ganti password, perintah sebagai root | 8.4 | 8.6 | Lokal | 1.16 |
| CVE-2026-77879 | API lokal cek token, SQL injection sebagai root MySQL | 7.7 | 8.5 | Lokal | 1.16 |
| CVE-2026-104080 | API lokal cek token, perintah sebagai root | 8.4 | 8.6 | Lokal | 1.30 |
| CVE-2026-77877 | API lokal tanpa token untuk rute root | 8.4 | 8.6 | Lokal | 1.30 |
| CVE-2026-77878 | API lokal restore database, perintah sebagai root | 8.4 | 8.6 | Lokal | 1.30 |
| CVE-2026-77881 | API lokal, blind SQL injection | 6.2 | 6.9 | Lokal | 1.30 |

Dua celah teratas penting untuk server yang membuka port user panel ke internet. Empat celah yang aman di 1.16 dan 1.30 memakai akses lokal, tetapi hasilnya root. Jadi server di versi 1.16 sampai 1.29 tetap wajib update.
Status eksploitasi per 3 November 2026
Kami tidak menemukan laporan serangan, kode eksploit publik di sumber resmi, atau entri CISA KEV untuk 10 CVE ini. CISA menulis "Exploitation: none" pada 5 dari 10 catatan CVE.
Analisa Rama Digital: CWP sudah 2 kali masuk CISA KEV, yaitu CVE-2022-44877 pada Januari 2023 dan CVE-2025-48703 pada November 2025. Penyerang memindai panel hosting secara otomatis. Jangan tunggu status KEV.
Siapa yang paling berisiko
Risiko bergantung pada siapa yang bisa mencapai user panel dan siapa yang punya akses ke server, bukan hanya pada versi.
Tabel ini merangkum catatan CVE-2026-77876, catatan CVE-2026-73696, dan catatan CVE-2026-104080.
| Kondisi server CWP | Risiko | Alasan |
|---|---|---|
| Port 2082 atau 2083 terbuka ke internet, versi di bawah 1.16 | Tertinggi | CVE-2026-77876 lewat jaringan, tanpa login menurut vektor CNA |
| Hosting dengan banyak akun pelanggan | Tinggi | 2 CVE butuh akun user panel. Banyak akun berarti banyak password yang bisa bocor |
| Job harian CWP mati atau update gagal | Tinggi | Versi tertahan di bawah 1.30 tanpa Anda sadari |
| Banyak situs PHP atau WordPress lama di server yang sama | Periksa | Situs yang dibobol memberi akses lokal ke API root |
| Port panel hanya terbuka untuk VPN atau IP kantor | Periksa | Risiko lewat jaringan turun, tetapi API lokal tetap rentan |
| Sudah 1.30.1 dan job harian aktif | Rendah | Tetap cari tanda dari waktu sebelum update |

Server CWP sering juga menjalankan toko online dan situs WordPress. Celah di aplikasi web, seperti celah Magento PolyShell CVE-2026-48356 atau peringatan PHP2Shell, bisa menjadi pintu ke API lokal. Patch kernel juga penting di server yang sama, misalnya untuk celah TCP kernel Linux CVE-2026-98432.
Versi rentan dan versi aman
Semua versi CWP di bawah 1.30 rentan terhadap paling sedikit 4 CVE ini. Pakai tabel ini untuk menentukan tindakan.
| Versi CWP | Status per 3 November 2026 | Tindakan |
|---|---|---|
| 0.9.8.x (skema versi lama) | Rentan 10 CVE | Update ke 1.30 atau lebih baru |
| 1.2 sampai 1.11 | Rentan 10 CVE | Update ke 1.30 atau lebih baru |
| 1.12 sampai 1.15 | Rentan 9 CVE, termasuk CVE-2026-77876 | Update ke 1.30 atau lebih baru |
| 1.16 sampai 1.29 | Rentan 4 CVE di API lokal root | Update ke 1.30 atau lebih baru |
| 1.30, 1.30.1 | Aman untuk 10 CVE ini | Langkah 5: cari tanda |
| Belum bisa update hari ini | Rentan | Langkah 4, lalu update secepatnya |

Data versi berasal dari catatan CVE-2026-77876, catatan CVE-2026-73696, catatan CVE-2026-104080, dan changelog CWP. Catatan CVE memakai istilah webpanel_version, yaitu nilai di berkas versi CWP. Catatan CVE tidak membedakan edisi gratis dan CWPpro.
Prasyarat sebelum mulai
- Akses root lewat SSH ke setiap server CWP.
- Akses ke panel penyedia VPS untuk membuat snapshot.
- Daftar IP kantor atau VPN tim admin. Contoh di artikel ini memakai IP dokumentasi RFC 5737.
- Daftar akun hosting dan pemiliknya. Contoh: klien, tim, dan reseller.
- Jendela maintenance 15 sampai 30 menit. Update bisa memulai ulang layanan web dan panel.
Langkah 1: Cek versi CWP
Simpan skrip ini sebagai cek-versi-cwp.sh. Skrip membaca nilai webpanel_version dari berkas versi CWP, lalu membandingkannya dengan batas 1.12, 1.16, dan 1.30.
#!/usr/bin/env bash
# Cek versi Control Web Panel (CWP) terhadap 10 CVE yang terbit 2 November 2026.
# Data: catatan CVE dari CNA VulnCheck (batas versi 1.12, 1.16, dan 1.30) dan changelog CWP.
# Pakai di server CWP: sudo bash cek-versi-cwp.sh
# Pakai untuk versi yang Anda salin dari server lain: bash cek-versi-cwp.sh 0.9.8.1235 1.15 1.30.1
# Skrip hanya membaca berkas. Skrip tidak mengubah apa pun.
BERKAS=/usr/local/cwpsrv/htdocs/resources/admin/include/version.php
# lebih_kecil A B: benar bila versi A di bawah versi B.
lebih_kecil() { [ "$1" != "$2" ] && [ "$(printf '%s\n%s\n' "$1" "$2" | sort -V | head -n1)" = "$1" ]; }
cek() {
local v="$1"
if ! [[ $v =~ ^[0-9]+(\.[0-9]+)+$ ]]; then
printf '%-12s TIDAK DIKENAL, cocokkan manual dengan changelog CWP\n' "$v"
return
fi
if lebih_kecil "$v" 1.12; then
printf '%-12s RENTAN 10 CVE, termasuk CVE-2026-77876 (9.8) dan CVE-2026-73696 (login user panel)\n' "$v"
elif lebih_kecil "$v" 1.16; then
printf '%-12s RENTAN 9 CVE, termasuk CVE-2026-77876 (9.8)\n' "$v"
elif lebih_kecil "$v" 1.30; then
printf '%-12s RENTAN 4 CVE di API lokal yang berjalan sebagai root\n' "$v"
else
printf '%-12s AMAN untuk 10 CVE ini\n' "$v"
return
fi
printf '%-12s -> update ke 1.30 atau lebih baru: sh /scripts/update_cwp\n' ""
}
if (( $# > 0 )); then
for x in "$@"; do cek "$x"; done
exit 0
fi
if [ ! -r "$BERKAS" ]; then
echo "Berkas versi tidak terbaca: $BERKAS"
echo "Server ini bukan server CWP, atau jalankan skrip dengan sudo."
exit 1
fi
v=$(sed -nE 's/.*webpanel_version *= *"([^"]+)".*/\1/p' "$BERKAS" | head -n1)
echo "Berkas versi: $BERKAS"
cek "${v:-tidak-terbaca}"
if [ -e /etc/cron.daily/cwp ]; then
echo "Job harian CWP: ADA (/etc/cron.daily/cwp)"
else
echo "Job harian CWP: TIDAK ADA, jadi update hanya jalan manual"
fi
if [ -r /var/log/cwp/cwp_update.log ]; then
echo "3 baris terakhir log update CWP:"
tail -n 3 /var/log/cwp/cwp_update.log
fi
# Di server CWP: baca berkas versi CWP
sudo bash cek-versi-cwp.sh
# Cek versi yang Anda salin dari server lain
bash cek-versi-cwp.sh 0.9.8.1235 1.15 1.29 1.30.1
# Cara manual tanpa skrip
grep webpanel_version /usr/local/cwpsrv/htdocs/resources/admin/include/version.php

Skrip juga memeriksa job harian /etc/cron.daily/cwp. Job ini menjalankan update rutin CWP. Script /scripts/cwp_version bawaan CWP butuh loader ionCube, jadi skrip kami membaca berkas versi langsung.
Cek hasil: "RENTAN" berarti lanjut ke langkah 2 dan 3 hari ini. "AMAN" tetap berarti jalankan langkah 5, karena celah ini ada sebelum 31 Oktober.
Langkah 2: Cek port panel yang terbuka
Dua celah teratas lewat jaringan, jadi port user panel yang terbuka menentukan seberapa cepat Anda harus bergerak.
Simpan skrip ini sebagai cek-port-cwp.sh. Skrip membaca TCP_IN di /etc/csf/csf.conf dan aturan izin di /etc/csf/csf.allow. CSF adalah firewall bawaan installer CWP.
#!/usr/bin/env bash
# Cek port panel CWP yang terbuka untuk semua IP di firewall CSF.
# Pakai di server CWP: sudo bash cek-port-cwp.sh
# Skrip hanya membaca /etc/csf/csf.conf dan /etc/csf/csf.allow. Skrip tidak mengubah firewall.
CONF=/etc/csf/csf.conf
ALLOW=/etc/csf/csf.allow
declare -A NAMA=(
[2030]="admin panel HTTP" [2031]="admin panel HTTPS"
[2086]="admin panel HTTP (port lain)" [2087]="admin panel HTTPS (port lain)"
[2082]="user panel HTTP" [2083]="user panel HTTPS" [2304]="API jarak jauh"
)
# ada_di_daftar PORT DAFTAR: benar bila port ada di daftar CSF, termasuk rentang seperti 30000:35000.
ada_di_daftar() {
local p=$1 item
IFS=',' read -ra items <<< "$2"
for item in "${items[@]}"; do
item=${item// /}
if [[ $item == *:* ]]; then
(( p >= ${item%%:*} && p <= ${item##*:} )) && return 0
elif [[ $item == "$p" ]]; then
return 0
fi
done
return 1
}
if [ ! -r "$CONF" ]; then
echo "Berkas CSF tidak terbaca: $CONF"
echo "Cek firewall lain (firewalld, nftables, atau firewall penyedia VPS) dengan cara manual."
exit 1
fi
tcp_in=$(sed -nE 's/^TCP_IN *= *"([^"]*)".*/\1/p' "$CONF")
echo "TCP_IN: $tcp_in"
terbuka=0
for p in 2030 2031 2086 2087 2082 2083 2304; do
izin=$(grep -cE "^[^#]*d=$p(\||[[:space:]]|$)" "$ALLOW" 2>/dev/null)
if ada_di_daftar "$p" "$tcp_in"; then
printf '%-5s %-30s TERBUKA untuk semua IP\n' "$p" "${NAMA[$p]}"
terbuka=$((terbuka + 1))
elif (( ${izin:-0} > 0 )); then
printf '%-5s %-30s DIBATASI, %s aturan izin di csf.allow\n' "$p" "${NAMA[$p]}" "$izin"
else
printf '%-5s %-30s TERTUTUP\n' "$p" "${NAMA[$p]}"
fi
done
if (( terbuka > 0 )); then
echo "Hasil: $terbuka port panel terbuka untuk semua IP. Lihat langkah 4."
else
echo "Hasil: tidak ada port panel yang terbuka untuk semua IP."
fi
sudo bash cek-port-cwp.sh

Di uji kami, berkas CSF dari paket CWP membuka port 2082, 2083, 2086, dan 2087 untuk semua IP. Port 2086 dan 2087 juga membuka admin panel CWP. Bila Anda memakai firewall lain, seperti firewalld atau firewall penyedia VPS, cek port ini di sana.
Cek hasil: "TERBUKA untuk semua IP" pada 2082 atau 2083 berarti siapa pun di internet bisa mencapai user panel. Prioritaskan server ini di langkah 3.
Langkah 3: Update ke CWP 1.30 atau lebih baru
Hanya update yang menutup 10 celah ini. Installer resmi CWP menyebut sh /scripts/update_cwp sebagai perintah update.
# 1. Buat snapshot VPS di panel penyedia, atau backup akun dari admin panel CWP.
# 2. Jalankan update CWP sebagai root
sudo sh /scripts/update_cwp
# 3. Cek lagi sesudah update
sudo bash cek-versi-cwp.sh
# 4. Pastikan job harian CWP ada
ls -l /etc/cron.daily/cwp

- Buat snapshot VPS lebih dulu. Snapshot adalah jalan kembali tercepat bila update gagal.
- Jalankan update di sesi SSH yang stabil. Pakai
tmuxatauscreenbila koneksi Anda sering putus. - Jalankan lagi
cek-versi-cwp.sh. Hasil yang benar: "AMAN untuk 10 CVE ini". - Bila versi tidak naik, cek log
/var/log/cwp/cwp_update.log, lalu minta bantuan forum atau tim support CWP. - Ulangi di setiap server CWP. Server yang jarang dibuka paling sering tertinggal.
Perubahan yang perlu Anda tahu
changelog CWP versi 1.27 sampai 1.30 mengubah beberapa perilaku. Cek item ini sesudah update.
- Aturan ModSecurity OWASP: sebelumnya hanya mencatat. Halaman ModSecurity kini memberi tombol untuk mulai memblokir. Cek situs Anda untuk blokir salah sesudah tombol itu aktif.
- Apache dan mod_auth_form: update mematikan baris
mod_auth_formagar Apache bisa start. Changelog menulis bahwa modul ini sering dinyalakan malware. - Varnish: cache http dan https kini terpisah, dan job harian mengosongkan cache 1 kali.
- Update channel: CWP kini punya kanal LTS (bawaan) dan Edge di menu CWP Settings.

Cek hasil: skrip versi menulis "AMAN" di setiap server, situs utama terbuka normal, dan email masuk serta keluar.
Langkah 4: Batasi akses sampai update selesai
Langkah ini mengurangi siapa yang bisa mencapai celah, tetapi tidak menutup celah.
Catatan CVE dan changelog CWP tidak menulis workaround resmi. Analisa Rama Digital: kami menyusun 2 langkah dari syarat celah. Kondisi: update belum bisa jalan hari ini. Batas: celah API lokal tetap terbuka bagi siapa pun yang sudah punya akses ke server.
4a. Batasi port panel ke IP kantor atau VPN
Langkah ini cocok untuk VPS milik 1 bisnis. Hosting dengan banyak pelanggan biasanya tidak bisa menutup port 2083, jadi langsung ke langkah 3.
# Jalankan sebagai root, misalnya sesudah sudo -i. Port 22 (SSH) tetap terbuka.
cp /etc/csf/csf.conf /etc/csf/csf.conf.bak
# Hapus port admin panel dan user panel dari TCP_IN dan TCP6_IN
sed -i -E ':a; /^TCP6?_IN *=/ s/,(2030|2031|2082|2083|2086|2087)([,"])/\2/; ta' /etc/csf/csf.conf
# Izinkan port itu hanya dari IP kantor atau VPN. Ganti IP contoh ini.
for p in 2030 2031 2082 2083 2086 2087; do echo "tcp|in|d=$p|s=198.51.100.10" >> /etc/csf/csf.allow; done
# Muat ulang CSF, lalu cek lagi
csf -r
bash cek-port-cwp.sh
# Batal: kembalikan salinan, lalu muat ulang
# cp /etc/csf/csf.conf.bak /etc/csf/csf.conf && csf -r

Jangan hapus port 22. Bila IP kantor berubah, Anda tetap bisa masuk lewat SSH dan memulihkan csf.conf.bak. Kami menguji perintah sed dan aturan csf.allow pada berkas CSF dari paket CWP. Kami tidak menjalankan csf -r, karena container uji tidak punya iptables.
4b. Kurangi akses lokal ke server
Enam celah API lokal butuh akses ke server lebih dulu. Matikan akses shell untuk akun hosting yang tidak membutuhkannya, dan hapus akun yang tidak Anda kenal. Update atau matikan situs PHP dan plugin WordPress lama di server yang sama.
Cek hasil: skrip port menulis "DIBATASI", halaman login panel tidak terbuka dari jaringan lain, misalnya hotspot ponsel, dan daftar akun shell hanya berisi orang yang Anda kenal.
Langkah 5: Cari tanda pemakaian
Celah ini ada sebelum Anda update, jadi cari tanda dari waktu sebelum update juga.
Simpan skrip ini sebagai cek-tanda-cwp.sh. Skrip membaca log panel /usr/local/cwpsrv/logs/access_log, log login /var/log/cwp_client_login.log, dan httpd.conf. Skrip mencetak jumlah request dan IP, bukan isi request.
#!/usr/bin/env bash
# Cari tanda pemakaian celah CWP di log panel, log login, dan konfigurasi Apache.
# Pakai di server CWP: sudo bash cek-tanda-cwp.sh
# Skrip hanya membaca berkas. Skrip mencetak jumlah request dan IP, bukan isi request.
LOG=/usr/local/cwpsrv/logs/access_log
LOGIN=/var/log/cwp_client_login.log
HTTPD=/usr/local/apache/conf/httpd.conf
tanda=0
echo "1. Request ke modul user panel yang disebut catatan CVE (protected_directory, phpini_editor)"
if ls "$LOG"* >/dev/null 2>&1; then
baris=$(zcat -f "$LOG"* 2>/dev/null | grep -E 'module=(protected_directory|phpini_editor)')
jumlah=$(printf '%s' "$baris" | grep -c .)
echo " $jumlah request"
if (( jumlah > 0 )); then
printf '%s\n' "$baris" | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 5 | awk '{printf " IP %s: %s\n", $2, $1}'
echo " Bandingkan IP ini dengan IP pelanggan atau tim Anda."
fi
echo "2. Request panel dengan tanda path traversal (../ atau %2e%2e)"
baris=$(zcat -f "$LOG"* 2>/dev/null | grep -iE '\.\./|\.\.%2f|%2e%2e')
jumlah=$(printf '%s' "$baris" | grep -c .)
if (( jumlah > 0 )); then
echo " TANDA: $jumlah request"
printf '%s\n' "$baris" | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 5 | awk '{printf " IP %s: %s\n", $2, $1}'
tanda=$((tanda + 1))
else
echo " 0 request"
fi
else
echo " Log panel tidak ada: $LOG"
fi
echo "3. Login user panel yang gagal"
if [ -r "$LOGIN" ]; then
jumlah=$(grep -c 'Failed Login from:' "$LOGIN")
echo " $jumlah login gagal"
grep -oE 'Failed Login from: +[^ ]+' "$LOGIN" | awk '{print $NF}' | sort | uniq -c | sort -rn | head -n 5 | awk '{printf " IP %s: %s\n", $2, $1}'
else
echo " Log login tidak ada: $LOGIN"
fi
echo "4. Modul Apache mod_auth_form (CWP tidak memakainya, malware sering menyalakannya)"
if [ -r "$HTTPD" ] && grep -qE '^[[:space:]]*LoadModule[[:space:]]+auth_form_module' "$HTTPD"; then
echo " TANDA: mod_auth_form aktif di $HTTPD"
tanda=$((tanda + 1))
else
echo " tidak aktif"
fi
if [ -e /scripts/cwp_security_audit ]; then
echo "Jalankan juga alat audit dari CWP: sh /scripts/cwp_security_audit"
fi
if (( tanda > 0 )); then
echo "Hasil: $tanda TANDA. Ikuti langkah respons insiden di artikel."
else
echo "Hasil: tidak ada TANDA dari 4 cek ini."
fi
# Cek log panel, log login, dan konfigurasi Apache
sudo bash cek-tanda-cwp.sh
# Alat audit dari CWP 1.30 ke atas
sudo sh /scripts/cwp_security_audit


Nama modul protected_directory dan phpini_editor berasal dari catatan CVE. Pelanggan Anda juga memakai modul ini secara normal, jadi bandingkan IP di hasil skrip dengan IP pelanggan. Alat /scripts/cwp_security_audit dari CWP 1.30 memeriksa glibc, proses palsu, modul Apache, kunci API, dan izin MySQL. Alat ini memasang lsof bila belum ada, dan mengirim notifikasi ke admin panel bila menemukan masalah.
Cek hasil: skrip menulis "tidak ada TANDA", IP di daftar modul milik pelanggan Anda, dan alat audit CWP tidak memberi peringatan. Log bisa dihapus penyerang, jadi tidak ada tanda belum berarti aman.
Bila ada 1 tanda saja, putus server dari jaringan lewat panel penyedia VPS, lalu simpan log panel, log Apache, dan log login sebagai bukti. Ganti password root, admin panel, akun hosting, database, dan email. Pulihkan dari backup bersih, atau pasang server baru dengan CWP 1.30.1, lalu pindahkan data yang sudah Anda periksa.
Bila server menyimpan data pelanggan, UU 27/2022 tentang Pelindungan Data Pribadi mewajibkan pemberitahuan tertulis paling lambat 3 kali 24 jam sesudah kebocoran data pribadi. Baca juga panduan security, privacy, dan UU PDP untuk perusahaan.
Contoh: 1 pagi respons untuk 3 server CWP
Simulasi ini memakai data dummy. Nama server, waktu, dan hasil bukan data pelanggan.
| Waktu (WIB) | Server dummy | Yang dicek | Hasil | Tindakan |
|---|---|---|---|---|
| 08.00 | vps-toko (CWP 1.11, port 2083 terbuka) | Langkah 1 dan 2 | RENTAN 10 CVE, 4 port terbuka | Langkah 4a, lalu update |
| 08.20 | vps-klien (CWP 1.29, job harian gagal) | Langkah 1 | RENTAN 4 CVE API lokal | Update, lalu cek log update |
| 08.40 | vps-lama (CentOS 7, CWP 0.9.8.1235) | Langkah 1 | RENTAN 10 CVE, job harian TIDAK ADA | Update, rencanakan pindah OS |
| 09.10 | vps-toko | Langkah 5 | 2 TANDA: modul dari IP asing, mod_auth_form aktif | Respons insiden, ganti semua password |
Pelajaran dari simulasi: versi aman tidak membuktikan server bersih. Vps-toko sudah update, tetapi langkah 5 tetap menemukan tanda dari sebelum update.
Siapa yang memasang patch
Tanggung jawab patch berbeda per jenis layanan, jadi tabel ini membantu Anda tahu siapa yang bergerak hari ini.
| Jenis layanan | Pemegang patch | Yang Anda kerjakan |
|---|---|---|
| VPS sendiri dengan CWP | Tim Anda | Langkah 1 sampai 5 |
| VPS managed dengan CWP dari penyedia | Penyedia atau tim Anda, sesuai kontrak | Minta bukti versi tertulis, lalu langkah 5 |
| Hosting bersama yang memakai CWP | Penyedia hosting | Tanya versi CWP, ganti password akun Anda, dan cek situs Anda |
| Reseller CWP | Pemilik server utama | Minta jadwal update, lalu kabari pelanggan Anda |
Rekomendasi Rama Digital: perlakukan panel hosting seperti kunci utama server. Buka port panel hanya untuk orang yang butuh, dan ikuti checklist hardening VPS untuk dasar keamanan VPS. Update juga runtime di server yang sama, misalnya untuk peringatan PHP2Shell.
Checklist hari ini
- Buat daftar semua server CWP. Pemilik: tim infrastruktur. Bukti: daftar nama server dan versi.
- Cek versi dengan langkah 1. Pemilik: admin server. Bukti: output skrip.
- Cek port panel dengan langkah 2. Pemilik: admin server. Bukti: output skrip.
- Pasang langkah 4a di setiap VPS yang belum bisa update hari ini. Pemilik: admin server. Bukti: skrip port menulis "DIBATASI".
- Buat snapshot, lalu update ke 1.30 atau lebih baru. Pemilik: admin server. Bukti: output skrip sesudah update.
- Cari tanda dengan langkah 5 dan alat audit CWP. Pemilik: admin server dan tim keamanan. Bukti: output kedua alat.
- Hapus akun hosting dan akses shell yang tidak dipakai.
Tanya jawab
Apakah celah ini sudah dipakai menyerang?
Per 3 November 2026, kami tidak menemukan laporan serangan, dan 10 CVE ini belum masuk CISA KEV. Tetapi CWP sudah 2 kali masuk KEV, jadi update hari ini.
CWP saya update otomatis. Apakah saya sudah aman?
Belum pasti. Job harian bisa mati, dan update bisa gagal tanpa pesan. Jalankan langkah 1 dan lihat nilai webpanel_version dengan mata Anda sendiri.
Apakah membatasi port panel bisa menggantikan update?
Tidak. Langkah itu hanya mengurangi celah lewat jaringan. Enam celah API lokal tetap terbuka, dan hasilnya root. Update ke 1.30 tetap wajib.
Saya penyedia hosting dan tidak bisa menutup port 2083. Apa yang saya kerjakan?
Update malam ini di jendela maintenance. Batasi port admin panel 2030, 2031, 2086, dan 2087 ke IP tim Anda, lalu jalankan langkah 5 sesudah update.
Apakah CWPpro berbayar juga terdampak?
Catatan CVE tidak membedakan edisi gratis dan CWPpro. Anggap keduanya terdampak, lalu cek versi dengan langkah 1.
Server saya masih CentOS 7. Apakah saya bisa update?
Installer resmi CWP masih mendukung EL7, jadi update CWP tetap bisa jalan. CentOS 7 sendiri sudah tidak menerima patch, jadi rencanakan pindah ke AlmaLinux atau Rocky Linux.
Apakah update CWP mengubah situs saya?
Update mengubah beberapa pengaturan, misalnya cache Varnish dan tombol blokir ModSecurity. Buat snapshot dulu, lalu buka situs utama sesudah update.
Langkah berikutnya
Batas yang tetap berlaku: langkah 4 tidak menutup celah, dan update tidak menghapus akses yang sudah dipakai penyerang. Bila server CWP Anda menunjukkan tanda di langkah 5, atau Anda butuh bantuan audit dan pemulihan, pakai Vibe Code Rescue. Untuk 1 masalah mendesak hari ini, jadwalkan sesi 30 menit.
Sumber
- catatan CVE-2026-77876: ringkasan teknis, CVSS 3.1 skor 9.8 dan CVSS 4.0 skor 9.3, CWE-78, dan batas versi 1.16.
- catatan CVE-2026-73696: alur login user panel, CVSS 3.1 skor 9.1 dan CVSS 4.0 skor 9.3, batas versi 1.12.
- catatan CVE-2026-104080: API lokal root, CVSS 3.1 skor 8.4, batas versi 1.30. Catatan CVE-2026-73695, 73697, 77877 sampai 77881 memakai sumber yang sama di CVE.org.
- advisory VulnCheck: peneliti, tanggal publikasi 2 November 2026, dan rujukan ke changelog CWP.
- changelog CWP: tanggal rilis 1.12, 1.26 sampai 1.30, dan perubahan keamanan.
- CISA KEV: status per 3 November 2026, serta CVE-2022-44877 dan CVE-2025-48703 sebagai riwayat CWP di katalog itu.
- RFC 5737: blok IP dokumentasi untuk contoh di artikel ini.
- UU 27/2022 tentang Pelindungan Data Pribadi: kewajiban melapor kebocoran data pribadi.




