Hướng dẫn xử lý lỗ hổng RCE nghiêm trọng (CVE-2026-47291) trên Windows HTTP.sys
Một lỗ hổng bảo mật đặc biệt nghiêm trọng có mã định danh CVE-2026-47291 (Điểm CVSS: 9.8 – Critical) vừa được công bố liên quan đến thành phần giao thức HTTP (HTTP.sys) trên hệ điều hành Windows. Đây là lỗ hổng cho phép thực thi mã từ xa (RCE) nguy hiểm nhất hiện nay, đòi hỏi quản trị viên hệ thống Windows Server và IIS phải có biện pháp can thiệp ngay lập tức.
Dưới đây là thông tin chi tiết và hướng dẫn từ Long Vân để giúp quản trị viên bảo vệ máy chủ an toàn.
I. Thông tin lỗ hổng và phạm vi ảnh hưởng
- Tên lỗ hổng: Tràn bộ đệm (Buffer Overflow) trên HTTP.sys – Mã CVE: CVE-2026-47291.
- Mức độ: Cực kỳ nghiêm trọng (CVSS 9.8).
- Chi tiết: HTTP.sys là trình điều khiển xử lý các yêu cầu HTTP/HTTPS lõi của Windows. Lỗ hổng xảy ra do lỗi kiểm tra bộ đệm khi xử lý các gói tin HTTP gửi đến. Kẻ tấn công có thể gửi một gói tin độc hại (crafted request) từ xa để thực thi mã độc trên máy chủ với quyền Hệ thống (System privileges). Quá trình này diễn ra hoàn toàn tự động, không cần xác thực tài khoản (Unauthenticated) và không cần sự tương tác của người dùng (Zero-click).
- Phạm vi ảnh hưởng: Mọi hệ điều hành Windows (bao gồm Windows Server 2016, 2019, 2022, 2025 và Windows 10/11) đang chạy dịch vụ IIS (Internet Information Services) hoặc bất kỳ ứng dụng nào phụ thuộc vào driver http.sys.
II. Cách kiểm tra hệ thống có bị ảnh hưởng
Không phải mọi máy chủ Windows đều gặp rủi ro, hệ thống chỉ bị đe dọa nếu dịch vụ http.sys đang được kích hoạt và mở port ra Internet. Quản trị viên cần kiểm tra bằng các bước sau:
Điều kiện 1: Kiểm tra dịch vụ HTTP có đang chạy hay không
Mở PowerShell (quyền Administrator) và chạy lệnh sau để xem trạng thái của các dịch vụ sử dụng HTTP.sys:
PowerShell
netsh http show servicestate

Nếu kết quả trả về danh sách các Session, URL Groups đang “Active”, điều đó có nghĩa là HTTP.sys đang lắng nghe các yêu cầu và hệ thống có nguy cơ bị tấn công.
Điều kiện 2: Kiểm tra bản vá của hệ điều hành
Sử dụng lệnh PowerShell sau để kiểm tra xem máy chủ đã được cài đặt các bản cập nhật bảo mật mới nhất từ Microsoft chưa:
PowerShell
Get-HotFix | Sort-Object InstalledOn -Descending

Nếu bạn chưa cài đặt bất kỳ bản vá tích lũy (Cumulative Update) nào được phát hành gần đây liên quan đến lỗi này, hệ thống của bạn đang gặp nguy hiểm.
III. Giải pháp tạm thời
Nếu chưa thể lên lịch khởi động lại máy chủ (downtime) để cài đặt bản vá hệ điều hành, quản trị viên có thể áp dụng các biện pháp giảm thiểu rủi ro khẩn cấp sau:
1. Vô hiệu hóa dịch vụ IIS (Đối với máy chủ không chạy Web)
Nếu máy chủ của bạn không đóng vai trò là Web Server (ví dụ: chỉ chạy Database, Active Directory, v.v.), hãy tắt hoàn toàn dịch vụ HTTP để loại bỏ 100% khả năng bị khai thác:
DOS
net stop http /y

(Lưu ý: Lệnh này sẽ làm ngừng hoạt động các dịch vụ phụ thuộc vào http.sys như IIS, WinRM, Print Spooler qua mạng. Hãy cân nhắc kỹ trước khi chạy).
2. Cấu hình Registry giới hạn dung lượng Request (Khuyến nghị chính thức từ Microsoft)
Lỗ hổng tràn bộ đệm này khai thác thông qua các gói tin HTTP có kích thước lớn bất thường. Quản trị viên có thể giới hạn kích thước tối đa của gói tin bằng cách cấu hình khóa MaxRequestBytes trong Registry.
Thực hiện nhanh bằng lệnh PowerShell (Run as Administrator):
Thêm hoặc cập nhật khóa MaxRequestBytes với giá trị an toàn (16384)
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\HTTP\Parameters” -Name “MaxRequestBytes” -Value 16384 -Type DWord
Khởi động lại dịch vụ HTTP để áp dụng
net stop http /y
net start w3svc
Thực hiện thủ công bằng giao diện Registry Editor (regedit):
Bước 1. Mở Start Menu, gõ regedit và mở Registry Editor.

Bước 2. Điều hướng theo đường dẫn sau: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters

Bước 3. Tìm giá trị MaxRequestBytes ở khung bên phải (Nếu chưa có, nhấp chuột phải chọn New > DWORD (32-bit) Value và đặt tên là MaxRequestBytes).

Bước 4. Nhấp đúp vào MaxRequestBytes, chọn Decimal (Thập phân) và nhập một trong hai giá trị sau:
16384: Mặc định, an toàn nhất, miễn nhiễm với lỗ hổng.
65534: Nếu ứng dụng web của bạn yêu cầu nhận request lớn hơn (ví dụ: upload file), hãy dùng số này để web hoạt động bình thường mà vẫn tránh được lỗ hổng.

Bước 5. Nhấn OK, đóng Registry Editor và tiến hành khởi động lại máy chủ (hoặc dùng lệnh net stop http /y và net start http như trên).
3. Tạm tắt tính năng Kernel-mode Caching của IIS (Đối với Web đang Public)
Đối với các website đang phục vụ cộng đồng (như thương mại điện tử, tin tức) không thể đóng port hay chặn IP, bạn có thể vô hiệu hóa bộ đệm nhân (Kernel Caching) để ngăn chặn các truy vấn nhồi nhét dữ liệu gây tràn bộ đệm.
Cách thực hiện qua giao diện IIS Manager:
Bước 1: Mở Internet Information Services (IIS) Manager.

Bước 2: Ở cột bên trái, nhấp chọn vào tên Server (để áp dụng cho toàn cục) hoặc chọn từng Website cụ thể.

Bước 3: Ở khung chính giữa, tìm và nhấp đúp vào tính năng Output Caching.

Bước 4. Ở cột Actions bên phải, nhấp vào mục Edit Feature Settings….

Bước 5: Bỏ dấu tick ở ô Enable kernel cache > Nhấn OK.

Bước 6: restart lại IIS để app dụng cấu hình.
(Lưu ý: Việc tắt Kernel Cache sẽ làm giảm tốc độ xử lý của website và giảm khả năng chịu tải của CPU. Vì vậy, đây chỉ là biện pháp tạm thời, quản trị viên cần ưu tiên tham khảo và thực hiện cập nhật bản vá trực tiếp từ Microsoft trong thời gian sớm nhất).
IV. Cách cập nhật chính thức
Vì HTTP.sys là thành phần lõi (Kernel-mode driver) của Windows. Cách duy nhất để khắc phục triệt để lỗ hổng này là cài đặt bản vá bảo mật chính thức từ Microsoft.
Phương pháp 1: Cập nhật qua Windows Update (Khuyến nghị)
- Truy cập Settings > Update & Security > Windows Update.
- Nhấp vào Check for updates và tải xuống bản cập nhật tích lũy (Cumulative Update) mới nhất.
- Tiến hành cài đặt và khởi động lại máy chủ.
Phương pháp 2: Cập nhật thủ công qua PowerShell
Dành cho quản trị viên muốn thao tác nhanh trên các máy chủ Core:
PowerShell
# Cài đặt module Windows Update (nếu chưa có)
Install-Module PSWindowsUpdate -Force

# Tìm kiếm, cài đặt bản cập nhật và tự động khởi động lại
Get-WindowsUpdate -Install -AcceptAll -AutoReboot
Kiểm tra lại sau khi khởi động (Xác minh bản vá): Sau khi máy chủ hoàn tất khởi động lại, quản trị viên cần kiểm tra để chắc chắn rằng bản cập nhật đã được cài đặt thành công. Mở PowerShell và chạy lệnh sau:
PowerShell
Get-HotFix | Sort-Object InstalledOn -Descending

(Lưu ý: Kiểm tra kết quả trả về, nếu bản cập nhật tích lũy (Cumulative Update) của tháng hiện tại đã xuất hiện trên cùng với ngày cài đặt (InstalledOn) là hôm nay, hệ thống của bạn đã được vá lỗi an toàn).
V. Lưu ý quan trọng
- Bắt buộc khởi động lại: Vì http.sys chạy trong Kernel, việc cài đặt bản vá sẽ yêu cầu khởi động lại (Reboot) hệ điều hành mới có hiệu lực. Hãy lên lịch bảo trì (Maintenance Window) hợp lý để không làm gián đoạn doanh nghiệp.
- Hệ thống ảo hóa/Cloud: Nếu bạn đang sử dụng các máy chủ ảo (Cloud Server) tại Long Vân, bạn có thể tạo Snapshot ổ đĩa hệ thống (OS Drive) trước khi thực hiện update để đảm bảo an toàn, dễ dàng khôi phục nếu quá trình cập nhật Windows gặp lỗi xung đột.
Như vậy, Long Vân đã hoàn thành hướng dẫn xử lý lỗ hổng RCE nghiêm trọng (CVE-2026-47291) trên hệ điều hành Windows, Chúc Quý khách thành công !