NGINX نسخه‌های ۱٫۳۰٫۵ و ۱٫۳۱٫۶ با وصله CVE-2026-90439 برای overflow در HTTP/3

/images/nginx-http3-cve-2026-90439.png

صفحهٔ اخبار nginx برای ۲۰۲۶ در ۱۵ سپتامبر نوشته nginx-1.30.5 پایدار و nginx-1.31.6 mainline منتشر شدند، با فیکس سرریز بافر هنگام استفاده از ngx_http_v3_moduleCVE-2026-90439. همان روز در صدر security advisories هم نشست: «Buffer overflow when using ngx_http_v3_module»، شدت medium، آسیب‌پذیر 1.29.2–1.31.5، مصون 1.31.6+ و 1.30.5+.

جزئیات فنی را CHANGES mainline برای 1.31.6 و CHANGES-1.30 برای پایدار تکرار می‌کنند: در پیکربندی‌های خاص، وقتی HTTP/3 با OpenSSL 3.5.0 و قبل‌تر استفاده شود، ممکن است در worker heap buffer overflow رخ دهد. گزارش از Banny Liao. اگر HTTP/3 و QUIC روشن نیست، این CVE مسیر شما نیست.

overflow که مهاجم زمان‌بندیش را ندارد

باگ داخل ngx_http_v3_module است، موقع پردازش handshake TLS. پوشش مستقل همان روز می‌گوید overflow غیرقطعی است و خارج از کنترل مهاجم اتفاق می‌افتد؛ مسیر عملی RCE نیست. آنچه می‌ماند restart پروسهٔ worker روی data plane و در بعضی حالت‌ها فساد محدود داده — بدون کنترل‌پلین. خود صفحهٔ advisory پروژه فقط medium و بازهٔ نسخه را ثبت کرده، نه CVSS جدا.

هر دو ریلیز در CHANGES یک hardening کنار CVE دارند: extension پارامترهای انتقال QUIC که داخل اتصال SSL می‌آید از این به بعد همیشه نادیده گرفته می‌شود. advisory جدا برای جعل آدرس HTTP/3 همان صفحه را CVE-2026-40460 نشان می‌دهد (مصون از 1.31.0+ / 1.30.1+).

پایدار جراحی است؛ mainline bugfix 1.31.6 را هم می‌آورد

1.30.5 فقط همان امنیت و ignore برای QUIC transport parameters است. 1.31.6 همان دو مورد را دارد، به‌علاوهٔ bugfixهایی که در CHANGES همان تگ آمده‌اند: binary upgrade اگر سوکت Control API تنظیم باشد و باینری جدید با ngx_http_perl_module ساخته شده باشد کار نمی‌کرد؛ خطای ارزیابی predicate در predicate location نادیده گرفته می‌شد؛ خطای lookup تو در تو ممکن بود با regex/predicate هم‌سطح گم شود؛ فایل پایهٔ باینری خراب برای geo با ranges ممکن بود موقع خواندن config segfault بدهد.

Control API، predicate location، ngx_http_json_module و client_body_early_read مال 1.31.5اند (خبر ۲ سپتامبر همان 2026.html). 1.31.6 آن‌ها را با این پچ یک‌جا می‌کند، نه این‌که از نو معرفی‌شان کند.

اگر HTTP/3 روی OpenSSL کهنه سرو می‌کنید، تگ‌های رسمی 1.30.5 یا 1.31.6 همان وصلهٔ CVE-2026-90439 هستند.

آخرین مطالب