Đăng nhậpĐăng ký
NGHIÊM CẤM TUYỆT ĐỐI đăng tải, chia sẻ source game lậu, game vi phạm bản quyền hoặc phần mềm crack, bẻ khóa trái phép. Mọi hành vi vi phạm sẽ bị xử lý nghiêm khắc, bao gồm khóa tài khoản vĩnh viễn mà không cần báo trước.

PHP2Shell: Lỗi RCE nghiêm trọng trong lõi PHP, công bố 21/10/2026

Chào mọi người,

Tháng 10/2026 có một vụ bảo mật khá lớn, không phải lỗi của WordPress, plugin hay code của mình, mà là lỗi ngay trong lõi PHP. Cặp lỗi này được gọi là PHP2Shell.

Tóm tắt nhanh

Ngày 21/10/2026, PHP phát hành bản vá khẩn cho 2 lỗi thực thi mã từ xa (RCE) không cần đăng nhập:

  • CVE-2026-109618: RCE do lỗi xử lý khi PHP hết bộ nhớ (OOM corruption)
  • CVE-2026-109619: RCE do trạng thái toàn cục cũ còn sót lại giữa các request trên cùng một worker

Cả hai đều được chấm CVSS 4.0 là 9.2, mức Critical. Điểm đáng sợ là kẻ tấn công không cần tài khoản, và với một số cấu hình như Apache mod_php, request độc hại có thể được xử lý trước cả khi code ứng dụng chạy.

Ai bị ảnh hưởng?

Gần như mọi cách chạy PHP phục vụ web đều nằm trong diện ảnh hưởng: PHP-FPM, Apache mod_php, php-cgi, FrankenPHP và LiteSpeed.

Các phiên bản đã vá:

  • PHP 8.2.35
  • PHP 8.3.36
  • PHP 8.4.27
  • PHP 8.5.12

PHP 8.1 trở xuống đã hết hỗ trợ chính thức, chỉ có bản backport từ mã nguồn, nên nếu còn chạy các nhánh này thì nên lên kế hoạch nâng cấp hoặc tách khỏi internet càng sớm càng tốt.

Đáng chú ý là các nỗ lực khai thác đã được ghi nhận từ ngày 17/10, tức trước cả khi bản vá công bố, và PoC xuất hiện chỉ vài giờ sau khi vá ra mắt. Vì vậy không nên nghĩ là chưa ai quét tới mình.

Nên làm gì?

  1. Kiểm tra phiên bản PHP đang chạy: php -v
  2. Cập nhật lên bản vá tương ứng với nhánh đang dùng, rồi restart PHP-FPM hoặc Apache để worker mới nhận bản vá.
  3. Sau khi vá, rà lại log từ khoảng 17/10 trở đi để xem có request bất thường không.

Biện pháp tạm thời như tắt session.upload_progress.enabled có thể đóng một đường tấn công, nhưng không thay thế được việc vá. Cách khắc phục đầy đủ duy nhất vẫn là cập nhật PHP.

Mọi người đang chạy VPS/server thì kiểm tra thử xem mình đang ở phiên bản nào nhé. Nếu gặp khó khi nâng cấp thì cứ hỏi trong topic này, cùng trao đổi cho dễ.

Nguồn tham khảo:

Bổ sung thêm một tin liên quan, cũng trong tháng 10 này: Node.js cũng dính một vụ tương tự, thậm chí là ngay cùng ngày 21/10/2026 với PHP2Shell.

Vụ này được gọi là Node2Shell, mã CVE-2026-111497. Đây là lỗi ghi vượt giới hạn (out-of-bounds write) trong bộ giải mã Brotli mà Node.js tích hợp sẵn qua node:zlib. Khi ứng dụng giải nén dữ liệu Brotli do người ngoài cung cấp, ví dụ body request đã nén, kẻ tấn công có thể làm crash tiến trình, rò rỉ bộ nhớ hoặc thực thi mã từ xa.

  • Node.js tự đánh giá mức High, còn bản ghi CVE của Google chấm CVSS 4.0 là 9.2 Critical.
  • Các bản đã vá, phát hành ngày 21/10/2026: 22.23.4, 24.22.1 và 26.12.1.
  • Node.js 20 trở xuống đã hết hỗ trợ nên không có bản vá chính thức.
  • Lưu ý: chỉ cập nhật npm không đủ, vì lỗi nằm ở runtime Node.js, phải nâng cấp runtime ở mọi nơi đang chạy và rebuild lại image container.

Điểm thú vị là lỗi gốc không chỉ ở Node.js, mà nằm ở thư viện Brotli của Google (bản 1.0.3 đến 1.2.0), nên .NET và Python cũng phải vá theo sau đó, .NET ra bản vá ngoài lịch vào ngày 25/10. Sau đó CISA đã đưa CVE này vào danh mục KEV ngày 27/10, tức đã có bằng chứng khai thác thực tế.

Nói chung tháng 10/2026 đúng là tháng của các lỗi runtime: vá PHP xong thì đừng quên kiểm tra luôn Node.js trên cùng server nhé.

Nguồn tham khảo:

Đăng nhập để phản hồi.Đăng nhập