شاخه اصلی 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 ناتمام در هنگام خاتمه تدریجی فرآیندهای کاری قدیمی برطرف شده است. خرابی هنگام هدایت خطاهای ۴۱۵ با استفاده از دستورالعمل error_page هنگام استفاده از SSL-دستورالعملهای پروکسی و فیلتر تصویر.
همچنین، چند روز پیش، njs 0.8.4، یک مفسر جاوا اسکریپت برای وب سرور nginx. مفسر njs استانداردهای ECMAScript را پیادهسازی میکند و به شما امکان میدهد قابلیتهای پردازش درخواست nginx را با استفاده از اسکریپتهای پیکربندی گسترش دهید. اسکریپتها را میتوان در فایل پیکربندی برای تعریف منطق پردازش درخواست پیشرفته، تولید پیکربندیها، تولید پویای پاسخها، تغییر درخواستها/پاسخها یا ایجاد سریع stubها برای حل مشکلات در برنامههای وب استفاده کرد. نسخه جدید فقط شامل رفع اشکالات است.
منبع: opennet.ru
