تم إصدار الفرع الرئيسي لـ 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)توجيهات -proxying و image_filter.
أيضًا، قبل بضعة أيام، تم إصدار njs 0.8.4، وهو مترجم جافا سكريبت لـ قاعدة بيانات للانترنت nginx. يُطبّق مُفسّر njs معايير ECMAScript، ويتيح لك توسيع إمكانيات معالجة الطلبات في nginx باستخدام نصوص برمجية للتكوين. يُمكن استخدام هذه النصوص في ملف التكوين لتحديد منطق مُتقدّم لمعالجة الطلبات، وإنشاء التكوينات، وإنشاء الاستجابات ديناميكيًا، وتعديل الطلبات/الاستجابات، أو إنشاء نماذج أولية بسرعة لحلّ المشكلات في تطبيقات الويب. يحتوي الإصدار الجديد على إصلاحات للأخطاء فقط.
المصدر: opennet.ru
