NGINX vá lỗi năm lỗ hổng, bao gồm bỏ qua TLS và chèn mã HTTP/3
NGINX đã phát hành các phiên bản 1.30.6 và 1.31.7 để khắc phục năm lỗ hổng bảo mật, trong đó có một lỗi giả mạo phiên TLS và một lỗi chèn yêu cầu HTTP/3.
Bài được dịch tự động từ bản gốc tiếng Anh.
NGINX đã phát hành các phiên bản 1.30.6 và 1.31.7 vào ngày 14 tháng 10 nhằm giải quyết năm lỗ hổng bảo mật ảnh hưởng đến phần mềm máy chủ web của họ. Bản cập nhật do F5, công ty đứng sau NGINX, cung cấp bao gồm các bản vá cho lỗi hỏng bộ nhớ, vấn đề giả mạo phiên TLS và lỗi chèn dữ liệu HTTP/3. Mặc dù chưa có báo cáo về việc khai thác thực tế, các bản vá này vẫn rất quan trọng đối với những quản trị viên đang vận hành hạ tầng tự lưu trữ (self-hosted).
Chuyện gì đã xảy ra
Bản phát hành này giải quyết ba lỗi an toàn bộ nhớ có thể làm sập các tiến trình worker hoặc tiềm ẩn nguy cơ cho phép thực thi mã từ xa. Những vấn đề này phụ thuộc vào sự hiện diện của các chỉ thị cấu hình cụ thể, chẳng hạn như sử dụng alias cùng với quy tắc rewrite, bản đồ regex, hoặc I/O bất đồng bộ với Server Side Includes. F5 xếp hạng các lỗi bộ nhớ này là nghiêm trọng với điểm CVSS v4.0 là 9.2, lưu ý rằng chúng đòi hỏi các điều kiện chính xác để khai thác nhưng gây ra rủi ro đáng kể nếu bị kích hoạt.
Lỗ hổng thứ tư liên quan đến việc xoay vòng khóa ticket phiên TLS tự động. Trong các cấu hình sử dụng cache phiên chia sẻ mà không có tệp khóa rõ ràng, NGINX đã không khởi tạo đúng cách tất cả các khe khóa trong quá trình xoay vòng. Lỗi này có thể cho phép kẻ tấn công giả mạo một phiên TLS, dẫn đến khả năng bỏ qua xác minh chứng chỉ khách hàng. F5 mô tả việc giả mạo này là không xác định và nằm ngoài tầm kiểm soát trực tiếp của kẻ tấn công, nhưng nó vẫn là một rủi ro nghiêm trọng về bỏ qua xác thực. Lỗi thứ năm ảnh hưởng đến các triển khai HTTP/3, cho phép chèn thêm byte vào các yêu cầu được proxy hóa, điều này có thể vượt quá giới hạn kích thước body hoặc làm hỏng dữ liệu backend.
Chi tiết chính
- CVE-2026-15176 là lỗi tràn heap được kích hoạt bởi các chỉ thị
aliasvàrewrite, ảnh hưởng đến các phiên bản từ 0.1.29 đến 1.31.6. - CVE-2026-93479 là lỗi tràn heap trong xử lý bản đồ regex, xuất hiện ở các phiên bản 1.30.0 đến 1.30.5 và 1.31.2 đến 1.31.6.
- CVE-2026-97205 là lỗi use-after-free liên quan đến I/O bất đồng bộ và trang SSI, ảnh hưởng đến các phiên bản từ 0.8.11 đến 1.31.6.
- CVE-2026-95101 cho phép khách hàng HTTP/3 chèn thêm byte vào các yêu cầu được proxy hóa, ảnh hưởng đến các phiên bản từ 1.25.0 đến 1.31.6.
- CVE-2026-97629 cho phép tạo ra các phiên TLS giả mạo có thể bỏ qua kiểm tra chứng chỉ khách hàng, ảnh hưởng đến các phiên bản từ 1.23.2 đến 1.31.6.
- Không có lỗ hổng nào trong số năm lỗ hổng này được liệt kê trong danh mục Các lỗ hổng bị khai thác đã biết (Known Exploited Vulnerabilities) của CISA tính đến ngày 15 tháng 10.
Bối cảnh
NGINX là một máy chủ web hiệu suất cao và reverse proxy được sử dụng rộng rãi cho các ứng dụng tự lưu trữ và hạ tầng doanh nghiệp. Nó xử lý việc kết thúc TLS, cân bằng tải và phục vụ tệp tĩnh. Nhiều quản trị viên dựa vào các cấu hình mặc định hoặc được khuyến nghị, chẳng hạn như cache phiên SSL chia sẻ, để cải thiện hiệu suất bằng cách cho phép khách hàng tiếp tục phiên mà không cần bắt tay đầy đủ. Tuy nhiên, những tối ưu hóa này có thể dẫn đến các vấn đề phức tạp về quản lý trạng thái, như thấy trong lỗi xoay vòng khóa TLS gần đây.
HTTP/3 là phiên bản mới nhất của giao thức HTTP, được xây dựng trên QUIC thay vì TCP. Nó cung cấp thiết lập kết nối nhanh hơn và hiệu suất cải thiện trên các mạng có độ mất gói cao. Vì HTTP/3 còn tương đối mới trong triển khai rộng rãi, nên việc cài đặt nó trong NGINX vẫn đang trong quá trình hoàn thiện. Lỗi gần đây nhấn mạnh cách các lỗi logic phân tích cú pháp trong các giao thức mới có thể dẫn đến các hành vi xử lý dữ liệu không mong muốn, chẳng hạn như truyền các byte không dự kiến đến các dịch vụ backend.
Tại sao điều này quan trọng
Đối với các đội ngũ vận hành phần mềm riêng, những lỗ hổng này làm nổi bật rủi ro khi phụ thuộc vào các cấu hình mặc định. Ví dụ, lỗ hổng bỏ qua TLS tồn tại chính xác trong thiết lập cache phiên SSL chia sẻ được khuyến nghị trong tài liệu NGINX. Các quản trị viên sao chép những ví dụ này mà không hiểu cơ chế xoay vòng khóa nền tảng có thể vô tình khiến hệ thống của họ dễ bị tấn công bỏ qua xác thực. Điều này nhấn mạnh nhu cầu phải kiểm toán cấu hình định kỳ, chứ không chỉ cập nhật phần mềm.
Các lỗi hỏng bộ nhớ cũng gây ra rủi ro về tính ổn định. Một tiến trình worker bị sập có thể dẫn đến gián đoạn dịch vụ, trong khi thực thi mã từ xa có thể làm tổn hại toàn bộ máy chủ. Vì NGINX thường nằm ở rìa mạng, tiếp xúc với lưu lượng không tin cậy, bất kỳ lỗ hổng nào cho phép thực thi mã đều đặc biệt nguy hiểm. Các đội ngũ phải đảm bảo họ đang chạy các nhánh được hỗ trợ, vì các phiên bản cũ hơn như 1.28 không nhận được các bản vá này trừ khi được backport bởi bản phân phối của họ.
Bạn có thể làm gì
- Nâng cấp ngay lập tức lên NGINX 1.30.6 trên nhánh stable hoặc 1.31.7 trên nhánh mainline.
- Nếu bạn không thể nâng cấp, hãy tắt các tính năng cụ thể gây ra từng lỗi, chẳng hạn như tắt
aiohoặc loại bỏ cache phiên SSL chia sẻ. - Chạy
nginx -Tđể kiểm tra cấu hình đang chạy của bạn xem có các chỉ thị rủi ro nhưaliasđi kèmrewritehoặcssl_session_cachechia sẻ hay không. - Kiểm tra xem bản phân phối Linux của bạn đã backport các bản vá hay chưa nếu bạn phụ thuộc vào các bản cập nhật từ trình quản lý gói thay vì nhị phân gốc.
- Xem xét lại các cài đặt HTTP/3 và cân nhắc tắt
proxy_request_buffering.



