شاخه اصلی nginx 1.27.4 منتشر شده است که در آن ویژگی های جدید در حال توسعه است و همچنین شاخه پایدار موازی nginx 1.26.3 که فقط شامل تغییرات مربوط به حذف خطاها و آسیب پذیری های جدی است. بهروزرسانیها آسیبپذیری (CVE-2025-23419) را برطرف میکنند که اجازه دور زدن تأیید گواهیهای TLS مشتری را میدهد.
این آسیبپذیری ناشی از عدم اعتبارسنجی مناسب هنگام مدیریت میزبانهای مجازی متصل به یک آدرس IP و شماره پورت واحد است و در طول دسترسی HTTPS بر اساس نام دامنه مشخص شده با استفاده از افزونه SNI TLS انتخاب میشود. در چنین پیکربندیهایی، یک مهاجم میتواند از یک جلسه TLS در زمینه یک میزبان مجازی متفاوت برای دور زدن احراز هویت با استفاده از گواهی TLS کلاینت استفاده مجدد کند. این مشکل در پیکربندیهایی که از از سرگیری جلسه TLS با استفاده از "بلیط جلسه TLS" پشتیبانی میکنند یا از حافظه پنهان جلسه TLS در تنظیمات استفاده میکنند، خود را نشان میدهد. سرور به طور پیشفرض، که از احراز هویت از طریق گواهینامههای TLS کلاینت استفاده میکند. این آسیبپذیری از زمان انتشار nginx 1.11.4، زمانی که با OpenSSL ساخته شده و پروتکل TLSv1.3 را فعال کرده بود، وجود داشته است.
تغییرات غیر امنیتی:
- قابلیتهایی برای کاهش مصرف منابع و بار CPU هنگام استفاده از TLS در پیکربندیهایی با تعداد زیادی بلوک سرور و مکان اضافه شده است. تغییرات اضافه شده به جای ایجاد یک زمینه SSL جداگانه (SSL_CTX در OpenSSL) برای هر بلوک پیکربندی، امکان استفاده از زمینه SSL موجود از بلوک والد را فراهم می کند.
- مشکلات مربوط به بارگذاری طولانی فایلهای پیکربندی به دلیل تجزیه مکرر همان مجموعه برطرف شد. گواهینامههای TLS، کلیدها و فهرستهای مراجع صدور گواهینامه. بارگذاری مجدد پیکربندی با استفاده مجدد از اشیاء TLS بدون تغییر، مانند گواهینامهها، کلیدها و CRLها، تسریع شده است. دستورالعمل "ssl_object_cache_inheritable" برای غیرفعال کردن وراثت اشیاء در حین بهروزرسانیهای پیکربندی اضافه شده است.
- حافظه پنهان برای گواهی ها و کلیدهای بارگیری شده با استفاده از متغیرهای دستورالعمل ها (مانند "ssl_certificate /etc/ssl/$ssl_server_name.crt") اضافه شده است. دستورالعملهای "ssl_certificate_cache"، "proxy_ssl_certificate_cache"، "grpc_ssl_certificate_cache" و "uwsgi_ssl_certificate_cache" برای مدیریت کش اضافه شدهاند. دستورالعمل های مشخص شده به شما امکان می دهد حداکثر اندازه حافظه پنهان، دوره اعتبار رکوردها و زمان پاکسازی رکوردهای استفاده نشده را پیکربندی کنید. به عنوان مثال: "ssl_certificate_cache max=1000 inactive=20s valid=1m;".
- دستورالعمل "keepalive_min_timeout" اضافه شد، که مدت زمانی را تعریف می کند که در طی آن nginx اتصال keep-alive را با مشتری نمی بندد.
- مشکل ظاهر شدن پیامهای گزارش "فیلتر gzip در استفاده از حافظه از پیش اختصاصیافته ناموفق بود" هنگام ساخت با کتابخانه zlib-ng حل شده است.
- رفع مشکل ساخت کتابخانه libatomic هنگام استفاده از گزینه ساخت "--with-libatomic=DIR"
- رفع اشکالی که برقراری ارتباط از طریق پروتکل QUIC را هنگام استفاده از 0-RTT غیرممکن می کرد.
- اطمینان حاصل شود که درخواست های مذاکره نسخه QUIC از سوی مشتریان نادیده گرفته می شود.
- حل مشکلات ساخت بر روی Solaris 10 با ماژول ngx_http_v3_module.
- اشکالات در اجرای HTTP/3 رفع شده است.
منبع: opennet.ru
