Kerentanan dalam pakej NPM pac-resolver dengan 3 juta muat turun setiap minggu

Pakej NPM pac-resolver, yang mempunyai lebih 3 juta muat turun setiap minggu, mempunyai kelemahan (CVE-2021-23406) yang membolehkan kod JavaScriptnya dilaksanakan dalam konteks aplikasi apabila menghantar permintaan HTTP daripada projek Node.js yang menyokong fungsi konfigurasi auto pelayan proksi.

Pakej pac-resolver menghuraikan fail PAC yang termasuk skrip konfigurasi proksi automatik. Fail PAC mengandungi kod JavaScript biasa dengan fungsi FindProxyForURL yang mentakrifkan logik untuk memilih proksi bergantung pada hos dan URL yang diminta. Intipati kelemahan ialah untuk melaksanakan kod JavaScript ini dalam pac-resolver, API VM yang disediakan dalam Node.js telah digunakan, yang membolehkan anda melaksanakan kod JavaScript dalam konteks enjin V8 yang berbeza.

API yang ditentukan secara eksplisit ditandakan dalam dokumentasi sebagai tidak bertujuan untuk menjalankan kod yang tidak dipercayai, kerana ia tidak memberikan pengasingan lengkap kod yang sedang dijalankan dan membenarkan akses kepada konteks asal. Isu ini telah diselesaikan dalam pac-resolver 5.0.0, yang telah dipindahkan untuk menggunakan perpustakaan vm2, yang menyediakan tahap pengasingan yang lebih tinggi sesuai untuk menjalankan kod yang tidak dipercayai.

Kerentanan dalam pakej NPM pac-resolver dengan 3 juta muat turun setiap minggu

Apabila menggunakan versi pac-resolver yang terdedah, penyerang melalui penghantaran fail PAC yang direka khas boleh mencapai pelaksanaan kod JavaScriptnya dalam konteks kod projek menggunakan Node.js, jika projek ini menggunakan perpustakaan yang mempunyai kebergantungan dengan penyelesai pac. Perpustakaan bermasalah yang paling popular ialah Proxy-Agent, disenaraikan sebagai pergantungan pada 360 projek, termasuk urllib, aws-cdk, mailgun.js dan firebase-tools, berjumlah lebih daripada tiga juta muat turun setiap minggu.

Jika aplikasi yang mempunyai kebergantungan pada pac-resolver memuatkan fail PAC yang disediakan oleh sistem yang menyokong protokol konfigurasi automatik proksi WPAD, maka penyerang yang mempunyai akses kepada rangkaian tempatan boleh menggunakan pengedaran tetapan proksi melalui DHCP untuk memasukkan fail PAC yang berniat jahat.

Sumber: opennet.ru

Tambah komen