Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.5.0-alpha.14 and 8.6.11, a malicious client can subscribe to a LiveQuery with a crafted $regex pattern that causes catastrophic backtracking, blocking the Node.js event loop. This makes the entire Parse Server unresponsive, affecting all clients. Any Parse Server deployment with LiveQuery enabled is affected. The attacker only needs the application ID and JavaScript key, both of which are public in client-side apps. This only affects LiveQuery subscription matching, which evaluates regex in JavaScript on the Node.js event loop. Normal REST and GraphQL queries are not affected because their regex is evaluated by the database engine. This vulnerability is fixed in 9.5.0-alpha.14 and 8.6.11.
Parse Server versions prior to 9.5.0-alpha.14 and 8.6.11 are vulnerable to ReDoS attacks via crafted $regex patterns in LiveQuery subscriptions, causing complete server unresponsiveness. Attackers need only public credentials (Application ID and JavaScript key) to exploit this vulnerability affecting all connected clients.
تسمح هذه الثغرة للمهاجمين بإرسال أنماط regex معقدة عبر اشتراكات LiveQuery تسبب تراجعاً كارثياً في محرك التعبيرات العادية. يؤدي هذا إلى حجب حلقة أحداث Node.js بالكامل، مما يجعل خادم Parse غير مستجيب لجميع العملاء. الهجوم يتطلب فقط بيانات اعتماد عامة متاحة في تطبيقات العميل.
خوادم Parse السابقة للإصدار 9.5.0-alpha.14 و 8.6.11 عرضة لهجمات ReDoS من خلال أنماط $regex المصممة في اشتراكات LiveQuery، مما يسبب عدم استجابة الخادم بالكامل. يحتاج المهاجمون فقط إلى بيانات اعتماد عامة (معرف التطبيق ومفتاح JavaScript) لاستغلال هذه الثغرة التي تؤثر على جميع العملاء المتصلين.
Immediately upgrade Parse Server to version 9.5.0-alpha.14 or 8.6.11 or later. If immediate upgrade is not possible, disable LiveQuery functionality until patching is completed. Implement network-level rate limiting and IP whitelisting for LiveQuery endpoints. Monitor Node.js event loop performance for signs of ReDoS attacks.
قم بترقية Parse Server فوراً إلى الإصدار 9.5.0-alpha.14 أو 8.6.11 أو أحدث. إذا لم يكن الترقية الفورية ممكنة، قم بتعطيل وظيفة LiveQuery حتى يتم إصلاح الثغرة. طبق تحديد معدل على مستوى الشبكة وقائمة بيضاء IP لنقاط نهاية LiveQuery. راقب أداء حلقة أحداث Node.js للكشف عن علامات هجمات ReDoS.