Moment: Ekspresi Reguler yang Rentan

Dibuat pada 8 Sep 2017  ·  24Komentar  ·  Sumber: moment/moment

Ekspresi reguler berikut digunakan untuk mengurai tanggal yang ditentukan sebagai string yang rentan terhadap ReDoS:

/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i

Perlambatan cukup rendah: untuk 50.000 karakter sekitar 2 detik waktu pencocokan. Namun, saya tetap menyarankan salah satu dari yang berikut:

  • hapus regex,
  • jangkar regex,
  • batasi jumlah karakter yang bisa dicocokkan dengan pengulangan,
  • batasi ukuran masukan.

Jika perlu, saya dapat memberikan contoh aktual yang menunjukkan perlambatan.

Bug Up-For-Grabs

Komentar yang paling membantu

Kami akan menghargai itu perbaikan untuk ini dapat dipercepat, sekarang setelah login nsp itu gagal membangun kami.

Semua 24 komentar

Untuk klarifikasi, ini ada di matchWord regex, di /src/lib/parse/regex.js sini .

Berikut adalah diagram rel dari ekspresi reguler . Dari sini kita dapat melihat bahwa pengelompokan dengan pengulangan berkaitan dengan penguraian karakter Arab. Akan sangat membantu jika seseorang yang memahami ekspresi reguler dan bahasa Arab dapat mengambil celah ini.

Gambaran tentang ReDoS juga membantu.

Saya anggap ini belum ada yang mulai

@sukabumi_sukabumi :)

@ditjendikti
Jika perlu, saya dapat memberikan contoh aktual yang menunjukkan perlambatan.

Saya ingin melihat contoh jika memungkinkan :)

@ Drag0s mengirimkannya ke email pribadi Anda.

FYI, ini telah ditambahkan ke NSP (lihat di sini ), jadi ini mungkin akan segera merusak bangunan orang.

@hamiltondanielb - Apakah Anda melihat ke mana-mana?

Baru saja membangun istirahat kami 👯

Sangat menyedihkan bahwa masalah ini harus dipublikasikan sebelum diselesaikan. Terbitan dibuka pada 8 Sep, penasehat NSP diterbitkan hari ini. @cristianstaicu mungkin Anda harus mengingatkan pengelola tentang batas waktu pengungkapan untuk memberikan momentum.

@mattgrande ada meta-ness untuk ini: ternyata versi nsp tempat kami disematkan (2.8.1) tergantung pada momen (melalui joi) jadi itu melaporkan kerentanan pada ketergantungannya sendiri:

1__bash

Mengupgrade ke nsp 3.1.0, menyelesaikan masalah ini karena dependensi sudah tidak ada lagi - jadi waspadalah jika Anda tidak bergantung langsung pada momen.

Apakah sudah ada perbaikan untuk ini?

Mohon saran perbaikan yang tersedia?

Belum ada perbaikan yang diterbitkan.

Silakan, jika Anda tertarik untuk mendapatkan pembaruan dari pengelola, berlangganan pemberitahuan untuk pembaruan masalah ini dengan mengklik "Berlangganan" di kolom sebelah kanan.

Untuk menambahkan pengecualian nsp untuk ini, tambahkan file .nsprc :

{
  "exceptions": [
     "https://nodesecurity.io/advisories/532"
  ]
}

Terima kasih @ westy92 ! Menyelamatkan bangunan saya.

Hai @ westy92 dan @ jacob-go. Saya memiliki kode berikut.
var taskMethods = membutuhkan ('gulpfile-ninecms');
gulp.task ('nsp', taskMethods.nsp);
Ini tidak mengambil pengecualian file .nsprc. Itu terus memberi saya kesalahan kerentanan untuk saat ini.
Saya menambahkan file di root proyek. Apakah ada yang saya lewatkan untuk dilakukan?

@Dexterslab kami menggunakan gulp-nsp , yang berfungsi dengan baik ketika .nsprc ada di direktori proyek (level yang sama dengan package.json ). Mungkin mencoba menggunakan gulp-nsp secara langsung?

@cristianstaicu @mattgrande apakah ini juga terjadi di Luxon?

Kami akan menghargai itu perbaikan untuk ini dapat dipercepat, sekarang setelah login nsp itu gagal membangun kami.

Dapatkah saya menyarankan pengelola untuk mengunci percakapan ini?
Untuk semua orang yang menunggu perbaikan, cukup tekan tombol berlangganan, dan Anda akan diberi tahu.

Jika ada yang ingin melakukan perbaikan, silakan buka PR.

Apakah seseorang perlu memberi tahu nsp bahwa ini telah ditambal? https://nodesecurity.io/advisories/532

Ini telah diperbaiki pada versi 2.19.3. Harap perbarui sebagaimana mestinya.

Saya tidak yakin bagaimana cara memberi tahu NSP - @cristianstaicu dapatkah Anda atau orang lain membantu di sini?

Saya mengirim email ke [email protected] :

Halo,

Kerentanan moment.js yang saat ini luar biasa (https://nodesecurity.io/advisories/532) baru - dirilis di v.2.19.3.

Bagaimana proses untuk melaporkan pembaruan status pada penasehat? Alamat email ini adalah cara terbaik yang bisa saya temukan.

Terima kasih!

Baru saja mendapat balasan bahwa NSP DB harus diperbarui dengan 2.19.3 sebagai versi tetap.

Diverifikasi bahwa 2.19.3 tidak lagi memberi peringatan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

chitgoks picture chitgoks  ·  3Komentar

M-Zuber picture M-Zuber  ·  3Komentar

Shoroh picture Shoroh  ·  3Komentar

RobinvanderVliet picture RobinvanderVliet  ·  3Komentar

danieljsinclair picture danieljsinclair  ·  3Komentar