Ngày 25/10/2026, Microsoft phát hành bản cập nhật bảo mật ngoài lịch (out-of-band) cho .NET 8, 9, 10 và .NET 11 RC3. Trọng tâm là lỗ hổng tràn bộ đệm trong thư viện giải nén Brotli (CVE-2026-111497), được nguồn gốc đánh giá CVSS 10, mức cao nhất. Đây cũng chính là lỗi trong thư viện Brotli từng buộc Node.js phát hành bản vá tuần trước. Nếu doanh nghiệp đang chạy website, phần mềm quản lý hay API viết bằng ASP.NET, đây là bản cập nhật cần ưu tiên.
Lỗ hổng nằm ở đâu?
Brotli là chuẩn nén dữ liệu phổ biến trên web, giúp giảm dung lượng truyền tải. Các phiên bản Brotli từ 1.0.3 tới 1.2.0 có lỗi khi giải nén dữ liệu được tạo có chủ đích, có thể cho phép kẻ tấn công không cần đăng nhập đọc hoặc làm hỏng bộ nhớ của tiến trình. Ứng dụng .NET có nguy cơ khi dùng một trong các tính năng sau:
- Giải nén yêu cầu gửi lên (request decompression) trong ASP.NET Core;
- Tự động giải nén phản hồi trong HttpClient;
- Thư viện System.IO.Compression để xử lý dữ liệu Brotli.
Điểm đáng mừng: hai tính năng giải nén tự động không bật mặc định, và .NET Framework (bản cũ chạy trên Windows) không bị ảnh hưởng. Tuy nhiên nhiều ứng dụng chủ động bật nén để tăng tốc, nên không thể chủ quan.
Các lỗi khác được vá cùng đợt
- CVE-2026-70197 (CVSS 8,1): ghi ngoài vùng nhớ trong System.Net.Sockets, có thể dẫn tới thực thi mã từ xa.
- CVE-2026-102870 (CVSS 8,8): chèn mã qua trình gỡ lỗi Blazor WebAssembly, cần người dùng tương tác.
- CVE-2026-114148: siêu dữ liệu quyền sở hữu không an toàn trong gói tarball Linux, có thể bị lợi dụng để leo thang đặc quyền cục bộ.
Hai lỗi đầu đã có trong đợt vá ngày 13/10 nhưng được phát hành lại, vì vậy Microsoft khuyến nghị cài bản mới ngay cả khi đã cập nhật tháng 10.
Phiên bản cần cập nhật
- .NET 8: 8.0.33
- .NET 9: 9.0.22
- .NET 10: 10.0.14
- .NET 11: RC3 (người dùng RC2 cần chuyển lên RC3)
Việc cần làm cho bộ phận IT
- Kiểm kê: chạy lệnh
dotnet --list-runtimestrên từng máy chủ để biết phiên bản đang dùng. - Ứng dụng phụ thuộc runtime: cài runtime mới rồi khởi động lại ứng dụng/IIS.
- Ứng dụng self-contained: phải build và triển khai lại bằng SDK mới, cài runtime trên máy chủ không đủ.
- Container: build lại image từ image .NET đã cập nhật rồi triển khai lại.
- Ưu tiên các ứng dụng hướng ra Internet có nhận hoặc chuyển tiếp dữ liệu nén Brotli: cổng thông tin khách hàng, API tích hợp, hệ thống đặt hàng.
- Không để trình gỡ lỗi Blazor WebAssembly chạy trên môi trường thật.
- Nếu thuê ngoài phát triển phần mềm: gửi yêu cầu nhà cung cấp xác nhận bằng văn bản đã cập nhật, kèm phiên bản cụ thể.
Hạn chót cần nhớ: .NET 8 và 9 hết hỗ trợ ngày 10/11/2026
Sau ngày 10/11/2026, .NET 8 và .NET 9 sẽ không còn nhận bản vá bảo mật. .NET 10 là bản hỗ trợ dài hạn tới ngày 14/11/2028, còn .NET 11 dự kiến phát hành chính thức khoảng 10-13/11/2026. Doanh nghiệp nên lên kế hoạch chuyển ứng dụng sang .NET 10 ngay từ bây giờ, vì chỉ còn hơn hai tuần. Việc nâng cấp thường cần kiểm thử lại toàn bộ ứng dụng, đặc biệt các thư viện bên thứ ba.
Đây cũng là thời điểm phù hợp để đánh giá hạ tầng: máy chủ quá cũ, hệ điều hành hết hỗ trợ hay thiếu môi trường kiểm thử riêng đều làm việc vá lỗi chậm và rủi ro hơn. Tham khảo các dòng máy chủ, máy trạm và mini PC tại danh mục Máy chủ – Máy trạm – Mini PC của DTIC, hoặc liên hệ Hotline/Zalo 0913.745.698 để được tư vấn cấu hình phù hợp.
Nguồn tham khảo
- NTCompatible – Microsoft .NET Out-of-Band Update: Fix Critical CVE-2026-111497 Brotli Flaw (25/10/2026)
- Microsoft .NET Blog – .NET and .NET Framework October 2026 servicing updates
