
Tim keamanan GitHub telah mengidentifikasi beberapa kerentanan tingkat tinggi dalam paket npm, “tar” dan “@npmcli/arborist,” yang digunakan oleh npm CLI.
NS ter paket menerima rata-rata 20 juta unduhan mingguan, sedangkan arborist diunduh lebih dari 300.000 kali setiap minggu.
Kerentanan mempengaruhi pengguna berbasis Windows dan Unix, dan jika dibiarkan tidak ditambal, dapat dieksploitasi oleh penyerang untuk mencapai eksekusi kode arbitrer pada sistem yang menginstal paket npm yang tidak tepercaya.
Pemburu hadiah bug diberikan $ 14.500 untuk slip ZIP
Antara Juli dan Agustus tahun ini, peneliti keamanan dan pemburu hadiah bug Robert Chen dan Philip Papurt mengidentifikasi kerentanan eksekusi kode arbitrer dalam paket Node.js open-source, ter dan @npmcli/arborist.
Pada penemuan kerentanan ini, para peneliti secara pribadi memberi tahu npm melalui salah satu program karunia bug GitHub.
Pada tinjauan lebih lanjut dari laporan para peneliti, tim keamanan GitHub menemukan beberapa kerentanan tingkat tinggi dalam paket yang disebutkan di atas, yang memengaruhi sistem berbasis Windows dan Unix.
Paket Node.js ter tetap menjadi ketergantungan inti untuk penginstal yang perlu membongkar paket npm pasca-instalasi. Paket ini juga digunakan oleh ribuan proyek open source lainnya, dan dengan demikian menerima sekitar 20 juta unduhan setiap minggu. NS arborist package adalah dependensi inti yang diandalkan oleh npm CLI dan digunakan untuk mengelola simpul_modul pohon.
Ini slip zip kerentanan menimbulkan masalah bagi pengembang yang menginstal paket npm yang tidak tepercaya menggunakan npm CLI, atau menggunakan “tar” untuk mengekstrak paket yang tidak tepercaya.
Secara default, paket npm dikirimkan sebagai .tar.gz atau .tgz file yang merupakan arsip seperti ZIP dan karenanya perlu diekstraksi oleh alat penginstalan.
Alat yang mengekstrak arsip ini idealnya harus memastikan setiap jalur berbahaya di dalam arsip tidak berakhir menimpa file yang ada, terutama yang sensitif, pada sistem file.
Namun, karena kerentanan yang tercantum di bawah, paket npm saat diekstraksi dapat menimpa file arbitrer dengan hak istimewa pengguna yang menjalankan instal npm memerintah:
- CVE-2021-32803
- CVE-2021-32804
- CVE-2021-37701
- CVE-2021-37712
- CVE-2021-37713
- CVE-2021-39134
- CVE-2021-39135
“CVE-2021-32804, CVE-2021-37713, CVE-2021-39134, dan CVE-2021-39135 secara khusus memiliki dampak keamanan pada npm CLI saat memproses instalasi paket npm yang berbahaya atau tidak tepercaya,” jelas Mike Hanley, Kepala Petugas Keamanan di GitHub.
“Beberapa masalah ini dapat mengakibatkan eksekusi kode arbitrer, bahkan jika Anda menggunakan –ignore-scripts untuk mencegah pemrosesan skrip siklus hidup paket.”
Tim Keamanan GitHub berterima kasih kepada Chen dan Papurt atas pengungkapan tanggung jawab mereka dan memberi mereka hadiah total $14.500 atas upaya mereka dalam menjaga keamanan GitHub.
npm mendesak pengguna untuk memperbaiki kerentanan
npm, yang dimiliki oleh GitHub, juga mendorong pengembang untuk memperbaiki kerentanan ini ASAP dalam tweet:
tindakan yang disarankan: mengikuti kerentanan yang baru ditemukan di `tar` dan `@npmcli/arborist`, kami menyarankan untuk meningkatkan ke versi terbaru dari @nodejs 12/14/16 atau npm 6/7 serta memperbarui semua dependensi yang mungkin Anda miliki di `tar`. Baca selengkapnya: https://t.co/t4WaVwJ0mx
– npm (@npmjs) 8 September 2021
Pengembang harus meningkatkan ter versi dependensi ke 4.4.19, 5.0.11, atau 6.1.10, dan tingkatkan @npmcli/arborist versi 2.8.2 untuk menambal kerentanan.
Untuk npm CLI, versi v6.14.15, v7.21.0, atau yang lebih baru berisi perbaikan. Selain itu, Node.js versi 12, 14, atau 16 hadir dengan perbaikan ter versi dan dapat ditingkatkan dengan aman, menurut GitHub.
Detail lengkap terkait kerentanan ini tersedia di detail GitHub posting blog.






