Selasa malam, 20 Oktober 2026, rincian teknis dua lubang di PHP bocor ke publik
empat hari lebih awal dari rencana. Dua puluh empat jam kemudian PHP merilis
tambalan darurat. Dalam 45 menit setelah pengumuman, Cloudflare mencatat puluhan
ribu percobaan serangan. Dua jam kemudian ratusan ribu. Sampai artikel ini ditulis,
angkanya sudah jutaan.

Yang membuat pekan itu berbeda bukan jumlah serangannya. Yang berbeda adalah
siapa yang menemukan lubangnya. Celah itu sudah ada di PHP sejak versi 5.4, lebih
dari satu dekade. Selama itu tidak ada yang bisa membuktikan bahwa ia benar-benar
bisa dieksploitasi, karena merangkainya butuh rantai langkah yang sangat rumit.
Peneliti di Wiz menyebutnya “di batas kemampuan manusia”. Tahun ini ada alat yang
tidak punya batas kesabaran itu.

Pekan itu sekarang disebut Black October.

Yang jebol dalam 72 jam

Bukan satu insiden. Lima, hampir bersamaan, dan sebagian besar menimpa orang yang
mengira dirinya tidak menjalankan apa pun yang berisiko.

  • PHP2Shell (CVE-2026-109618 dan CVE-2026-109619), CVSS 9.2.
    Remote code execution tanpa perlu login sama sekali. Yang diserang adalah PHP-nya
    sendiri, bukan plugin, bukan framework, bukan library. Artinya WordPress, Laravel,
    CodeIgniter, sampai skrip PHP sekali pakai yang kamu tulis lima tahun lalu ikut
    terdampak. Perbaikan: PHP 8.5.12, 8.4.27, 8.3.36, dan 8.2.35.
  • Node.js, 21 Oktober, 10 CVE sekaligus. Yang paling berat adalah
    CVE-2026-111497: decoder Brotli bawaan Node menulis melewati batas buffer kalau
    diberi data terkompresi yang cacat. Kalau aplikasimu menerima unggahan lalu
    mendekompresinya, penyerang bisa merusak memori proses: dari crash sampai eksekusi
    kode. Dua CVE lain (CVE-2026-105483 dan CVE-2026-106069) membobol verifikasi nama
    host TLS: sertifikat untuk satu alamat IP bisa diterima untuk alamat lain hanya
    karena IP-nya ditulis dengan angka lebar atau nol di depan.
  • LiteLLM versi 1.107.0, paket berbahaya di PyPI. Ini yang paling
    sinis. Paketnya bukan diretas lewat celah, paketnya sendiri yang jahat. Versi itu
    dipasang hook startup Python yang mencuri kredensial dari browser, cloud, dan
    environment variable. Kalau kamu memakai LiteLLM untuk menyatukan berbagai model AI,
    versi 1.107.0 berarti kunci API-mu sudah keluar.
  • Railway, 21 Oktober. Penyedia hosting itu mendeteksi aktivitas
    aneh pada sistem yang menyimpan environment variable pelanggan. Artinya: kredensial
    yang kamu simpan di sana, bukan cuma kode yang kamu jalankan.
  • FortiMail, CVE-2026-104286, CVSS 9.8. Ditulis penuh lewat
    penulisan berkas sembarang tanpa autentikasi. CISA memasukkannya ke daftar Known
    Exploited Vulnerabilities di hari yang sama pengumumannya, penanda paling jelas
    bahwa ia sudah dipakai di lapangan, bukan hanya teori.

Perhatikan pola yang muncul kalau kelimanya ditaruh berjajar. Semuanya berada di
lapisan yang biasanya tidak dilihat siapa pun: interpreter bahasa, runtime, dan
paket yang di-install sebagai dependensi. Bukan aplikasimu. Bukan kode yang
kamu tulis. Infrastruktur di bawahnya.

Kenapa sekarang, dan kenapa tidak akan berhenti

Google Threat Intelligence Group merilis angka yang membuat pola ini tidak bisa
disebut kebetulan. Sepanjang 2025, ada 127 kerentanan yang terbukti dieksploitasi
di dunia nyata sepanjang dua belas bulan. Pada delapan bulan pertama 2026, angkanya
sudah 141. Rata-rata naik dari 10,5 per bulan menjadi 18 per bulan.

Jumlah kerentanan yang dipublikasikan per bulan berlipat dua: 5.045 pada Januari
2026, memuncak di 10.740 pada Agustus. Yang dinilai berisiko tinggi naik 167 persen,
dari 131 menjadi 350.

Tapi bagian yang paling penting justru yang sering dilewatkan orang. Dari seluruh
kerentanan yang dipublikasikan tahun ini, hanya 0,23 persen, sekitar satu dari 431,
yang benar-benar terlihat dieksploitasi. Artinya: mempatch semuanya memang
mustahil, dan tidak perlu. Yang perlu adalah tahu mana yang sedang dipakai penyerang
hari ini.

Dan di sinilah pergeserannya. Kenaikan eksploitasi tahun ini sebagian besar bukan
dari zero-day baru, melainkan dari n-day: celah yang tambalannya sudah
terbit, lalu dibongkar balik oleh penyerang. Eksploitasi terhadap celah berisiko
tinggi naik dari 28 sepanjang 2025 menjadi 75 hanya dalam delapan bulan. GTIG
menduga penyebabnya sederhana: model bahasa jauh lebih murah untuk membandingkan
versi lama dan versi tambalan, membaca pengumuman, lalu merakit ulang eksploit,
daripada untuk menemukan lubang yang benar-benar baru.

Konsekuensinya praktis. Menunda tambalan selama dua minggu dulu berarti “belum
sempat”. Sekarang berarti “sudah dieksploitasi, dan eksploitnya bisa diunduh”.

Celah yang sama ada di kode yang kamu tulis dengan AI

Bagian ini yang paling tidak nyaman, karena menyangkut meja kerja sendiri.

Veracode menguji lebih dari 100 model bahasa pada 80 tugas penulisan kode, mencakup
empat bahasa dan empat jenis kerentanan. Hasilnya: hanya 55 persen kode yang
dihasilkan benar-benar aman. Pada kategori cross-site scripting, model gagal
menghasilkan kode yang aman pada 86 persen kasus. Pada log injection, 88 persen.

Yang lebih mengganggu: angka itu tidak membaik seiring model menjadi lebih pintar.
Model yang lebih besar dan lebih baru tidak menghasilkan kode yang jelas lebih aman,
hanya kode yang lebih cepat terlihat benar.

Alasannya masuk akal begitu dipikir. Model belajar dari repositori publik, dan di
sana ada jutaan contoh kode rentan yang berjalan baik di produksi selama bertahun-
tahun. Dari sudut pandang model, pola itu bukan kesalahan. Ia pola yang terbukti
bekerja. Model menyalin apa yang berhasil, bukan apa yang aman.

Jadi ketika seseorang berkata “AI sekarang bisa bikin aplikasi dalam satu sore”,
itu benar, dan itu juga masalahnya. Aplikasi yang dulu butuh tiga minggu sekarang
jadi tiga jam, termasuk tiga minggu kesempatan untuk menyadari bahwa input pengguna
tidak boleh dipercaya.

Yang bisa dilakukan malam ini

Bukan daftar panjang. Lima hal, urut dari yang paling mendesak.

1. Cek versi PHP di servermu

Jalankan php -v di server, atau buka halaman admin WordPress dan lihat
di menu Site Health. Kalau angkanya di bawah 8.2.35, 8.3.36, 8.4.27, atau 8.5.12,
itu pekerjaan malam ini. Untuk PHP 8.1 ke bawah tidak ada rilis tambalan resmi.
PHP hanya menyediakan tambalan sumber untuk 7.4, 8.0, dan 8.1, jadi kamu harus
membuild ulang sendiri atau memakai paket dari distribusi Linux yang sudah
membackport perbaikannya.

Satu hal yang sering salah dipahami: menaruh nginx di depan PHP tidak menutup
celah ini. Nginx hanya meneruskan permintaan ke PHP-FPM. Kalau PHP-nya masih rentan,
permintaan yang dirancang khusus tetap sampai ke sana. WAF membantu memperlambat,
bukan memperbaiki.

2. Periksa apakah kamu memakai LiteLLM 1.107.0

Kalau ya, hapus, lalu putar semua kredensial yang bisa dijangkau
proses itu: kunci API model, token cloud, kredensial database. Menghapus paketnya
tidak menarik kembali kunci yang sudah terkirim.

3. Perbarui Node.js

Versi yang sudah diperbaiki: 26.12.1, 24.22.1, dan 22.23.4. Kalau kamu menjalankan
versi End-of-Life, tidak akan ada perbaikan untukmu. Itu bukan kelalaian proyek,
itu definisi End-of-Life.

4. Putar kredensial yang pernah lewat Railway

Kalau kamu menyimpan environment variable di sana, anggap semuanya sudah terlihat
sampai terbukti sebaliknya. Mulai dari yang paling berkuasa: token deploy, kunci
database, lalu kunci API pihak ketiga.

5. Berhenti memperlakukan “sudah pakai HTTPS” sebagai jawaban

Semua insiden di atas terjadi pada koneksi yang terenkripsi dengan baik. HTTPS
melindungi data saat bergerak. Ia tidak tahu bahwa permintaan yang datang berisi
rangkaian byte yang dirancang untuk membuat interpreter salah hitung.

Yang tidak akan menyelamatkanmu

Beberapa hal yang sering diandalkan dan perlu dikatakan terus terang.

Firewall aplikasi web bukan tambalan. Cloudflare mencatat
penyerang mengubah payload mereka untuk melewati aturan WAF-nya, dalam hitungan jam.
WAF membeli waktu. Waktu hanya berguna kalau dipakai untuk menambal.

Belum ada yang menyerangmu bukan berarti aman. Pemindai otomatis
menyapu seluruh alamat IPv4. Kalau sebuah celah bisa dieksploitasi tanpa autentikasi,
yang menentukan bukan apakah kamu menarik perhatian, tapi apakah portmu terbuka.

“Nanti saja, ini cuma situs kecil.” Justru situs kecil yang paling
lama tidak ditambal, dan justru itu yang paling berguna bagi penyerang: bukan untuk
mencuri isinya, tapi untuk dijadikan titik pijak. Situs yang jarang diperiksa adalah
rumah kosong dengan pintu belakang yang tidak pernah diganti kuncinya.

Dan yang paling penting: kecepatan sekarang berjalan dua arah.
AI memangkas waktu untuk membuat sesuatu, dan memangkas waktu untuk membobolnya
dengan takaran yang tidak seimbang. Membuat aplikasi jadi lebih cepat mungkin dua
kali. Menemukan celahnya jadi lebih cepat berkali lipat, karena menyerang hanya
butuh satu lubang, sementara membangun butuh semuanya benar.

Pekan lalu itu bukan puncak. Itu contoh pertama yang cukup besar untuk semua orang
menyadarinya. Yang bisa kamu kendalikan bukan laju penyerangan itu, melainkan berapa
lama versi PHP di servermu tertinggal.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted