Internet Systems Consortium (ISC) đã phát hành các phiên bản BIND 9.20.29 và 9.21.26 để khắc phục 14 lỗ hổng bảo mật mà tổ chức này đã công bố vào ngày 16 tháng 9 trong BIND 9, phần mềm máy chủ DNS mã nguồn mở phổ biến. Một trong số các lỗi này ảnh hưởng đến bất kỳ máy chủ BIND nào hỗ trợ DNS-over-HTTPS (DoH).
Một người gửi không cần thông tin xác thực có thể làm treo tiến trình máy chủ, named, chỉ với một yêu cầu duy nhất mang chữ ký SIG(0) không hợp lệ, nếu người gửi đóng kết nối trước khi named hoàn tất việc kiểm tra chữ ký.
ISC cho biết trong các thông báo của mình rằng họ chưa ghi nhận trường hợp nào trong số 14 lỗ hổng này bị khai thác trong thực tế.
Các phiên bản khắc phục lỗi
Các bản phát hành đã được sửa lỗi, được mô tả trong ghi chú phát hành của ISC, bao gồm:
- BIND 9.20.29, thuộc nhánh ổn định hiện tại: khắc phục tất cả 14 lỗi.
- BIND 9.21.26, thuộc nhánh phát triển: khắc phục 13 lỗi, vì CVE-2026-19662 không ảnh hưởng đến phiên bản 9.21.
- BIND 9.20.29-S1, phiên bản Supported Preview Edition dành cho khách hàng hỗ trợ: khắc phục tất cả 14 lỗi.
ISC hiện không đưa ra biện pháp khắc phục tạm thời (workaround) nào cho bất kỳ lỗ hổng nào trong số này.
12 trong số 14 lỗi cũng ảnh hưởng đến nhánh 9.18 cũ hơn, bao gồm cả phiên bản 9.18.50, bản phát hành cuối cùng của nhánh này. ISC đã ngừng hỗ trợ cho 9.18 vào cuối tháng 6 và không liệt kê bất kỳ bản phát hành 9.18 nào khắc phục được chúng.
Vào tháng 5, ISC đã khuyến cáo người dùng phiên bản 9.18 nên lập kế hoạch cập nhật lên 9.20 càng sớm càng tốt. Ma trận lỗ hổng của tổ chức này bổ sung thêm rằng "các phiên bản đã hết vòng đời (EOL) nên được coi là dễ bị tổn thương trước các CVE mới."
Các gói hệ điều hành là một vấn đề riêng biệt. Debian 12 cung cấp một gói dựa trên phiên bản 9.18.49 và trình theo dõi bảo mật của họ vẫn chưa liệt kê bất kỳ lỗi nào trong số 14 lỗi này tính đến 06:20 UTC ngày 17 tháng 9.
Điều kiện để kẻ tấn công thực hiện
Hai trong số 14 lỗi có thể được kích hoạt chỉ bằng một yêu cầu đơn lẻ mà kẻ tấn công không cần máy chủ DNS riêng, và cả hai chỉ ảnh hưởng đến các nhánh 9.20 và 9.21. Lỗi gây treo DoH là CVE-2026-77692. Lỗi thứ hai, CVE-2026-76163, cho phép một truy vấn loại TKEY làm treo named khi tệp named.conf của máy chủ không có khối global options.
Các lỗi gây treo máy khác yêu cầu một bộ phân giải đệ quy (recursive resolver) – loại máy chủ tìm kiếm tên thay cho máy khách – nhận dữ liệu được tạo đặc biệt từ một máy chủ do kẻ tấn công kiểm soát.
Một câu trả lời được tạo đặc biệt có thể làm treo bộ phân giải trong cấu hình mặc định (CVE-2026-19667), bộ phân giải sử dụng dns64 với tùy chọn break-dnssec yes (CVE-2026-19666), hoặc bộ phân giải có xác thực (validating resolver) nhận được câu trả lời wildcard mang cả bằng chứng NSEC và NSEC3 (CVE-2026-80274). Lỗi thứ tư, CVE-2026-19662, yêu cầu một thứ tự và thời gian trả lời cụ thể và không ảnh hưởng đến phiên bản 9.21.
Bốn lỗi khác làm cạn kiệt CPU hoặc bộ nhớ của bộ phân giải thay vì làm treo nó, hai trong số đó thông qua các bản ghi alias SVCB/HTTPS được lưu trong bộ nhớ đệm (CVE-2026-81563 và CVE-2026-81736). ISC xếp hạng 7 trong số 14 lỗi ở mức Cao (High), tất cả đều đạt 7.5 trên thang điểm CVSS 3.1. 7 lỗi còn lại ở mức Trung bình (Medium), từ 5.3 đến 6.5.
Bốn lỗi còn lại liên quan đến tính toàn vẹn của dữ liệu DNS – những gì máy chủ cung cấp hoặc những gì bộ phân giải chấp nhận – thay vì gây treo máy hoặc cạn kiệt tài nguyên. ISC xếp hạng cả bốn lỗi này ở mức Trung bình, và mỗi lỗi đều đi kèm với các điều kiện về vị trí của kẻ tấn công hoặc những gì chúng đã kiểm soát.
Hai lỗi cho phép bộ phân giải có xác thực chấp nhận bằng chứng DNSSEC sai. Với CVE-2026-19941, một bản ghi NSEC đã ký từ một vùng (zone) không liên quan có thể được coi là bằng chứng cho thấy không có wildcard nào tồn tại. Kẻ tấn công nằm trên đường truyền (on-path), hoặc một forwarder độc hại kiểm soát một vùng đã ký, có thể sử dụng lỗi này để khiến một câu trả lời NXDOMAIN giả mạo được chấp nhận cho một tên miền lẽ ra phải được phân giải qua wildcard, và câu trả lời đó vẫn vượt qua được bước xác thực DNSSEC.
Với CVE-2026-77119, một bản ghi NSEC3 đã ký từ một vùng chị em không liên quan có thể được coi là bằng chứng cho thấy một delegation (ủy quyền) là không được ký. Kẻ tấn công có khả năng chèn các phản hồi vào truy vấn của bộ phân giải sau đó có thể khiến một câu trả lời không ký giả mạo được chấp nhận cho các tên miền bên dưới delegation đó. ISC mô tả cả hai kết quả này là nhiễm độc bộ nhớ đệm (cache poisoning).
CVE-2026-19033 liên quan đến một máy chủ phụ (secondary server) sao chép một vùng từ máy chủ chính (primary) và chỉ chấp nhận các chuyển giao được ký bằng khóa TSIG. Trong quá trình chuyển giao tăng dần nhiều tin nhắn (IXFR) qua TCP, named có thể bắt đầu cung cấp dữ liệu vùng mới trước khi tin nhắn cuối cùng mang chữ ký đến, và không hoàn tác (roll back) nếu chữ ký đó không bao giờ xuất hiện. Một bên có khả năng cung cấp một đợt chuyển giao như vậy có thể khiến nội dung vùng không được phép được cung cấp mà không cần giữ khóa.
Bản sửa lỗi yêu cầu TSIG trên mọi tin nhắn của một đợt chuyển giao đến, và ISC cho biết các máy chủ tên hiện đại đã ký trên mọi tin nhắn, vì vậy họ hy vọng sẽ không có thay đổi nào trong thực tế.
CVE-2026-78301 yêu cầu quyền truy cập nhiều hơn: một kẻ tấn công có thể tải một vùng bị lỗi cấu hình lên một máy chủ có thẩm quyền (authoritative server), ví dụ thông qua chuyển giao vùng. Một vùng chứa một nút NS hoặc DNAME phía trên điểm gốc của chính nó sau đó được xử lý như một zone cut, vì vậy các truy vấn cho các tên bên trong vùng sẽ trả về một delegation ngoài vùng thay vì dữ liệu của vùng đó.
Nếu máy chủ cũng thực hiện đệ quy, nó có thể đi theo delegation và lưu trữ các bản ghi do kẻ tấn công cung cấp cho các tên bên ngoài vùng, và hiệu ứng này kéo dài chừng nào vùng bị lỗi vẫn còn được tải.
Bảng tổng hợp 14 lỗ hổng
| CVE | Điểm ISC | Ảnh hưởng | Điều kiện | Bản bị ảnh hưởng | Đã vá trong |
|---|---|---|---|---|---|
| CVE-2026-77692 | 7.5 High | Treo named | Máy chủ phản hồi DoH. Yêu cầu SIG(0) không hợp lệ, kết nối đóng sớm | 9.20.0 đến 9.20.27, 9.21.0 đến 9.21.25 | 9.20.29, 9.21.26 |
| CVE-2026-76163 | 7.5 High | Treo named | Truy vấn TKEY. named.conf không có khối global options | 9.20.0 đến 9.20.27, 9.21.0 đến 9.21.25 | 9.20.29, 9.21.26 |
| CVE-2026-19667 | 7.5 High | Treo bộ phân giải | Câu trả lời tiêu cực 65536 bytes từ máy chủ kẻ tấn công. Cấu hình mặc định | 9.11.0 đến 9.18.50, 9.20.0 đến 9.20.27, 9.21.0 đến 9.21.25 | 9.20.29, 9.21.26 |
| CVE-2026-19666 | 7.5 High | Treo bộ phân giải | dns64 với break-dnssec yes. Phản hồi sai hỏng từ cache | 9.11.0 đến 9.18.50, 9.20.0 đến 9.20.27, 9.21.0 đến 9.21.25 | 9.20.29, 9.21.26 |
| CVE-2026-80274 | 7.5 High | Treo bộ phân giải hoặc SERVFAIL | Bộ phân giải có xác thực. Wildcard mang cả NSEC3 và NSEC không ký | 9.11.0 đến 9.18.50, 9.20.0 đến 9.20.27, 9.21.0 đến 9.21.25 | 9.20.29, 9.21.26 |
| CVE-2026-19662 | 5.9 Medium | Treo bộ phân giải | Vùng đã ký của kẻ tấn công. Thứ tự và thời gian trả lời đặc biệt | 9.11.0 đến 9.18.50, 9.20.0 đến 9.20.27 | 9.20.29 |
| CVE-2026-81563 | 7.5 High | Cache vượt giới hạn gây lỗi phân giải | Bộ phân giải theo alias SVCB/HTTPS với hơn 13 bản ghi mục tiêu | 9.18.0 đến 9.18.50, 9.20.0 đến 9.20.27, 9.21.0 đến 9.21.25 | 9.20.29, 9.21.26 |
| CVE-2026-81736 | 7.5 High | Cạn kiệt CPU | Cây alias SVCB/HTTPS trong cache. Khách cho phép đệ quy + vùng kẻ tấn công | 9.18.0 đến 9.18.50, 9.20.0 đến 9.20.27, 9.21.0 đến 9.21.25 | 9.20.29, 9.21.26 |
Phiên bản Supported Preview Edition bị ảnh hưởng trong các dải -S1 tương ứng và được khắc phục trong 9.20.29-S1. Các điểm số là xếp hạng CVSS 3.1 riêng của ISC.
Tình trạng khai thác và thử nghiệm công khai
Mỗi thông báo trong số 14 thông báo của ISC, công bố vào ngày 16 tháng 9, đều cho biết họ "chưa ghi nhận bất kỳ hành vi khai thác tích cực nào." Không có lỗ hổng nào trong số này xuất hiện trong danh mục Các lỗ hổng bị khai thác đã biết của CISA tính đến cùng ngày.
Tuy nhiên, các bài kiểm tra tái hiện lỗi đã được công khai. ISC cho biết vào tháng 5 rằng họ hiện phát hành các bài kiểm tra tái hiện khi công bố lỗ hổng, và cây mã nguồn 9.20.29 đã thêm các bài kiểm tra hệ thống cho ít nhất 6 trong số 14 lỗi, bao gồm một bài kiểm tra gửi yêu cầu SIG(0) không hợp lệ qua DoH, đóng kết nối và kiểm tra xem named có còn hoạt động hay không.
Đây là các bài kiểm tra để xác nhận bản sửa lỗi, không phải công cụ tấn công, nhưng chúng nêu rõ các điều kiện kích hoạt lỗ hổng.
14 là số lượng lỗ hổng lớn nhất trong 5 lần phát hành bảo mật BIND của ISC trong năm nay. ISC đã cảnh báo vào tháng 5 rằng "người dùng nên mong đợi các bản sửa lỗi bảo mật trong mỗi bản phát hành bảo trì BIND hàng tháng" cho đến hết năm 2026, một sự thay đổi mà họ cho rằng bị thúc đẩy bởi làn sóng báo cáo lỗ hổng được tạo ra bởi các mô hình ngôn ngữ lớn (LLM), từ cả các nhà nghiên cứu và kẻ tấn công.
Các bản sửa lỗi đến trong phiên bản 9.20.29 thay vì 9.20.28 vì ISC đã thu hồi bản 9.20.28 trước khi phát hành sau khi thử nghiệm phát hiện một lỗi hồi quy (regression).