Jawaban langsung: CVE-2026-118066 membuat penyerang tanpa login bisa mengambil alih akun customer di plugin booking LatePoint. Skor CVSS 3.1 adalah 9.1. Celah ini belum masuk CISA KEV dan belum ada laporan serangan, tetapi catatan CVE sudah publik. Hari ini, cek versi LatePoint, update ke 5.7.8, lalu cari tanda di log dan di akun.

Celah ini ada di LatePoint 5.7.0 sampai 5.7.6. Penguatan is_scalar di 5.7.5 tidak menutup celah ini. LatePoint merilis 5.7.7 pada 2 November 2026 yang menutup celah utama, lalu 5.7.8 pada 3 November 2026 dengan perbaikan lain. Pakai 5.7.8.

Kondisi utama: Situs memakai LatePoint 5.7.6 atau lebih lama dengan halaman booking publik. Batas: Artikel ini tidak memuat isi request, payload, atau urutan serangan.

Kami membaca catatan CVE-2026-118066, advisory Wordfence, halaman plugin LatePoint, dan API catatan CVE pada 8 November 2026, pukul 06.35 sampai 07.05 WIB. Kami menguji 3 skrip cek, update plugin, dan langkah nonaktif di container podman dengan image resmi WordPress, WP-CLI, dan MariaDB. Kami tidak menguji serangan.

Masalah: akun customer bisa diambil tanpa login

LatePoint mengelola janji temu, akun customer, dan sering juga pembayaran. Celah ini membuka pintu ke akun customer itu tanpa kata sandi.

Menurut catatan CVE-2026-118066, celah ini adalah kelas CWE-287, autentikasi yang tidak sempurna. Vektor CVSS menulis AC:L dan PR:N, artinya serangan mudah dan tidak butuh login. Dampaknya C:H dan I:H, artinya penyerang bisa membaca dan mengubah data akun.

LatePoint memberi tahu vendor pada 27 Oktober 2026 lewat advisory Wordfence. Vendor merilis 5.7.7 pada 2 November dan 5.7.8 pada 3 November. Catatan CVE terbit pada 7 November 2026.

Linimasa: 27 Oktober vendor diberi tahu, 2 November LatePoint 5.7.7, 3 November 5.7.8, 6 November diungkap, 7 November catatan CVE CVSS 9.1, 8 November belum masuk KEV.
Titik teal: rilis perbaikan. Titik amber: pengungkapan. Titik merah: catatan CVE dan status KEV. Sumber: Wordfence, CVE.org, WordPress.org, dan CISA KEV.

Per 8 November 2026, celah ini belum masuk CISA KEV dan belum ada laporan serangan di lapangan. Tetapi catatan CVE sudah publik, jadi jarak antara pengungkapan dan serangan pertama bisa pendek.

Cara kerja: perbandingan yang bisa ditipu

Bagian ini memakai ringkasan resmi dan isi patch. Tujuannya membantu Anda memilih langkah, bukan menjelaskan cara menyerang.

Ringkasan dari catatan CVE

Menurut catatan CVE-2026-118066 dan advisory Wordfence, celah ada di cara LatePoint menyusun syarat kueri database. Fungsi pembangun syarat membandingkan nilai dari request dengan teks penanda tetap, lalu memakai hasilnya langsung di kueri. Nilai yang tepat bisa melewati pemeriksaan ini, sehingga autentikasi akun terlewati.

Fungsi pembersih teks WordPress dan penguatan is_scalar di 5.7.5 tidak menutup celah ini, karena nilai penanda tetap lolos tanpa berubah. Ini sebabnya versi 5.7.5 masih rentan.

Apa yang diubah patch

Kami membandingkan kode di paket resmi 5.7.6 dan 5.7.7. Patch membuat 2 perubahan inti:

  • Di lib/models/model.php, cabang syarat kosong dan tidak kosong sekarang cocok dengan objek penanda, bukan teks. Nilai dari request selalu teks atau larik, jadi tidak pernah identik dengan objek penanda.
  • Di lib/controllers/customer_cabinet_controller.php, token reset password diterima hanya bila lolos ctype_alnum. Nilai dengan spasi atau operator ditolak sebelum lookup database.

Analisa Rama Digital: kedua perubahan menolak nilai berbahaya sebelum masuk kueri. Patch juga menyentuh controller dan helper lain untuk penguatan sejenis. Batas: kami membaca kode dan tidak menguji serangan.

Status eksploitasi per 8 November 2026

SumberStatus
CISA KEVBelum masuk per 8 November 2026
Catatan CVE (CVSS 3.1)Skor 9.1, kelas Critical, CWE-287
WordfenceDiungkap 6 November 2026, belum ada laporan serangan
LatePointCelah ditutup di 5.7.7, versi kini 5.7.8
Empat kartu: CVE-2026-118066 celah autentikasi skor 9.1, CWE-287, syarat opsi wp_users_as_customers, dan dampak ambil alih akun. Versi aman: 5.7.8.
(1) Kartu merah: celah dan skor. (2) Kartu merah: kelas CWE-287. (3) Kartu amber: syarat. (4) Kartu merah: dampak. Kotak teal: versi aman. Sumber: catatan CVE Wordfence dan WordPress.org.

Skor 9.1 masuk kelas Critical. Celah ini tanpa login, mudah, dan berakhir dengan akses ke akun customer. Kami menulis peringatan kritis meski belum ada laporan serangan.

Siapa yang paling berisiko

Risiko bergantung pada versi LatePoint, data yang disimpan, dan opsi akun.

Kondisi situsRisikoAlasan
LatePoint 5.7.6 atau lebih lama, booking publikTertinggiCelah terbuka tanpa login, akun customer bisa diambil alih
Banyak akun customer dengan data pribadiTinggiNama, email, dan telepon pelanggan bisa dibaca dan diubah
Opsi wp_users_as_customers aktifTinggiAkun WordPress role subscriber atau customer ikut terdampak
Masih di 5.7.5 atau perbaikan awalPeriksaPenguatan is_scalar belum menutup celah
Pembayaran dan janji temu lewat LatePointPeriksaAkun yang diambil alih bisa melihat riwayat pesanan
Sudah 5.7.7 atau 5.7.8RendahTetap cari tanda dari waktu sebelum update
Enam kartu risiko: LatePoint rentan dengan booking publik, banyak akun customer, dan opsi wp_users_as_customers aktif merah; masih di 5.7.5 dan pembayaran lewat LatePoint amber.
Kartu merah: risiko tertinggi. Kartu amber: periksa. Kartu abu-abu: risiko rendah. Kotak bawah: status CISA dan laporan serangan. Sumber: catatan CVE Wordfence, CISA KEV, dan uji Rama Digital.

Server WordPress sering juga menjalankan runtime PHP dan panel hosting. Patch juga komponen itu, misalnya untuk peringatan PHP2Shell dan celah Control Web Panel CVE-2026-77876. Patch juga core WordPress, misalnya untuk celah update core WordPress CVE-2026-119977.

Versi rentan dan versi aman

Semua versi 5.7.0 sampai 5.7.6 rentan. Versi 5.7.7 menutup celah utama, dan 5.7.8 menambah perbaikan lain. Pakai tabel ini untuk menentukan tindakan.

Versi LatePointStatus per 8 November 2026Rilis aman
5.7.0 sampai 5.7.6Rentan5.7.7 atau 5.7.8
5.7.5 (penguatan is_scalar)Masih rentan5.7.8
5.7.7Celah utama ditutup5.7.8 untuk perbaikan lain
5.7.8Aman per 8 November 2026Pakai versi ini
Di bawah 5.7.0Rentan, dan kena CVE lain5.7.8
Tabel versi LatePoint: 5.7.0 sampai 5.7.6 rentan, 5.7.5 masih rentan, 5.7.7 menutup celah utama, 5.7.8 aman, di bawah 5.7.0 rentan.
Merah: rentan. Teal: aman. Kotak bawah: cara cek versi dan cara update ke 5.7.8. Sumber: catatan CVE Wordfence, changelog LatePoint, dan apiAPIPintu resmi yang dipakai 2 sistem untuk saling mengirim data, tanpa orang menyalin data secara manual.Buka glosarium.wordpress.org.

Data versi berasal dari catatan CVE-2026-118066, advisory Wordfence, dan changelog di halaman plugin LatePoint. Changelog 5.7.7 menulis bahwa vendor memperkuat keamanan plugin atas laporan Wordfence.

Prasyarat sebelum mulai

  • Akses SSH dengan sudo ke server, atau akun administrator di dasbor WordPress.
  • WP-CLI di server bila Anda memakai perintah wp. Langkah 1 dan 3 juga bisa lewat dasbor.
  • Backup database dan berkas terbaru, misalnya snapshot VPS atau backup dari panel hosting.
  • Akses ke log akses web server, misalnya /var/log/apache2/ atau /var/log/nginx/.
  • Daftar semua situs WordPress yang memakai LatePoint, termasuk situs staging dan situs lama.

Langkah 1: Cek versi LatePoint

Simpan skrip ini sebagai cek-versi-latepoint.sh di folder ~/cek. Skrip membaca header Version dari latepoint.php, lalu membandingkannya dengan rilis aman 5.7.7 dan versi disarankan 5.7.8.

#!/usr/bin/env bash
# Cek versi plugin LatePoint terhadap CVE-2026-118066 (ambil alih akun tanpa login, CVSS 3.1 9.1).
# Data: catatan CVE dari CNA Wordfence dan changelog resmi di wordpress.org.
# Pakai di server: sudo bash cek-versi-latepoint.sh /var/www/html
# Pakai untuk versi yang Anda salin: bash cek-versi-latepoint.sh 5.7.6 5.7.7 5.7.8
# Skrip hanya membaca berkas. Skrip tidak mengubah apa pun.

# Versi aman pertama: 5.7.7 menutup celah utama, 5.7.8 menambah perbaikan lain.
AMAN=5.7.7
DISARANKAN=5.7.8

# 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]+(\.[0-9]+)?$ ]]; then
    printf '%-9s TIDAK DIKENAL, cocokkan manual dengan tabel versi aman\n' "$v"
    return
  fi
  if lebih_kecil "$v" "$AMAN"; then
    printf '%-9s RENTAN CVE-2026-118066 -> update ke %s\n' "$v" "$DISARANKAN"
  else
    printf '%-9s AMAN untuk CVE-2026-118066 (celah ditutup mulai %s)\n' "$v" "$AMAN"
  fi
}

DIR=/var/www/html
VERSI=()
for x in "$@"; do
  if [ -d "$x" ]; then DIR="$x"; else VERSI+=("$x"); fi
done

if (( ${#VERSI[@]} > 0 )); then
  for v in "${VERSI[@]}"; do cek "$v"; done
  exit 0
fi

BERKAS="$DIR/wp-content/plugins/latepoint/latepoint.php"
if [ ! -r "$BERKAS" ]; then
  echo "Berkas plugin tidak terbaca: $BERKAS"
  echo "Tulis folder WordPress sebagai argumen, contoh: sudo bash cek-versi-latepoint.sh /var/www/html"
  echo "Bila LatePoint tidak terpasang, tidak ada yang perlu Anda kerjakan untuk CVE ini."
  exit 1
fi
v=$(sed -nE 's/^[[:space:]]*\*?[[:space:]]*Version:[[:space:]]*([0-9.]+).*/\1/p' "$BERKAS" | head -n1)
echo "Folder WordPress: $DIR"
cek "${v:-tidak-terbaca}"
# Di server: baca versi dari folder plugin
sudo bash cek-versi-latepoint.sh /var/www/html
# Cek versi yang Anda catat dari situs lain
bash cek-versi-latepoint.sh 5.7.4 5.7.5 5.7.6 5.7.7 5.7.8
# Cara manual tanpa skrip
grep -i "Version:" /var/www/html/wp-content/plugins/latepoint/latepoint.php
cd /var/www/html && sudo -u www-data wp plugin get latepoint --field=version
Terminal: skrip cek versi membaca LatePoint 5.7.6 sebagai RENTAN. Mode manual: 5.7.4, 5.7.5, dan 5.7.6 rentan, 5.7.7 dan 5.7.8 aman.
Container uji memakai image resmi wordpress:6.8-apache dengan LatePoint 5.7.6. Skrip hanya membaca header Version di berkas plugin. Sumber: uji Rama Digital di container podman dengan image resmi wordpress:6.8-apache dan wordpress:cli, 8 November 2026.

Dari dasbor, buka Plugin > Plugin Terpasang. Baris LatePoint menulis versi Anda.

Cek hasil: "RENTAN" berarti lanjut ke langkah 2 dan 3 hari ini. "AMAN" tetap berarti jalankan langkah 5, karena celah sudah publik sebelum Anda update.

Langkah 2: Cek bagian yang terpapar

Skrip ini menjawab 3 pertanyaan: apakah LatePoint aktif, apakah opsi wp_users_as_customers aktif, dan berapa akun customer yang tersimpan.

Simpan skrip ini sebagai cek-paparan-latepoint.sh. Skrip membaca status plugin dan 1 opsi, lalu menghitung baris di tabel customer. Skrip tidak mengubah data.

#!/usr/bin/env bash
# Cek paparan CVE-2026-118066: apakah LatePoint aktif, versinya, opsi wp_users_as_customers, dan jumlah akun customer.
# Pakai: sudo -u www-data bash cek-paparan-latepoint.sh /var/www/html
# Skrip memakai WP-CLI untuk membaca data. Skrip hanya membaca. Skrip tidak mengirim request serangan.

DIR="${1:-/var/www/html}"
WP() { wp --path="$DIR" --skip-themes --skip-plugins "$@" 2>/dev/null; }

if ! command -v wp >/dev/null 2>&1; then
  echo "WP-CLI tidak ada. Pakai langkah 1 untuk cek versi, lalu cek opsi dari dasbor LatePoint > Settings > General."
  exit 0
fi

echo "1. Status plugin LatePoint"
line=$(WP plugin get latepoint --field=status 2>/dev/null)
ver=$(WP plugin get latepoint --field=version 2>/dev/null)
if [ -z "$ver" ]; then
  echo "   LatePoint tidak terpasang. Tidak ada tindakan untuk CVE ini."
  exit 0
fi
echo "   Versi: $ver  ·  Status: ${line:-tidak diketahui}"
case "$ver" in
  5.7.7|5.7.8|5.7.9) echo "   Versi AMAN untuk CVE-2026-118066." ;;
  *) echo "   PERIKSA: versi di bawah 5.7.7 rentan. Update di langkah 3." ;;
esac

echo "2. Opsi Use WordPress users as customers (wp_users_as_customers)"
prefix=$(WP db prefix 2>/dev/null)
# Catatan: wp db query diam bila stdout masuk pipe. Tangkap ke variabel dulu, lalu olah.
opt_raw=$(WP db query "SELECT value FROM ${prefix}latepoint_settings WHERE name='wp_users_as_customers' LIMIT 1" --skip-column-names 2>/dev/null)
opt=$(printf '%s' "$opt_raw" | tail -n1 | tr -d '[:space:]')
case "$opt" in
  on|1|true) echo "   AKTIF. Dampak celah mencakup akun WordPress role subscriber atau customer yang terkait." ;;
  off|0|""|false) echo "   Mati atau bawaan. Dampak terbatas pada akun customer LatePoint." ;;
  *) echo "   Nilai: ${opt:-tidak terbaca}. Cek manual di dasbor." ;;
esac

echo "3. Jumlah akun customer LatePoint"
jml_raw=$(WP db query "SELECT COUNT(*) FROM ${prefix}latepoint_customers" --skip-column-names 2>/dev/null)
jml=$(printf '%s' "$jml_raw" | tail -n1 | tr -d '[:space:]')
echo "   ${jml:-tidak terbaca} akun. Setiap akun berisi data pribadi pelanggan."

echo
echo "Hasil: bila versi di bawah 5.7.7, lanjut ke langkah 3 hari ini."
# Cek status plugin, versi, opsi wp_users_as_customers, dan jumlah akun customer
sudo bash cek-paparan-latepoint.sh /var/www/html
Terminal: skrip paparan menulis LatePoint aktif versi 5.7.6, opsi wp_users_as_customers AKTIF, dan 2 akun customer. Hasil TERPAPAR.
Dua akun customer adalah data dummy yang kami buat untuk uji. Opsi diaktifkan lewat API resmi LatePoint. Sumber: uji Rama Digital di container podman dengan image resmi wordpress:6.8-apache dan wordpress:cli, 8 November 2026.

Opsi wp_users_as_customers menghubungkan akun WordPress dengan customer LatePoint. Bila opsi ini aktif, celah bisa menyentuh akun WordPress role rendah, bukan hanya akun customer.

Cek hasil: "TERPAPAR" berarti update hari ini. Jumlah akun customer menunjukkan berapa data pribadi yang berisiko.

Langkah 3: Update ke 5.7.8

Hanya update yang menutup celah ini. Buat backup lebih dulu, lalu update.

# 1. Buat backup database dan berkas lewat panel hosting atau snapshot VPS lebih dulu.
cd /var/www/html
# 2. Update plugin ke versi aman (5.7.8)
sudo -u www-data wp plugin update latepoint
# 3. Cek versi lagi
sudo bash ~/cek/cek-versi-latepoint.sh /var/www/html
# 4. Buka halaman booking, lalu pastikan janji temu dan pembayaran jalan normal
Terminal: wp plugin update latepoint menulis Updated ke 5.7.8, skrip cek versi menulis 5.7.8 AMAN, dan penanda patch null_condition serta ctype_alnum ada di kode.
WP-CLI berjalan di container resmi wordpress:cli dengan user www-data. Penanda patch berasal dari diff kode resmi 5.7.6 dan 5.7.7. Sumber: uji Rama Digital di container podman dengan image resmi wordpress:6.8-apache dan wordpress:cli, 8 November 2026.
  1. Buat backup database dan berkas lebih dulu.
  2. Update lewat Plugin > Plugin Terpasang, atau lewat WP-CLI.
  3. Jalankan lagi cek-versi-latepoint.sh. Hasil yang benar: "AMAN".
  4. Buka halaman booking, lalu pastikan janji temu dan pembayaran jalan normal.
  5. Ulangi di setiap situs, termasuk staging dan situs lama.

Di uji kami, update 5.7.6 ke 5.7.8 berhasil lewat wp plugin update latepoint. Sesudah update, kami menemukan penanda patch null_condition di model.php dan ctype_alnum di customer_cabinet_controller.php.

Tangga 5 baris: cek versi, cek paparan, update ke 5.7.8 yang menutup celah, nonaktifkan plugin sementara berlabel tidak membuat aman, lalu cari tanda.
(1) sampai (3): urutan perbaikan. (4): lapisan sementara. Label merah mengingatkan bahwa hanya update yang menutup celah. Sumber: changelog LatePoint, catatan CVE Wordfence, dan analisa Rama Digital.

Cek hasil: skrip versi menulis "AMAN" di setiap situs, dan halaman booking terbuka normal.

Langkah 4: Nonaktifkan plugin sementara bila update tertunda

Langkah ini bukan perbaikan. Langkah ini menghentikan kode rentan sementara, bila Anda belum bisa update hari ini. Booking akan berhenti selama plugin nonaktif.

# Lapisan sementara bila update belum bisa hari ini: hentikan kode rentan
cd /var/www/html
sudo -u www-data wp plugin deactivate latepoint
sudo -u www-data wp plugin list --name=latepoint --fields=name,status,version
# Aktifkan lagi hanya sesudah update ke 5.7.8
# sudo -u www-data wp plugin activate latepoint
Terminal: wp plugin deactivate latepoint menulis Deactivated, daftar plugin menulis status inactive versi 5.7.6, lalu plugin diaktifkan lagi untuk update.
Nonaktif menghentikan kode rentan sementara. Versi tetap 5.7.6, jadi langkah ini bukan perbaikan. Sumber: uji Rama Digital di container podman dengan image resmi wordpress:6.8-apache dan wordpress:cli, 8 November 2026.

Analisa Rama Digital: nonaktif menghapus kode rentan dari jalur web, jadi akun customer aman selama plugin mati. Tetapi versi tetap 5.7.6, dan langkah ini tidak membersihkan akun yang sudah dibobol. Update ke 5.7.8 tetap wajib hari ini.

Cek hasil: daftar plugin menulis inactive, dan halaman booking menampilkan pesan nonaktif. Aktifkan lagi hanya sesudah versi "AMAN".

Langkah 5: Cari tanda pemakaian

Celah sudah publik, jadi cari tanda dari beberapa hari terakhir, terutama bila booking Anda ramai.

Simpan skrip ini sebagai cek-tanda-latepoint.sh. Skrip membaca log akses web, akun customer dengan waktu ubah baru, dan daftar admin WordPress. Skrip mencetak jumlah dan IP, bukan isi request.

#!/usr/bin/env bash
# Cari tanda pemakaian CVE-2026-118066 di akun customer, akun WordPress, dan log akses web.
# Pakai: sudo -u www-data bash cek-tanda-latepoint.sh /var/www/html [berkas log lain ...]
# Skrip hanya membaca. Skrip mencetak jumlah dan waktu, bukan isi request.

DIR="${1:-/var/www/html}"
shift 2>/dev/null
CAND=("$@")
if (( ${#CAND[@]} == 0 )); then
  for f in /var/log/apache2/access.log* /var/log/nginx/access.log* /var/log/httpd/access_log*; do
    CAND+=("$f")
  done
fi
# Pakai hanya berkas biasa. Lewati symlink ke perangkat seperti /dev/stdout, agar skrip tidak menggantung.
LOGS=()
for f in "${CAND[@]}"; do [ -f "$f" ] && LOGS+=("$f"); done
WP() { wp --path="$DIR" --skip-themes --skip-plugins "$@" 2>/dev/null; }
tanda=0

echo "1. Akun customer LatePoint dengan password berubah 14 hari terakhir"
if command -v wp >/dev/null 2>&1; then
  prefix=$(WP db prefix 2>/dev/null)
  rows=$(WP db query "SELECT id, email, updated_at FROM ${prefix}latepoint_customers WHERE updated_at >= DATE_SUB(NOW(), INTERVAL 14 DAY) AND updated_at > created_at ORDER BY updated_at DESC LIMIT 10" --skip-column-names 2>/dev/null)
  jml=$(printf '%s' "$rows" | grep -c .)
  if (( jml > 0 )); then
    echo "   PERIKSA: $jml akun berubah. Pastikan setiap perubahan dari pelanggan sendiri:"
    printf '%s\n' "$rows" | sed 's/^/   /'
    tanda=$((tanda + 1))
  else
    echo "   0 akun berubah dalam 14 hari."
  fi
else
  echo "   WP-CLI tidak ada. Cek manual: akun customer dengan waktu ubah baru di dasbor LatePoint."
fi

echo "2. Akun WordPress role administrator dan pendaftaran baru"
if command -v wp >/dev/null 2>&1; then
  echo "   Administrator:"
  WP user list --role=administrator --fields=user_login,user_registered --format=csv | sed 's/^/   /'
  echo "   Pendaftaran 14 hari terakhir:"
  baru=$(WP user list --fields=user_login,user_registered,roles --format=csv 2>/dev/null | awk -F, -v d="$(date -d '14 days ago' '+%Y-%m-%d' 2>/dev/null || date '+%Y-%m-%d')" 'NR>1 {t=$2; gsub(/"/,"",t); if (t >= d) print}')
  [ -n "$baru" ] && printf '%s\n' "$baru" | sed 's/^/   /' || echo "   tidak ada"
else
  echo "   WP-CLI tidak ada. Cek manual: Pengguna > Semua pengguna, urutkan dari terbaru."
fi

echo "3. Request ke admin-ajax.php LatePoint di log akses web"
if (( ${#LOGS[@]} == 0 )); then
  echo "   Log akses tidak ada. Tulis path log sebagai argumen."
else
  baris=$(zcat -f "${LOGS[@]}" 2>/dev/null | grep -F 'admin-ajax.php' | grep -F 'latepoint')
  jumlah=$(printf '%s' "$baris" | grep -c .)
  if (( jumlah > 0 )); then
    post=$(printf '%s\n' "$baris" | grep -c 'POST')
    echo "   $jumlah request LatePoint, $post POST. Ini campur lalu lintas biasa."
    echo "   5 IP teratas:"
    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 jam IP ini dengan waktu akun berubah di cek 1."
  else
    echo "   0 request LatePoint."
  fi
fi

echo
if (( tanda > 0 )); then
  echo "Hasil: $tanda TANDA perlu diperiksa. Lanjut ke respons insiden bila perubahan bukan dari pelanggan."
else
  echo "Hasil: tidak ada TANDA dari cek ini. Log bisa dihapus penyerang, jadi tetap update dan pantau."
fi
# Cek log akses, akun customer yang berubah, dan admin baru
sudo bash cek-tanda-latepoint.sh /var/www/html
# Log di lokasi lain, misalnya log per situs
sudo bash cek-tanda-latepoint.sh /var/www/html /var/log/nginx/contoh.co.id.access.log*
# Cek daftar admin WordPress
cd /var/www/html
sudo -u www-data wp user list --role=administrator --fields=user_login,user_registered
# Jam update plugin: waktu ubah berkas plugin
date -r wp-content/plugins/latepoint/latepoint.php '+%Y-%m-%d %H:%M'
Terminal: skrip tanda menemukan 1 akun customer berubah dalam 14 hari, 1 admin WordPress baru, dan 3 request ke handler AJAX LatePoint dari IP asing.
Log, akun customer, dan admin baru adalah data dummy yang kami tulis untuk menguji skrip. IP memakai blok dokumentasi RFC 5737. Jam container memakai UTC. Sumber: uji Rama Digital di container podman dengan image resmi wordpress:6.8-apache dan wordpress:cli, 8 November 2026.
Dua kolom tanda: di log web ada banyak request ke handler AJAX LatePoint dari IP asing; di database ada password customer berubah, admin baru, dan login tak biasa.
Kolom amber: tanda di log web. Kolom merah: tanda di database. Kotak bawah: langkah bila Anda menemukan 1 tanda saja. Sumber: catatan CVE Wordfence, diff kode LatePoint 5.7.7, dan analisa Rama Digital.

Pengunjung biasa jarang meminta handler AJAX LatePoint berkali-kali dari 1 IP asing. Jadi pola request yang gagal lalu berhasil ke handler itu patut dicek. Bandingkan jam request dengan waktu ubah akun customer.

Cek hasil: skrip menulis "tidak ada TANDA", dan daftar admin hanya berisi orang yang Anda kenal. Log bisa dihapus penyerang, jadi tidak ada tanda belum berarti aman.

Bila ada 1 tanda saja, nonaktifkan LatePoint lebih dulu, lalu simpan log web dan daftar akun customer sebagai bukti. Reset password semua akun customer dan admin, ganti salt dengan wp config shuffle-salts agar semua sesi login berakhir, lalu update ke 5.7.8 sebelum plugin aktif lagi.

Bila situs 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 situs LatePoint

Simulasi ini memakai data dummy. Nama situs, waktu, dan hasil bukan data pelanggan.

Waktu (WIB)Situs dummyYang dicekHasilTindakan
08.00klinik-a (5.7.6, booking publik)Langkah 1, 2, dan 5RENTAN, 1 akun customer berubah, 3 request handler dari IP asingRespons insiden, lalu update
08.30salon-b (5.7.5, update manual)Langkah 1 dan 2RENTAN, opsi wp_users_as_customers aktifNonaktif, lalu update ke 5.7.8
09.00studio-c (5.7.8, update otomatis)Langkah 1 dan 5AMAN, log bersihCatat versi dan jadwal cek berikutnya

Pelajaran dari simulasi: versi rentan dengan booking ramai butuh langkah 5 dulu, bukan hanya update. Update menutup celah, tetapi tidak menghapus akses yang sudah dipakai.

Siapa yang memasang patch

Tanggung jawab patch berbeda per jenis layanan, jadi tabel ini membantu Anda tahu siapa yang bergerak hari ini.

Jenis layananPemegang patchYang Anda kerjakan
Hosting bersama dengan cPanel atau panel lainAndaCek versi di dasbor, update plugin, dan minta log akses ke penyedia
Hosting WordPress managedPenyedia dan AndaUpdate plugin, lalu minta bukti log tertulis
VPS sendiriTim AndaLangkah 1 sampai 5
Situs buatan agensi atau freelancerSesuai kontrak perawatanTanya versi hari ini, lalu minta jadwal update

Rekomendasi Rama Digital: nyalakan update otomatis untuk plugin booking, karena plugin ini memegang data pelanggan. Bila update otomatis mati, jadwalkan cek versi mingguan dan patch celah kritis dalam 24 jam.

Checklist hari ini

  1. Buat daftar semua situs dengan LatePoint. Pemilik: tim web. Bukti: daftar situs dan versi.
  2. Cek versi dengan langkah 1. Pemilik: admin situs. Bukti: output skrip.
  3. Cek paparan dengan langkah 2. Pemilik: admin situs. Bukti: output skrip.
  4. Buat backup, lalu update ke 5.7.8. Pemilik: admin situs. Bukti: output skrip versi sesudah update.
  5. Bila update tertunda, nonaktifkan plugin dengan langkah 4. Pemilik: admin situs. Bukti: daftar plugin inactive.
  6. Cari tanda dengan langkah 5. Pemilik: admin situs dan tim keamanan. Bukti: output skrip dan daftar admin.
  7. Nyalakan update otomatis plugin booking bila mati tanpa alasan tertulis.

Tanya jawab

Apakah celah ini sudah dipakai menyerang?

Per 8 November 2026, belum ada laporan serangan dan celah belum masuk CISA KEV. Tetapi catatan CVE sudah publik dengan skor 9.1, jadi update hari ini.

Situs saya di 5.7.5. Bukankah 5.7.5 sudah ada perbaikan keamanan?

Penguatan is_scalar di 5.7.5 tidak menutup celah ini. Catatan CVE menandai semua versi sampai 5.7.6 sebagai rentan. Update ke 5.7.8.

Saya tidak memakai opsi wp_users_as_customers. Apakah saya aman?

Tidak. Opsi itu menambah dampak ke akun WordPress, tetapi akun customer LatePoint tetap bisa diambil alih tanpa opsi itu. Update tetap wajib.

Apakah nonaktifkan plugin menutup celah?

Nonaktif menghentikan kode rentan sementara dan booking ikut berhenti. Celah tetap ada di versi lama, jadi langkah ini hanya lapisan sementara, bukan perbaikan.

Apakah plugin firewall bisa menggantikan update?

Tidak. Firewall bisa memblokir sebagian request, tetapi hanya update yang menutup celah di kode plugin. Pasang keduanya.

Bagaimana saya tahu akun customer sudah dibobol?

Jalankan langkah 5. Cek akun customer dengan waktu ubah baru, admin WordPress baru, dan request berulang ke handler AJAX LatePoint dari IP asing.

Langkah berikutnya

Batas yang tetap berlaku: nonaktif bukan perbaikan, dan update tidak menghapus akses yang sudah dipakai penyerang. Bila situs 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