Kerentanan Kritis Terdeteksi di WooCommerce pada 13 Juli 2021 – Yang Perlu Anda Ketahui

Diterbitkan: 2021-07-15

Terakhir Diperbarui: 23 Juli 2021

Pada 13 Juli 2021, kerentanan kritis terkait WooCommerce dan plugin fitur Blok WooCommerce diidentifikasi dan diungkapkan secara bertanggung jawab oleh peneliti keamanan Josh, melalui program keamanan HackerOne kami.

Setelah mengetahui masalah tersebut, tim kami segera melakukan penyelidikan menyeluruh, mengaudit semua basis kode terkait, dan membuat tambalan untuk memperbaiki masalah untuk setiap versi yang terpengaruh (90+ rilis) yang diterapkan secara otomatis ke toko yang rentan.

Saya memiliki toko WooCommerce – tindakan apa yang harus saya ambil?

Pembaruan perangkat lunak otomatis untuk WooCommerce 5.5.1 mulai diluncurkan pada 14 Juli 2021, ke semua toko yang menjalankan versi yang terpengaruh dari setiap plugin, tetapi kami tetap sangat menyarankan Anda memastikan bahwa Anda menggunakan versi terbaru. Untuk WooCommerce, ini adalah 5.5.2 * atau angka tertinggi di cabang rilis Anda. Jika Anda juga menjalankan Blok WooCommerce, Anda harus menggunakan versi 5.5.1 dari plugin itu.

Penting : Dengan dirilisnya WooCommerce 5.5.2 pada 23 Juli 2021, proses pembaruan otomatis yang disebutkan di atas telah dihentikan.

Setelah memperbarui ke versi yang ditambal, kami juga merekomendasikan:

  • Memperbarui kata sandi untuk setiap pengguna Admin di situs Anda, terutama jika mereka menggunakan kembali kata sandi yang sama di beberapa situs web
  • Memutar setiap Gateway Pembayaran dan kunci API WooCommerce yang digunakan di situs Anda.

Ada informasi lebih lanjut tentang langkah-langkah di bawah ini.

* WooCommerce 5.5.2 dirilis pada 23 Juli 2021. Perbaikan yang terdapat dalam versi ini tidak terkait dengan kerentanan keamanan baru-baru ini.

Bagaimana saya tahu jika versi saya terbaru?

Tabel di bawah ini berisi daftar lengkap versi yang ditambal untuk Blok WooCommerce dan WooCommerce. Jika Anda menjalankan versi WooCommerce atau Blok WooCommerce yang tidak ada dalam daftar ini, harap segera perbarui ke versi tertinggi di cabang rilis Anda.

Versi WooCommerce yang ditambal Versi Blok WooCommerce yang ditambal
3.3.6 2.5.16
3.4.8 2.6.2
3.5.9 2.7.2
3.6.6 2.8.1
3.7.2 2.9.1
3.8.2 3.0.1
3.9.4 3.1.1
4.0.2 3.2.1
4.1.2 3.3.1
4.2.3 3.4.1
4.3.4 3.5.1
4.4.2 3.6.1
4.5.3 3.7.2
4.6.3 3.8.1
4.7.2 3.9.1
4.8.1 4.0.1
4.9.3 4.1.1
5.0.1 4.2.1
5.1.1 4.3.1
5.2.3 4.4.3
5.3.1 4.5.3
5.4.2 4.6.1
5.5.1 4.7.1
5.5.2 4.8.1
4.9.2
5.0.1
5.1.1
5.2.1
5.3.2
5.4.1
5.5.1

Mengapa situs web saya tidak mendapatkan pembaruan otomatis?

Situs Anda mungkin tidak diperbarui secara otomatis karena sejumlah alasan, beberapa kemungkinan besar adalah: Anda menjalankan versi sebelum versi yang terpengaruh (di bawah WooCommerce 3.3), pembaruan otomatis telah dinonaktifkan secara eksplisit di situs Anda, sistem file Anda read-only, atau ada ekstensi yang berpotensi bentrok yang mencegah pembaruan.

Dalam semua kasus (kecuali contoh pertama, di mana Anda tidak terpengaruh), Anda harus mencoba untuk memperbarui secara manual ke versi patch terbaru pada cabang rilis Anda (misalnya 5.5.2, 5.4.2, 5.3.1, dll), seperti yang tercantum dalam tabel di atas.

Apakah ada data yang dikompromikan?

Berdasarkan bukti yang tersedia saat ini, kami yakin setiap eksploitasi terbatas.

Jika sebuah toko terpengaruh, informasi yang terbuka akan spesifik untuk apa yang disimpan oleh situs tersebut tetapi dapat mencakup informasi pesanan, pelanggan, dan administratif.

Bagaimana saya bisa memeriksa apakah toko saya dieksploitasi?

Karena sifat kerentanan ini, dan cara yang sangat fleksibel yang memungkinkan WordPress (dan dengan demikian WooCommerce) menangani permintaan web, tidak ada cara pasti untuk mengonfirmasi eksploitasi. Anda mungkin dapat mendeteksi beberapa upaya eksploitasi dengan meninjau log akses server web Anda (atau mendapatkan bantuan dari host web Anda untuk melakukannya). Permintaan dalam format berikut yang terlihat antara Desember 2019 dan sekarang kemungkinan menunjukkan upaya eksploitasi:

  • REQUEST_URI pencocokan ekspresi reguler /\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
  • REQUEST_URI pencocokan ekspresi reguler /.*\/wc\/store\/products\/collection-data.*%25252.*/ (perhatikan bahwa ekspresi ini tidak efisien/lambat dijalankan di sebagian besar lingkungan logging)
  • Setiap permintaan non-GET (POST atau PUT) ke /wp-json/wc/store/products/collection-data atau /?rest_route=/wc/store/products/collection-data

Permintaan yang kami lihat mengeksploitasi kerentanan ini berasal dari alamat IP berikut, dengan lebih dari 98% berasal dari yang pertama dalam daftar. Jika Anda melihat salah satu alamat IP ini di log akses Anda, Anda harus menganggap kerentanan telah dieksploitasi:

  • 137.116.119.175
  • 162.158.78.41
  • 103.233.135.21

Kata sandi mana yang perlu saya ubah?

Kecil kemungkinan kata sandi Anda disusupi karena di-hash.

Kata sandi pengguna WordPress di-hash menggunakan garam, yang berarti nilai hash yang dihasilkan sangat sulit untuk dipecahkan. Pendekatan hash asin ini melindungi kata sandi Anda sebagai pengguna admin, dan juga kata sandi pengguna lain di situs Anda, termasuk pelanggan. Meskipun ada kemungkinan versi hash dari kata sandi Anda yang tersimpan di database Anda mungkin telah diakses melalui kerentanan ini, nilai hash harus tidak terlihat dan tetap melindungi kata sandi Anda dari penggunaan yang tidak sah.

Ini mengasumsikan bahwa situs Anda menggunakan manajemen kata sandi WordPress standar untuk pengguna. Tergantung pada plugin yang telah Anda pasang di situs Anda, Anda mungkin memiliki kata sandi atau informasi sensitif lainnya yang disimpan dengan cara yang kurang aman.

Jika salah satu pengguna Administrator di situs Anda mungkin telah menggunakan kembali kata sandi yang sama di beberapa situs web, kami sarankan Anda memperbarui kata sandi tersebut jika kredensial mereka telah disusupi di tempat lain.

Kami juga merekomendasikan untuk mengubah data pribadi atau rahasia yang tersimpan di database WordPress/WooCommerce Anda. Ini mungkin termasuk kunci API, kunci publik/pribadi untuk gateway pembayaran dan banyak lagi, tergantung pada konfigurasi toko khusus Anda.

Sebagai pengembang ekstensi atau penyedia layanan, haruskah kita memberi tahu pedagang WooCommerce kita?

Jika Anda bekerja dengan toko atau pedagang WooCommerce langsung, kami mendorong Anda untuk bekerja sama dengan mereka untuk memastikan mereka mengetahui masalah ini, dan/atau memperbarui toko mereka ke versi yang aman.

Jika Anda telah membuat ekstensi atau menawarkan layanan SaaS yang mengandalkan API WooCommerce, kami mendorong Anda untuk membantu pedagang menyetel ulang kunci untuk terhubung ke layanan Anda.

Sebagai pemilik toko, haruskah saya memberi tahu pelanggan saya?

Apakah Anda mengingatkan pelanggan Anda pada akhirnya terserah Anda. Kewajiban Anda untuk memberi tahu pelanggan atau mengatur ulang hal-hal seperti kata sandi akan bervariasi tergantung pada detail seperti infrastruktur situs Anda, di mana Anda dan pelanggan Anda berada secara geografis, data apa yang dikumpulkan situs Anda, dan apakah situs Anda telah disusupi atau tidak.

Tindakan terpenting yang dapat Anda ambil untuk melindungi pelanggan Anda adalah memperbarui versi WooCommerce Anda ke versi yang telah ditambal dengan perbaikan untuk kerentanan ini.

Setelah memperbarui, kami menyarankan:

  • Memperbarui kata sandi untuk setiap pengguna Administrator di situs Anda, terutama jika Anda menggunakan kembali kata sandi yang sama di beberapa situs web
  • Memutar setiap Gateway Pembayaran dan kunci API WooCommerce yang digunakan di situs Anda.

Sebagai pemilik toko, pada akhirnya keputusan Anda adalah apakah Anda ingin mengambil tindakan pencegahan tambahan seperti menyetel ulang kata sandi pelanggan Anda. Kata sandi pengguna WordPress (dan dengan demikian WooCommerce) di-hash menggunakan garam, yang berarti nilai hash yang dihasilkan sangat sulit untuk dipecahkan. Pendekatan hash asin ini diterapkan ke semua kata sandi pengguna di situs Anda, termasuk kata sandi pelanggan Anda.

Apakah WooCommerce masih aman digunakan?

Ya.

Insiden seperti ini jarang terjadi, tetapi sayangnya terkadang terjadi. Niat kami adalah selalu merespons dengan segera dan beroperasi dengan transparansi penuh.

Sejak mempelajari kerentanan, tim telah bekerja sepanjang waktu untuk memastikan bahwa perbaikan telah dilakukan, dan pengguna kami telah diberi tahu.

Investasi berkelanjutan kami dalam keamanan platform memungkinkan kami untuk mencegah sebagian besar masalah – tetapi dalam kasus langka yang berpotensi berdampak pada toko, kami berusaha untuk memperbaikinya dengan cepat, berkomunikasi secara proaktif, dan bekerja sama dengan Komunitas WooCommerce.

Bagaimana jika saya masih memiliki pertanyaan?

Jika Anda memiliki masalah atau pertanyaan lebih lanjut mengenai masalah ini, tim Happiness Engineers kami siap membantu – membuka tiket dukungan.