شاخه اصلی nginx 1.25.4 منتشر شد که توسعه ویژگی های جدید در آن ادامه دارد. شاخه پایدار موازی 1.24.x فقط شامل تغییرات مربوط به حذف اشکالات و آسیب پذیری های جدی است. در آینده بر اساس شاخه اصلی 1.25.x یک شاخه پایدار 1.26 تشکیل خواهد شد. کد پروژه به زبان C نوشته شده و تحت مجوز BSD توزیع شده است.
نسخه جدید دو آسیبپذیری را در ماژول آزمایشی http_v3_module (به طور پیشفرض غیرفعال) برطرف میکند، که از پروتکل HTTP/3 پشتیبانی میکند، که از پروتکل QUIC به عنوان یک انتقال برای HTTP/2 استفاده میکند. آسیب پذیری اول (CVE-2024-24989) ناشی از عدم ارجاع اشاره گر تهی است و دومین آسیب پذیری (CVE-2024-24990) به دلیل دسترسی به حافظه پس از آزادسازی (CVE-2024-24990) ایجاد می شود. تغییرات نشان میدهد که هر دو آسیبپذیری تنها در هنگام پردازش جلسات QUIC طراحیشده خاص میتوانند منجر به خرابی شوند، اما به نظر نمیرسد آسیبپذیری دوم برای پیامدهای جدیتر آنالیز شده باشد.
علاوه بر رفع آسیبپذیریها، نسخه جدید همچنین شامل پیشرفتها و اصلاحات کلی برای اجرای HTTP/3 است و باگهای مربوط به نشت سوکت، خطاهای سوکت یا خرابی هنگام استفاده از AIO را برطرف میکند. مشکل مربوط به اتصالات با عملیات AIO در انتظار بسته شدن پیش از موعد در طی خاموش شدن نرم فرآیندهای کارگر قدیمی حل شد. رفع خرابی هنگام تغییر مسیر خطاها با کد 415 با استفاده از دستورالعمل error_page هنگام استفاده از پروکسی SSL و دستورالعمل image_filter.
علاوه بر این، چند روز پیش، njs 0.8.4، مفسر جاوا اسکریپت برای وب سرور nginx منتشر شد. مفسر njs استانداردهای ECMAScript را پیادهسازی میکند و به شما امکان میدهد توانایی nginx را برای پردازش درخواستها با استفاده از اسکریپتهای موجود در پیکربندی گسترش دهید. اسکریپت ها را می توان در یک فایل پیکربندی برای تعریف منطق پیشرفته برای پردازش درخواست ها، ایجاد پیکربندی، ایجاد پاسخ به صورت پویا، تغییر درخواست/پاسخ یا ایجاد سریع خرد برای حل مشکلات در برنامه های وب استفاده کرد. نسخه جدید فقط شامل رفع اشکال است.
منبع: opennet.ru