یک آسیبپذیری امنیتی در پلاگین @fastify/cors که برای مدیریت CORS در فریمورک وب Fastify استفاده میشود، شناسایی شده است. این نقص امنیتی در نسخههای 8.2.0 تا 11.3.x وجود دارد و میتواند منجر به توقف ناگهانی (Crash) برنامه شود.
جزئیات فنی
این مشکل زمانی رخ میدهد که یک اپلیکیشن، این پلاگین را با گزینه onSend hook (در حالت غیرپیشفرض) ثبت کند. در این شرایط، هنگام دریافت یک درخواست CORS preflight (درخواستهای OPTIONS که دارای هدرهای Origin و Access-Control-Request-Method هستند)، پلاگین متد reply.send را از داخل هوک onSend فراخوانی میکند.
این اقدام باعث ورود مجدد به خط لوله ارسال (send pipeline) شده و در نتیجه، تلاش برای نوشتن مجدد هدرهای پاسخ، خطای ERR_HTTP_HEADERS_SENT را ایجاد میکند. از آنجایی که این خطا به صورت uncaught (بدون مدیریت) است، میتواند منجر به خاتمه یافتن کل پروسهی Node.js شود.
تاثیرات
- نوع حمله: Denial of Service (DoS)
- شدت: Low (پایین)
- شرط وقوع: استفاده از پیکربندی خاص onSend hook در نسخههای آسیبپذیر.