Bản vá bảo mật PHP khẩn cấp: hai lỗ hổng RCE đã bị khai thác, cần nâng cấp ngay
PHP vá khẩn hai lỗ hổng RCE CVE-2026-109618 và CVE-2026-109619 (CVSS 9.2) cho toàn bộ nhánh 8.x; mã khai thác đã lưu hành, cần nâng cấp ngay.
3 phút đọc
Mục lục
PHP vừa phát hành bản cập nhật bảo mật cho toàn bộ nhánh PHP 8.x để vá hai lỗ hổng thực thi mã từ xa (RCE). Theo Simon Willison dẫn bài của PHP Foundation, mã khai thác đã lưu hành từ đêm trước ngày phát hành do quy trình công bố phối hợp bị rò rỉ. Hai lỗ hổng mang mã CVE-2026-109618 và CVE-2026-109619, điểm CVSS thực tế là 9.2. Đây là tin đáng chú ý vì lỗi tồn tại trong mã PHP nhiều năm và có thể ảnh hưởng đến các website chạy WordPress, Drupal cùng nhiều framework phổ biến. Bất kỳ ai vận hành hệ thống PHP đều được khuyến cáo nâng cấp ngay.
Chi tiết
Theo bài của PHP Foundation, khoảng 15:00 UTC ngày 20/10, hai mã CVE bắt đầu lan truyền trên diễn đàn và mạng xã hội, kèm giờ phát hành sai và điểm CVSS sai là 10.0 (điểm thật là 9.2). Chưa có chi tiết kỹ thuật nào bị lộ ở thời điểm đó. Để ứng phó, dự án PHP đưa thông báo trước lên 19:30 UTC và dời phát hành từ 14:00 UTC ngày 22/10 sang 14:00 UTC ngày 21/10.
Sau đợt rò rỉ, Calif, một trong các hãng bảo mật đã báo lỗi, vô tình đăng một video quay proof of concept chạy trên nhiều mục tiêu và tiết lộ thêm một vài chi tiết hạn chế về lỗ hổng. Video đã bị xóa nhưng các bản sao nhanh chóng xuất hiện trên mạng xã hội. Theo PHP Foundation, video này góp phần đẩy nhanh việc phát triển nhiều PoC khai thác, khiến mức độ lưu hành tăng lên trong ngày 21/10.
Lỗ hổng gốc do Wiz Research phát hiện bằng Wiz Atlas cùng các mô hình Gemini 4 Argon và GPT-5.6 Sol vào ngày 19/8/2026. Ngày 20/8 họ xác nhận RCE không cần xác thực trên Drupal, và ngày 21/8 trên WordPress. Wiz báo cho đội bảo mật PHP ngày 24/8, PHP xác nhận ngày 21/9 và bắt đầu làm bản vá phối hợp. Bản vá và công bố công khai đều diễn ra ngày 21/10.
Một repo trên GitHub tên php2shell-poc, tác giả ghi là Qi Deng, đã công khai bộ khai thác và quy tắc phát hiện cho hai CVE này, hiện có 1784 sao. README mô tả CVE-2026-109618 là lỗi OOM dẫn đến longjmp để lại trạng thái Zend engine không hợp lệ, còn CVE-2026-109619 là trạng thái global cũ giữa các request của worker FPM gây use-after-free. Theo README, có năm chuỗi tấn công, một số không cần lỗi ứng dụng, và mã dễ bị tấn công kéo dài từ PHP 5.4.0 (2012) đến 8.5.11. README cũng cho rằng PHP ảnh hưởng 78% website, đây là tuyên bố của tác giả repo. Bản vá là một commit thay đổi 300 file trong Zend engine, và repo kèm quy tắc phát hiện cho Suricata, Sigma và ModSecurity.
Điểm nổi bật
- Hai lỗ hổng RCE, CVE-2026-109618 và CVE-2026-109619, cùng điểm CVSS 9.2
- Bản vá phát hành ngày 21/10/2026 cho toàn bộ nhánh PHP 8.x
- Quy trình công bố phối hợp bị rò rỉ, mã khai thác lưu hành từ đêm trước
- Wiz Research phát hiện lỗi, đã xác nhận RCE không cần xác thực trên Drupal và WordPress
- Repo công khai có năm chuỗi RCE kèm quy tắc phát hiện Suricata, Sigma, ModSecurity
Vì sao đáng chú ý
Mã khai thác đã công khai nên thời gian từ lúc có bản vá đến lúc bị tấn công rất ngắn. Lập trình viên và đội vận hành nên kiểm tra phiên bản PHP đang chạy và nâng cấp lên bản vá mới nhất càng sớm càng tốt. Trong lúc chờ nâng cấp, có thể tham khảo các quy tắc phát hiện cho Suricata, Sigma và ModSecurity để theo dõi dấu hiệu tấn công. Sự việc cũng là bài học về rủi ro của quy trình công bố lỗ hổng phối hợp.
Thông tin nhanh
- Kho mã: ikow/php2shell-poc
- Số sao: 1.784 · Fork: 616
- Ngôn ngữ: Python · Giấy phép: MIT
- Chủ đề: cve-2026-109618, cve-2026-109619, detection-rules, exploit, php-exploit, php-security, php2shell, poc
Nguồn: Simon Willison · GitHub
Tin do AI tóm tắt từ nguồn công khai (RSS, GitHub); bấm link nguồn để đọc bài gốc.
Bài này thế nào?
Bài viết có hữu ích với bạn?
Đánh giá giúp mình biết nên viết thêm về chủ đề nào.
