6 poin oleh GN⁺ 8 hari lalu | 7 komentar | Bagikan ke WhatsApp
  • Penyerang yang sama membeli lebih dari 30 plugin WordPress, lalu menyisipkan kode backdoor pada commit pertama sehingga menginfeksi rantai pasok
  • Kode berbahaya tersebut bersembunyi selama sekitar 8 bulan lalu aktif pada awal April 2026 dan menyuntikkan tautan spam serta pengalihan ke banyak situs
  • WordPress.org pada 7 April 2026 menutup permanen 31 plugin terkait hanya dalam satu hari dan mendistribusikan pembaruan paksa
  • Penyerang mengakuisisi portofolio ‘Essential Plugin’ di Flippa dengan nilai enam digit, lalu menyamarkan domain C2 menggunakan smart contract Ethereum
  • Insiden ini merupakan pengulangan serangan rantai pasok berskala besar yang mirip dengan kasus ‘Display Widgets’ tahun 2017, dan memperlihatkan tidaknya pengelolaan kepercayaan dalam ekosistem plugin WordPress

Kasus serangan rantai pasok plugin WordPress

  • Lebih dari 30 plugin WordPress diakuisisi oleh penyerang yang sama lalu ditanami backdoor
  • Penyerang membeli portofolio ‘Essential Plugin’ di Flippa dengan nilai enam digit, lalu menambahkan kode berbahaya pada commit pertama
  • Backdoor tetap tidak aktif selama 8 bulan, lalu aktif pada awal April 2026 dan menginfeksi banyak situs
  • WordPress.org pada 7 April 2026 menutup permanen 31 plugin terkait hanya dalam satu hari
  • Insiden ini dinilai sebagai pengulangan pola serangan rantai pasok yang mirip dengan kasus ‘Display Widgets’ tahun 2017

Penemuan serangan dan respons awal

  • Infeksi pertama terkonfirmasi melalui peringatan keamanan wp-admin di sebuah situs klien
    • Tim plugin WordPress.org memperingatkan bahwa plugin “Countdown Timer Ultimate” memuat kode yang memungkinkan akses tanpa otorisasi
    • WordPress.org mendistribusikan pembaruan paksa (v2.6.9.1), tetapi beberapa situs sudah telanjur rusak
  • Hasil pemeriksaan keamanan menunjukkan modul wpos-analytics pada plugin terhubung ke analytics.essentialplugin.com untuk mengunduh file wp-comments-posts.php, yang kemudian digunakan untuk melakukan penyuntikan besar-besaran kode PHP ke wp-config.php

Cara kerja malware

  • Kode yang disuntikkan menerima tautan spam, pengalihan, dan halaman palsu dari server C2 lalu hanya menampilkannya kepada Googlebot
  • Penyerang menggunakan smart contract Ethereum untuk mengelola domain C2 secara dinamis
    • Karena domain diambil melalui endpoint RPC blockchain, pemblokiran domain biasa tidak dapat menghentikannya
  • Pembaruan paksa dari WordPress.org hanya menghentikan fungsi phone-home plugin, sementara kode berbahaya di wp-config.php tetap tertinggal

Pelacakan waktu infeksi lewat analisis backup

  • Dengan memanfaatkan backup restic dari CaptainCore, ukuran 8 file wp-config.php pada titik waktu berbeda dibandingkan
    • Pada 6 April 2026 antara 04:22~11:06 UTC, ukuran file meningkat dari 3.345 byte menjadi 9.540 byte
    • Ini mengonfirmasi bahwa infeksi terjadi dalam rentang 6 jam 44 menit tersebut

Waktu penyisipan backdoor dan struktur kode

  • Pada plugin versi 2.6.7 (8 Agustus 2025), 191 baris kode baru ditambahkan dan backdoor disisipkan
    • Changelog mencatat perubahan itu sebagai “konfirmasi kompatibilitas dengan WordPress 6.8.2”
  • Fungsi utama dari kode tambahan tersebut
    1. fetch_ver_info() memproses data dari server penyerang dengan @unserialize()
    2. version_info_clean() menjalankan nama fungsi yang diterima dari data jarak jauh
    3. Membuat endpoint REST API yang bisa dipanggil tanpa autentikasi (permission_callback: __return_true)
  • Struktur ini memungkinkan eksekusi fungsi arbitrer (RCE), dan tetap tidak aktif selama 8 bulan sebelum diaktifkan pada 5~6 April 2026

Proses akuisisi plugin

  • Tim pengembang asli adalah WP Online Support yang berbasis di India dan telah mengembangkan plugin sejak 2015
    • Setelah itu melakukan rebranding menjadi Essential Plugin dan mengelola lebih dari 30 plugin gratis dan berbayar
  • Ketika pendapatan turun 35~45% pada akhir 2024, seluruh bisnis didaftarkan untuk dijual di Flippa
  • Pada awal 2025, bisnis tersebut diakuisisi oleh seseorang bernama ‘Kris’ yang memiliki latar belakang pemasaran SEO, kripto, dan judi online
    • Flippa bahkan memuat transaksi ini di blognya sebagai kisah sukses pada Juli 2025
  • Setelah akuisisi, kode backdoor langsung ditambahkan pada commit SVN pertama (8 Agustus 2025)
  • Pada 5~6 April 2026, analytics.essentialplugin.com mulai mendistribusikan payload berbahaya ke semua situs
  • Pada 7 April 2026, WordPress.org menutup permanen semua plugin Essential Plugin (31 buah)

Daftar plugin yang ditutup

  • Accordion and Accordion Slider, Countdown Timer Ultimate, Popup Anything on Click, WP Blog and Widgets, WP Team Showcase and Slider, dan lebih dari 30 plugin lainnya
  • Tidak ada hasil saat mencari penulis terkait di WordPress.org
  • analytics.essentialplugin.com saat ini mengembalikan respons {"message":"closed"}

Kasus serupa di masa lalu

  • Pada 2017, seseorang bernama Daley Tias membeli plugin Display Widgets (200.000 instalasi) seharga $15,000 lalu menyisipkan kode spam
  • Setelah itu, lebih dari 9 plugin diinfeksi dengan cara yang sama
  • Insiden kali ini dikonfirmasi sebagai pengulangan metode yang sama dalam skala lebih besar (lebih dari 30 plugin)

Pemulihan dampak dan pekerjaan patch

  • Pembaruan paksa dari WordPress.org hanya merupakan langkah sementara
    • Modul wpos-analytics sendiri masih tetap ada
  • Dibuat versi patch yang sepenuhnya menghapus modul backdoor secara mandiri
    • Dari 22 situs pelanggan, plugin Essential Plugin ditemukan di 12 situs, dan 10 di antaranya dipatch langsung
    • Versi patch menghapus direktori wpos-analytics, menghapus fungsi loader, dan menambahkan -patched pada nama versi
  • Contoh: Countdown Timer Ultimate, Popup Anything on Click, WP Testimonial with Widget, dan lainnya

Cara patch manual

  • Hapus direktori wpos-analytics/
  • Pada file plugin utama, hapus blok “Plugin Wpos Analytics Data Starts” atau wpos_analytics_anl
  • Tambahkan -patched pada header Version: lalu kompres ulang
  • Instal dengan wp plugin install your-plugin-patched.zip --force
  • Jika ukuran file wp-config.php bertambah sekitar 6KB, anggap sebagai kondisi infeksi aktif dan lakukan pemulihan menyeluruh

Masalah kepercayaan dalam ekosistem plugin WordPress

  • Dalam 2 minggu terakhir, serangan rantai pasok terjadi beruntun
    • Plugin tepercaya diakuisisi lalu disisipi kode berbahaya
    • Hak commit WordPress.org diwariskan begitu saja dan distribusi dilakukan tanpa verifikasi tambahan
  • WordPress.org tidak memiliki pemantauan perubahan kepemilikan maupun prosedur peninjauan ulang kode
    • Tidak ada notifikasi pengguna atau fitur review otomatis saat committer baru ditambahkan
  • Respons tim plugin cukup cepat, tetapi penyisipan backdoor tidak terdeteksi selama 8 bulan
  • Operator situs WordPress perlu memeriksa daftar plugin mereka, lalu segera menghapus atau mem-patch plugin keluarga Essential Plugin, dan juga wajib memeriksa file wp-config.php

7 komentar

 
tebica 8 hari lalu

WordPress sudah saya pakai selama puluhan tahun..
Saya hanya memakai plugin seminimal mungkin, tapi tetap saja selalu terasa tidak tenang.
Meski begitu, dibandingkan situs statis, ini masih lebih nyaman jadi saya belum ingin pindah!

 
tangokorea 7 hari lalu

Begitulah. Terjadi lonjakan yang sangat tajam.

 
xguru 8 hari lalu

WordPress memang benar-benar... terus bermasalah. Jika Anda sudah memakainya, lihat tulisan terkait seperti EmDash.
Saya sudah meninggalkannya dan pindah ke halaman statis saja.

 
colus001 7 hari lalu

Saya sempat mencoba EmDash, tapi untuk tahap awal rasanya terlalu lambat. TTFB-nya pada dasarnya selalu sekitar 3 detik, jadi saya sampai bertanya-tanya apakah ini benar-benar dibuat untuk dipakai.

 
xguru 7 hari lalu

Oh begitu ya. Kalau begitu saya akan puas dengan yang statis saja haha

 
tangokorea 7 hari lalu

Hal ini membuat saya berpikir bahwa AI untuk mengelola halaman statis mungkin bisa menggantikan CMS yang dipenuhi kode warisan.

 
GN⁺ 8 hari lalu
Komentar Hacker News
  • Reaksi berlebihan terhadap Mythos selalu terasa lucu
    Teknologi deteksi kerentanan otomatis mungkin bisa mengguncang industri keamanan, tetapi itu bukan hal yang benar-benar perlu dikhawatirkan
    Stack teknologi dan tata kelola perusahaan saat ini sudah tertinggal zaman
    Kalau harus menunjuk penyebab utama yang memperburuk keadaan, itu adalah kripto. Ini membuat peretasan menjadi industri bernilai miliaran dolar dan bahkan menarik negara seperti Korea Utara
    Sekarang ini sudah menjadi kenyataan bahwa orang bisa sekadar membeli dependensi atau menyuap karyawan agar melakukan “kesalahan”
    Kita bisa menulis perangkat lunak yang nyaris tanpa bug, tetapi kita tidak punya rencana untuk menjaga perusahaan besar tetap aman dalam lingkungan seperti ini
    Agen LLM otonom memang akan dipakai oleh kelompok ransomware, tetapi mereka tidak perlu memakai exploit FreeBSD

    • Saya meragukan pernyataan bahwa “kita bisa memakai perangkat lunak yang nyaris tanpa bug”
      Dalam praktiknya saya setiap minggu menemui bug di PrimeVue, Vue, Spring Boot, Oracle driver, Ansible, driver Nvidia, dan lain-lain
      Secara realistis, kode yang benar-benar tanpa cacat mungkin hanya mungkin untuk pesawat atau wahana antariksa
      Kebanyakan developer bukan tidak mau menulis kode tanpa bug, tetapi sering kali itu tidak mungkin karena kendala lingkungan
    • Seperti kasus LAPSUS$, pernah ada kelompok peretas yang memperoleh akses internal hanya dengan menyuap karyawan
      Ini bukan teori, melainkan kenyataan. Dengan pendanaan setingkat negara, membeli orang dalam jauh lebih mudah
    • Saya melihat ini lebih sebagai masalah budaya organisasi daripada teknologi
      Proyek OSS punya lebih sedikit “bug WTF” dibanding perangkat lunak perusahaan besar
      Dalam lingkungan pengembangan solo, kesalahan yang secara akal sehat tidak akan dilakukan justru bisa lolos dirilis di organisasi karena proses persetujuan atau kebiasaan
      Budaya yang tidak normal, di mana orang tidak bisa bertanya “apakah ini yang terbaik?”, menghasilkan banyak bug
      Di tim kecil lebih mudah mengubahnya, tetapi di organisasi besar biayanya tinggi
    • Jika penyerang bisa memperbarui domain C2 melalui smart contract Ethereum, saya penasaran apakah firewall harus memblokir semua endpoint Ethereum
    • Seperti disebut di artikel The Register, masuk akal bagi penyerang untuk memperlakukan rantai pasok sebagai target analisis biaya-risiko
  • Saat melihat proyek web, hampir selalu dimulai dengan “npm install”, lalu puluhan library terpasang otomatis
    Sering kali bahkan penulisnya sendiri tidak tahu dependensi transitif apa saja yang ikut masuk
    Dalam struktur seperti ini, kemungkinan untuk memverifikasi serangan rantai pasok nyaris tidak ada

    • Karena alasan ini saya sebisa mungkin menghindari paket eksternal
      Baru-baru ini saya menulis alat sinkronisasi cuaca hanya dengan Python standard library
      Tanpa memakai paket eksternal seperti requests pun itu sudah cukup, dan saya mendapatkan ketenangan tanpa dependensi
    • Ada pepatah “jangan menemukan kembali roda”, tetapi kita tetap butuh titik tengah yang tepat
      Logika inti seperti kriptografi tidak boleh diimplementasikan sendiri, tetapi mengandalkan library bahkan untuk fungsi sederhana juga berlebihan
    • Ini bukan hanya masalah web, melainkan masalah umum di semua ekosistem seperti maven, Python, Ruby, dan lainnya
    • Lockfile ternyata sangat membantu
      Jika versi sudah dipatok, maka walaupun paket dijual lalu disisipi backdoor, Anda tidak akan terdampak sampai memperbaruinya sendiri
      Justru yang lebih menakutkan adalah saat Dependabot otomatis membuat PR “patch version” dan menimbulkan risiko
    • Yang lebih buruk lagi adalah kebiasaan seperti sudo curl URL | bash
  • Menurut saya, masalahnya ada pada ideologi update perangkat lunak itu sendiri
    Update memang punya keuntungan berupa patch keamanan, tetapi pada saat yang sama juga berisiko memaksakan perubahan yang tidak diinginkan developer atau bahkan menjadi jahat
    Terutama untuk ekstensi WordPress dari developer individu, menurut saya jauh lebih baik untuk tidak pernah mengizinkan auto-update
    Marketplace wordpress.org tidak mendukung struktur seperti ini sehingga berisiko
    Dulu saya pernah menulis komentar tentang ekstensi Chrome, dan kalau Chrome diganti dengan WordPress isinya masih tetap berlaku

  • Permukaan serangan rantai pasok pada plugin WordPress sudah berbahaya sejak lama
    Penyebabnya adalah struktur ekosistem yang mendorong pemasangan banyak plugin kecil buatan developer individual
    Mengakuisisi lalu menyalahgunakan plugin yang sudah lebih dulu dipercaya adalah metode serangan yang sangat efisien
    Karena “notifikasi update” berfungsi sebagai sinyal kepercayaan, pengguna bahkan tidak sadar penulisnya sudah berganti
    Kita butuh sistem penandatanganan paket dan transparansi, tetapi WordPress lambat dalam meningkatkan infrastruktur keamanannya

    • Kebanyakan pengguna hanya ingin memakai plugin gratis, sehingga situs mereka dipenuhi plugin premium+iklan
      Halaman adminnya sampai terlihat seperti meme toolbar IE6
    • Ini juga alasan saya berhenti membuat situs WordPress untuk klien
      Banyak yang mengira keamanan sudah sempurna hanya dengan memasang versi gratis Securi atau Wordfence tanpa konfigurasi apa pun
    • wp.org terlalu lunak terhadap pelaku jahat
      Malware yang jelas memang diblokir, tetapi bait-and-switch seperti menyisipkan widget iklan dari domain pihak ketiga dibiarkan saja
      Pada level ini, rasanya hampir seperti desain yang disengaja
  • Sayang sekali proyek FAIR package manager tidak berhasil
    fair.pm adalah struktur terdistribusi yang terinspirasi dari atproto, sehingga siapa pun bisa mengoperasikannya tanpa repositori terpusat
    Paket diidentifikasi dengan DID, dan organisasi seperti Socket bisa menempelkan hasil analisis mereka sebagai “labeler”
    Pengguna dapat memblokir paket dengan label tertentu, atau bahkan menjalankan labeler analisis keamanan berbasis AI sendiri
    Ini memang tidak sempurna, tetapi pendekatannya jauh lebih baik daripada package manager terpusat

    • Bukan ditinggalkan, melainkan beralih menjadi fokus teknologi
      Saat ini mereka bekerja sama dengan komunitas Typo3 dan sedang berekspansi ke ekosistem lain (penulisnya adalah salah satu ketua FAIR)
    • Ini bisa menjadi platform alternatif yang menarik untuk npm
      Struktur insentif-nya lebih baik daripada WordPress, tetapi mungkin tetap belum cukup
    • Jika banyak repositori kemungkinan akan dipenuhi kode jahat untuk SEO, maka mencari repositori yang aman hanya lewat search engine akan mustahil
      Desentralisasi memang memberi kebebasan, tetapi dari sudut pandang pengguna tetap terasa merepotkan
    • Saya penasaran apakah FAIR khusus untuk WordPress
  • Hal menarik dari insiden ini adalah plugin tersebut diakuisisi lewat Flippa
    Flippa bukan marketplace khusus WP, melainkan marketplace jual-beli perangkat lunak secara umum
    Ini menimbulkan kekhawatiran bahwa aplikasi atau ekstensi indie yang diakuisisi dengan niat baik bisa dipersenjatai di kemudian hari
    Bagi penyerang, aplikasi seperti ini bahkan lebih berharga daripada bagi operator aslinya

  • Hal paling menakutkan bukan backdoor-nya sendiri, melainkan fakta bahwa akuisisinya terlihat sangat normal
    Membeli plugin tepercaya lalu mendorong update tidak bisa dibedakan dari pemeliharaan yang sah
    Tidak ada sinyal sama sekali yang bisa membuat pengguna curiga

  • Akuisisi yang membatasi persaingan pasar dalam M&A kadang memerlukan persetujuan pemerintah
    Kalau begitu, bukankah akuisisi yang berdampak besar pada keamanan juga seharusnya memerlukan prosedur persetujuan oleh marketplace atau pemerintah?
    Lihat artikel wiki Mergers and acquisitions

  • WordPress dulu hebat berkat plugin, tetapi sekarang justru menjadi ekosistem berbahaya karena struktur plugin itu sendiri
    Saya sudah pindah ke Hugo, dan saya juga merekomendasikan panduan migrasi ini kepada orang lain

  • Tampaknya perusahaan belum benar-benar menyadari seberapa besar kendali yang hilang saat mereka melakukan “outsourcing TI”