
Muammo 2012-yildan beri ma’lum, ammo hozirgacha u yetarlicha baholanmagan.
JavaScript veb-ilovalari muntazam ifoda xizmatidan voz kechish (ReDoS) hujumlariga zaif. Bu hujum bir muncha vaqtdan beri ma’lum, ammo yetarlicha tan olinmagan. ReDoS hujumchisi veb-serverga yoki dasturga uzun, murakkab JavaScript satrlarini yuborishni o’z ichiga oladi. Agar server komponenti yoki dastur kutubxonasi chekka holatlarni qayta ishlash uchun maxsus sozlanmagan bo’lsa, hujumchining kiritishi server kiritishni tahlil qilib, mos keladiganlarni qidirayotgan paytda dasturni yoki serverni bir necha soniya yoki hatto daqiqaga bloklab qo’yishi mumkin.
JavaScript asosidagi serverlarga ReDoS hujumlari tadqiqotchilar tomonidan 2012-yilda tasvirlangan edi. Biroq, o’sha paytda JavaScript va xususan Node.js veb-ishlab chiquvchilar orasida bugungi kabi mashhur emas edi, shuning uchun hech kim muammoni hal qilish haqida o’ylamagan. O’tgan yili o’tkazilgan tadqiqotga ko’ra, Node.js kutubxonalari va ilovalaridagi barcha zaifliklarning 5% ReDoS zaifliklari hisoblanadi.
Darmshtadt Texnika Universiteti mutaxassislarining fikriga ko’ra, muammo tobora jiddiylashib bormoqda. Kristian-Aleksandru Stayku va Maykl Pradel mashhur Node.js modullarida ilgari noma’lum bo’lgan 25 ta zaiflikni aniqladilar. Ularning so’zlariga ko’ra, tajovuzkor maxsus tayyorlangan paketlarni yaratishi va ulardan foydalanib, ushbu zaifliklar orqali serverga hujum qilishi mumkin.
Bu paketlar serverni bir necha soniya yoki hatto daqiqalar davomida bloklaydi. Buning sababi, server paketlar ichidagi matnni oddiy ifodalar (regex) bilan moslashtirishga va olingan ma’lumotlarni qanday qayta ishlashni hal qilishga harakat qiladi. Ma’lumotlarni kiritish maydonlaridagi bunday regex filtrlari juda keng tarqalgan, chunki ular XSS filtrlari uchun asos bo’lib xizmat qiladi.
Hujumning o’zi jiddiy zarar etkazishi mumkin bo’lsa-da, paketlarni qayta-qayta yuborish yanada ko’proq zarar etkazishi mumkin.
Muntazam ifodalar metabelgilardan foydalanishga asoslangan matndagi kichik satrlarni qidirish va boshqarish uchun rasmiy tildir. Qidiruv qidiruv qoidasini belgilaydigan belgilar va metabelgilardan iborat naqsh satridan foydalanadi.