Lỗ hổng nghiêm trọng trên Apache HTTP/2 cho phép thực thi mã từ xa ở các phiên bản 2.4.55 đến 2.4.70
Một lỗ hổng bảo mật nghiêm trọng trong mô-đun mod_http2 của Apache cho phép thực thi mã từ xa mà không cần xác thực. Bản vá đã có sẵn cho phiên bản 2.4.71 và một số bản phân phối Linux cụ thể.
Bài được dịch tự động từ bản gốc tiếng Anh.
Một lỗ hổng bảo mật nghiêm trọng vừa được phát hiện trên Apache HTTP Server, cụ thể là trong mô-đun HTTP/2, mod_http2. Được theo dõi với mã CVE-2026-119618, lỗ hổng này cho phép kẻ tấn công chưa được xác thực thực thi mã tùy ý trên các máy chủ bị ảnh hưởng. Vấn đề tác động đến các phiên bản từ 2.4.55 đến 2.4.70 và đã được khắc phục trong bản phát hành phiên bản 2.4.71 vào ngày hôm qua.
Chuyện gì đã xảy ra
Lỗ hổng nằm trong mô-đun mod_http2, chịu trách nhiệm xử lý lưu lượng HTTP/2 cho máy chủ web Apache. Theo Red Hat, kẻ tấn công có khả năng tiếp cận máy chủ không cần phải xác thực để khai thác lỗ hổng này. Việc khai thác thành công có thể trao cho kẻ tấn công toàn quyền kiểm soát tiến trình máy chủ. Red Hat đánh giá mức độ nghiêm trọng là 9.8/10 trên thang điểm CVSS, chỉ ra mức đe dọa nghiêm trọng (critical). Đánh giá của nhà cung cấp lưu ý rằng các nghiên cứu công khai đã chứng minh một phương pháp khai thác đáng tin cậy chống lại các máy chủ chạy cấu hình mặc định khi bật mod_http2, mặc dù không có bài báo nghiên cứu cụ thể nào được liên kết.
Có những báo cáo mâu thuẫn về việc khai thác đang diễn ra. Trong khi Red Hat nhấn mạnh sự tồn tại của một phương pháp khai thác đáng tin cậy, công ty an ninh Wiz sau đó trong cùng ngày tuyên bố rằng không có mã khai thác công khai nào khả dụng và chưa quan sát thấy hoạt động khai thác trong tự nhiên. Sự khác biệt này gợi ý rằng mặc dù rủi ro lý thuyết là cực kỳ cao và các phương pháp chứng minh khái niệm (proof-of-concept) đã tồn tại, nhưng các cuộc tấn công tự động quy mô lớn có thể chưa diễn ra. Quản trị viên nên coi mối đe dọa là cấp bách do điểm số nghiêm trọng cao và yêu cầu truy cập thấp để khai thác.
Bản sửa lỗi nằm trong Apache HTTP Server phiên bản 2.4.71, phát hành vào ngày hôm qua. Bản cập nhật này cũng giải quyết một lỗi crash trong mô-đun mod_md, được xếp loại quan trọng, và một lỗi ghi đè bộ nhớ stack một byte mức độ nghiêm trọng thấp trong mod_vhost_alias. Đối với những người sử dụng các bản build độc lập của mô-đun từ GitHub dưới tên mod_h2, các phiên bản từ 2.0.8 đến 2.0.42 đều bị ảnh hưởng. Không có bản phát hành sửa lỗi nào được công bố cho các bản build độc lập này, và kho lưu trữ đã ở chế độ chỉ đọc kể từ ngày 9 tháng 6.
Chi tiết chính
- Mã nhận dạng CVE: CVE-2026-119618 ảnh hưởng đến Apache HTTP Server các phiên bản từ 2.4.55 đến 2.4.70.
- Phiên bản đã sửa: Apache HTTP Server 2.4.71 giải quyết vấn đề; mod_h2 độc lập vẫn chưa được sửa.
- Phương thức tấn công: Kẻ tấn công từ xa, chưa xác thực có thể thực thi mã nếu HTTP/2 được bật qua các giao thức h2 hoặc h2c.
- Trạng thái Red Hat: Đã phát hành bản sửa lỗi cho RHEL 9 và 10; RHEL 8 và các phiên bản cũ hơn không bị ảnh hưởng do kiến trúc mô-đun khác nhau.
- Trạng thái Debian: Debian unstable (sid) đã được sửa; Debian bookworm, trixie và forky vẫn dễ bị tổn thương và chưa có bản sửa lỗi được liệt kê.
- Giải pháp tạm thời: Nếu không thể vá ngay lập tức, hãy xóa h2 và h2c khỏi chỉ thị Protocols để vô hiệu hóa HTTP/2.
Bối cảnh
HTTP/2 là một bản sửa đổi lớn của giao thức mạng HTTP được sử dụng bởi World Wide Web. Nó giới thiệu các cải tiến như multiplexing, nén tiêu đề và server push để nâng cao hiệu suất. Trong Apache, chức năng này được cung cấp bởi mô-đun mod_http2. Quản trị viên kích hoạt nó bằng cách sử dụng chỉ thị Protocols trong các tệp cấu hình, chỉ định h2 cho HTTP/2 qua TLS hoặc h2c cho HTTP/2 văn bản thuần túy (clear-text). Vì mô-đun này xử lý các khung nhị phân phức tạp từ yêu cầu của khách hàng, bất kỳ lỗi quản lý bộ nhớ nào trong đó đều có thể dẫn đến các lỗ hổng nghiêm trọng như buffer overflows hoặc use-after-free errors, mà kẻ tấn công có thể lợi dụng để chạy mã độc hại.
Các bản phân phối Linux thường đóng gói Apache khác với dự án gốc. Ví dụ, Red Hat Enterprise Linux (RHEL) sửa đổi mô-đun mod_http2 để cấp cho mỗi luồng HTTP/2 một bộ cấp phát bộ nhớ riêng. Thay đổi kiến trúc này khiến việc khai thác các lỗ hổng hỏng bộ nhớ trở nên khó khăn hơn đáng kể, đó là lý do tại sao Red Hat đánh giá vấn đề này là Quan trọng (Important) thay vì Nghiêm trọng (Critical) đối với RHEL 9 và 10. Các bản phân phối khác như Debian và Ubuntu có thể đóng gói gần với mã nguồn gốc hơn, khiến chúng dễ bị tổn thương trước mức độ nghiêm trọng thô của lỗ hổng.
Tại sao điều này quan trọng
Đối với các đội ngũ quản lý cơ sở hạ tầng tự host (self-hosted), lỗ hổng này đại diện cho một mối đe dọa trực tiếp đối với tính toàn vẹn của máy chủ. Vì cuộc tấn công không yêu cầu xác thực, bất kỳ máy chủ Apache nào có thể truy cập công khai và bật HTTP/2 đều là mục tiêu tiềm năng. Việc bị xâm nhập có thể dẫn đến đánh cắp dữ liệu, gián đoạn dịch vụ hoặc máy chủ bị sử dụng làm điểm nhảy để tấn công sâu hơn vào mạng. Điểm CVSS cao phản ánh sự dễ dàng trong khai thác và tác động tổng thể lên tính bảo mật, tính toàn vẹn và tính sẵn sàng.
Tình hình trở nên phức tạp do trạng thái sửa lỗi khác nhau giữa các hệ điều hành. Trong khi người dùng Apache gốc có thể đơn giản nâng cấp lên 2.4.71, người dùng các nhánh ổn định của Debian hoặc Amazon Linux có thể phải chờ đợi các bản vá cụ thể từ nhà cung cấp. Ngoài ra, những người sử dụng thư viện mod_h2 độc lập đã lưu trữ không có lộ trình vá lỗi chính thức, buộc họ phải dựa vào các giải pháp cấu hình tạm thời vô hiệu hóa hoàn toàn HTTP/2, có thể ảnh hưởng đến hiệu suất cho các khách hàng hiện đại.
Bạn có thể làm gì
- Kiểm tra phiên bản: Xác định xem máy chủ Apache của bạn có chạy giữa các phiên bản 2.4.55 và 2.4.70 hay không, hoặc nếu bạn sử dụng mod_h2 phiên bản 2.0.8–2.0.42.
- Xác minh trạng thái HTTP/2: Xem xét cấu hình của bạn cho chỉ thị Protocols. Nếu h2 hoặc h2c xuất hiện, HTTP/2 đang hoạt động.
- Áp dụng bản vá: Nâng cấp ngay lập tức lên Apache 2.4.71 nếu bạn sử dụng các bản phát hành gốc. Đối với người dùng RHEL, hãy áp dụng các gói mod_http2 cụ thể được liệt kê trong các thông báo tư vấn gần đây.
- Thực hiện giải pháp tạm thời: Nếu bạn không thể vá ngay lập tức, hãy chỉnh sửa cấu hình Apache để xóa h2 và h2c khỏi chỉ thị Protocols, effectively vô hiệu hóa HTTP/2 cho đến khi bản sửa lỗi được áp dụng.
- Theo dõi các tracker của nhà cung cấp: Hãy để mắt đến các tracker bảo mật của Debian, Ubuntu và Amazon Linux để tìm kiếm các bản vá sắp tới, vì một số hiện chưa liệt kê bản sửa lỗi.
- Xem xét các mô-đun độc lập: Nếu bạn sử dụng mod_h2 đã lưu trữ từ GitHub, hãy lên kế hoạch di chuyển sang gói Apache chính hoặc duy trì việc vô hiệu hóa nghiêm ngặt HTTP/2.



