Kelemahan Polusi Prototipe yang Tidak Terkirim Mempengaruhi Semua Versi Perpustakaan Lodash Populer - Otak Kita

Kelemahan Polusi Prototipe yang Tidak Terkirim Mempengaruhi Semua Versi Perpustakaan Lodash Populer



Otak Kita - Lodash, pustaka npm populer yang digunakan oleh lebih dari 4 juta proyek di GitHub saja, dipengaruhi oleh kerentanan keamanan tingkat keparahan tinggi yang dapat memungkinkan penyerang berkompromi dengan keamanan layanan yang terpengaruh menggunakan pustaka dan basis pengguna masing-masing.

Lodash adalah perpustakaan JavaScript yang berisi alat untuk menyederhanakan pemrograman dengan string, angka, array, fungsi, dan objek, membantu programmer menulis dan memelihara kode JavaScript mereka lebih efisien.

Liran Tal, seorang advokat pengembang di platform keamanan open-source Snyk, baru-baru ini menerbitkan rincian dan eksploitasi konsep bukti dari kerentanan keamanan polusi prototipe tingkat keparahan tinggi yang memengaruhi semua versi lodash, termasuk versi terbaru 4.17.11.

Kerentanan, ditugaskan sebagai CVE-2019-10744 , berpotensi mempengaruhi sejumlah besar proyek frontend karena popularitas lodash yang sedang diunduh dengan kecepatan lebih dari 80 juta kali per bulan.

Polusi prototipe adalah kerentanan yang memungkinkan penyerang untuk memodifikasi prototipe objek JavaScript aplikasi web, yang seperti variabel yang dapat digunakan untuk menyimpan beberapa nilai berdasarkan struktur yang telah ditentukan.


Struktur dan nilai default ini disebut prototipe yang mencegah aplikasi dari hashing ketika tidak ada nilai yang ditetapkan.

Namun, jika penyerang berhasil menyuntikkan properti ke dalam prototipe konstruk bahasa JavaScript yang ada dan memanipulasi atribut ini untuk menimpa atau mencemari, itu dapat memengaruhi cara aplikasi memproses objek JavaScript melalui rantai prototipe, yang mengarah pada penolakan layanan atau eksekusi kode jarak jauh. kerentanan.

Menurut Tal, fungsi "defaultsDeep" di pustaka Lodash dapat diperdayai untuk menambah atau memodifikasi properti Object.prototype menggunakan payload konstruktor, yang dapat mengakibatkan crash aplikasi web atau mengubah perilakunya, tergantung pada kasus penggunaan yang terpengaruh .

Perlu dicatat bahwa mengeksploitasi kelemahan polusi prototipe tidak mudah dan membutuhkan pengetahuan mendalam tentang bagaimana setiap aplikasi web yang ditargetkan bekerja.

Peneliti yang bertanggung jawab melaporkan kerentanan ini kepada John Dalton, pemelihara Lodash, dan perbaikan yang diusulkan (tarik permintaan 1 dan 2 ) yang akan dimasukkan dalam versi perpustakaan berikutnya, yang diharapkan akan segera dirilis.

Jika proyek Anda juga menggunakan pada lodash, Anda disarankan untuk segera memperbarui perpustakaan Anda segera setelah tambalan resmi dirilis atau secara manual menerapkan perbaikan.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel