Offshore Software Development
NEWARIS VIETNAM – 5 năm kinh nghiệm phát triển phần mềm thiết bị bán dẫn, từ năng lực kỹ thuật đến trách nhiệm triển khaiĐọc ngay →
Trang chủ/Blog/Lỗ hổng PHP2Shell: doanh nghiệp đang dùng hệ thống PHP cũ nên làm gì?
PHPBảo mậtLỗ hổngLaravelWordPress

Lỗ hổng PHP2Shell: doanh nghiệp đang dùng hệ thống PHP cũ nên làm gì?

Lỗ hổng PHP2Shell (CVE-2026-109618, CVE-2026-109619) chỉ có bản vá cho PHP 8.2 trở lên. Hệ thống PHP cũ, không người bảo trì nên xử lý thế nào: dấu hiệu rủi ro, ba lựa chọn vá tạm, nâng cấp hay làm lại, và checklist tự đánh giá.

ARIS Vietnam
ARIS Vietnam

Cập nhật lần cuối: 22/10/2026.

Ngày 21/10/2026, PHP phát hành bản vá khẩn cấp cho hai lỗ hổng nghiêm trọng có tên chung là PHP2Shell (CVE-2026-109618, CVE-2026-109619). Lỗ hổng cho phép kẻ tấn công chạy mã trên máy chủ mà không cần đăng nhập. Mức độ nghiêm trọng đến mức nhiều cơ quan chính phủ ở châu Âu đã tạm tắt website trong lúc chờ cập nhật.

Phần lớn website chạy PHP sẽ được vá trong vài ngày tới. Nhưng với nhiều doanh nghiệp, câu hỏi khó hơn nằm ở phía sau: nếu hệ thống của bạn không vá được, hoặc không ai biết nó đang chạy phiên bản nào, thì sao?

Bài viết này dành cho chủ doanh nghiệp và người phụ trách IT đang vận hành website, cửa hàng trực tuyến hoặc hệ thống nội bộ viết bằng PHP, đặc biệt là những hệ thống đã chạy nhiều năm.

Vá lần này dễ hay khó, tùy hệ thống của bạn

Bản vá chỉ có cho các phiên bản PHP còn được hỗ trợ: 8.2.35, 8.3.36, 8.4.27 và 8.5.12. Từ đây có ba tình huống:

  • Hệ thống đang chạy PHP 8.2 trở lên: cập nhật lên bản vá là xong. Việc này thường chỉ mất vài giờ, hoặc nhà cung cấp hosting đã làm giúp.
  • Hệ thống chạy PHP 7.4, 8.0 hoặc 8.1: các phiên bản này đã hết hỗ trợ. Lần này vẫn có bản vá mã nguồn từ nhóm PHP và gói vá từ một số bản phân phối Linux, nhưng lần sau thì chưa chắc.
  • Hệ thống chạy PHP 7.3 trở xuống: không có bản vá. Cách an toàn duy nhất là nâng cấp.

Điều đáng lo là rất nhiều hệ thống doanh nghiệp rơi vào nhóm thứ hai và thứ ba. Website hoặc phần mềm được làm cách đây 5–8 năm, chạy ổn nên không ai động vào, và dần dần không ai còn nắm rõ bên trong nó có gì.

Dấu hiệu hệ thống PHP của bạn đang có rủi ro

Những tình huống dưới đây không có nghĩa hệ thống đã bị tấn công, nhưng chúng khiến việc xử lý các lỗ hổng như PHP2Shell chậm và tốn kém hơn nhiều:

  • Không ai biết hệ thống đang chạy PHP phiên bản nào. Khi có cảnh báo bảo mật, doanh nghiệp không trả lời được câu hỏi đầu tiên: "mình có bị ảnh hưởng không?"
  • Người hoặc công ty làm hệ thống ban đầu đã không còn hỗ trợ. Không có tài liệu, không có ai chịu trách nhiệm cập nhật.
  • Framework hoặc nền tảng đã quá cũ, ví dụ Laravel 5.x/6.x, CodeIgniter 2/3, EC-CUBE 2/3 hoặc WordPress với nhiều plugin đã ngừng phát triển. Muốn lên PHP mới thì phải nâng cả framework.
  • Hệ thống đã được sửa đi sửa lại nhiều lần bởi nhiều người khác nhau, không có kiểm thử tự động. Mỗi lần cập nhật đều sợ "đụng đâu hỏng đó".
  • Không có lịch bảo trì định kỳ. Hệ thống chỉ được xem đến khi có sự cố. Đây là khoảng trống mà một hợp đồng bảo trì và vận hành theo SLA được thiết kế để lấp.

Nếu doanh nghiệp của bạn gặp từ 2–3 dấu hiệu trở lên, PHP2Shell là thời điểm tốt để nhìn lại hệ thống một cách nghiêm túc, thay vì chỉ vá tạm cho qua.

Ba lựa chọn cho hệ thống PHP cũ

1. Vá tạm và giữ nguyên

Áp dụng bản vá từ bản phân phối Linux hoặc các biện pháp giảm rủi ro (tắt tính năng upload file nếu không dùng, chặn request nghi vấn ở WAF).

  • Phù hợp khi: cần xử lý ngay trong vài ngày, trong lúc chuẩn bị kế hoạch lâu dài.
  • Hạn chế: không giải quyết gốc rễ. Hệ thống vẫn chạy trên phiên bản hết hỗ trợ và sẽ tiếp tục gặp vấn đề tương tự ở lỗ hổng sau.

2. Nâng cấp từng bước

Nâng PHP và framework lên phiên bản được hỗ trợ, theo từng giai đoạn, giữ nguyên nghiệp vụ và giao diện.

  • Phù hợp khi: hệ thống vẫn đáp ứng tốt nhu cầu kinh doanh, chỉ có nền tảng bị cũ.
  • Cần lưu ý: PHP 8 thay đổi khá nhiều so với PHP 7. Một số hàm bị loại bỏ, kiểm tra kiểu dữ liệu chặt hơn, thư viện cũ có thể không còn tương thích. Cần rà soát mã nguồn, cập nhật thư viện và kiểm thử hồi quy các luồng nghiệp vụ chính. Thời gian thực hiện phụ thuộc nhiều vào quy mô và chất lượng mã nguồn hiện có.

3. Làm lại hoặc chuyển nền tảng

Xây dựng lại hệ thống trên nền tảng mới, có thể kết hợp cải tiến nghiệp vụ.

  • Phù hợp khi: hệ thống đã không còn đáp ứng nhu cầu, hoặc chi phí sửa chữa cao hơn làm mới.
  • Hạn chế: chi phí và thời gian lớn nhất, cần kế hoạch chuyển đổi dữ liệu và vận hành song song. Cách hiện đại hóa hệ thống nghiệp vụ theo từng giai đoạn được trình bày kỹ hơn trong bài phát triển hệ thống nghiệp vụ bằng C# / .NET và Java.

Với đa số doanh nghiệp, cách hợp lý là kết hợp lựa chọn 1 và 2: vá tạm ngay để giảm rủi ro trước mắt, đồng thời lên kế hoạch nâng cấp trong vài tháng tới. Nếu cần tìm đối tác bên ngoài, bạn có thể tham khảo cách đánh giá và chọn vendor offshore.

Checklist tự đánh giá trong 5 phút

Chọn câu trả lời cho từng câu hỏi để xem mức rủi ro của hệ thống:

  1. 1. Bạn có biết chính xác hệ thống đang chạy PHP phiên bản nào không?

  2. 2. Phiên bản đó còn được hỗ trợ bảo mật không (8.2 trở lên)?

  3. 3. Có người hoặc đối tác chịu trách nhiệm cập nhật hệ thống khi có cảnh báo bảo mật không?

  4. 4. Mã nguồn có được lưu trữ và quản lý phiên bản (Git) không?

  5. 5. Có bản sao lưu định kỳ, lưu ở nơi tách biệt với máy chủ chính không?

  6. 6. Có tài liệu mô tả hệ thống, dù chỉ ở mức cơ bản, không?

  7. 7. Framework hoặc thư viện có được cập nhật trong vòng một năm qua không?

Đã trả lời 0/7 câu

Hệ thống của bạn đang gặp vấn đề nào?

Chọn những vấn đề doanh nghiệp đang gặp. Đội kỹ thuật ARIS sẽ liên hệ lại để tư vấn hướng xử lý phù hợp.

Vấn đề đang gặp (chọn một hoặc nhiều)

Protected by reCAPTCHA (Privacy & Terms)

Việc cần làm ngay trong tuần này

  1. Xác nhận phiên bản PHP đang chạy (hướng dẫn ở phần cuối bài).
  2. Cập nhật lên bản vá nếu đang dùng PHP 8.2 trở lên. Nếu dùng hosting, hỏi nhà cung cấp đã cập nhật chưa.
  3. Nếu không cập nhật được ngay, áp dụng biện pháp giảm rủi ro và đặt lịch rà soát hệ thống.
  4. Kiểm tra dấu hiệu bất thường nếu máy chủ chưa được vá trong ngày 21–22/10: file PHP lạ, tài khoản quản trị lạ, lưu lượng ra ngoài tăng đột biến. Nếu nghi ngờ, đổi mật khẩu cơ sở dữ liệu, API key và các thông tin bí mật trên máy chủ.
  5. Giữ lại bản sao lưu cũ từ trước ngày 21/10, không ghi đè.

Kết luận

PHP2Shell sẽ qua đi sau vài tuần, nhưng các hệ thống PHP cũ, không người bảo trì vẫn còn đó và sẽ tiếp tục gặp rủi ro ở những lỗ hổng tiếp theo. Với doanh nghiệp, cái giá của việc trì hoãn không nằm ở một bản vá, mà ở việc mỗi lần có sự cố lại phải xử lý trong thế bị động.

ARIS Vietnam phát triển và bảo trì hệ thống PHP/Laravel cho doanh nghiệp, bao gồm rà soát hệ thống cũ, nâng cấp PHP 7.x lên 8.x và bảo trì định kỳ. Nếu bạn muốn trao đổi về hệ thống hiện tại, hãy liên hệ với chúng tôi hoặc xem thêm về dịch vụ phát triển phần mềm.

Phụ lục: thông tin kỹ thuật

Phiên bản bị ảnh hưởng và phiên bản đã vá

Nhánh PHPPhiên bản đã váGhi chú
8.58.5.12Các bản trước đó bị ảnh hưởng
8.48.4.27Các bản trước đó bị ảnh hưởng
8.38.3.36Các bản trước đó bị ảnh hưởng
8.28.2.35Các bản trước đó bị ảnh hưởng
7.4, 8.0, 8.1Không có bản phát hành chính thứcCó bản vá mã nguồn và gói vá từ một số bản phân phối Linux (AlmaLinux, Ubuntu, Red Hat)
5.x đến 7.3Không có bản váCần nâng cấp

Mọi môi trường PHP xử lý request web đều bị ảnh hưởng, gồm PHP-FPM, Apache mod_php và php-cgi. Lỗi nằm ở chính PHP nên WordPress, Laravel, EC-CUBE, Magento hay mã tự viết đều nằm trong diện cần kiểm tra. Cập nhật WordPress hay plugin không vá được lỗi này.

Cách kiểm tra phiên bản PHP

  • VPS hoặc máy chủ riêng: php -v cho bản dòng lệnh và php-fpm -v cho bản đang phục vụ web. Hai bản này có thể khác nhau.
  • Cách chắc chắn nhất: tạo tạm file info.php chứa <?php phpinfo();, mở trên trình duyệt, rồi xóa ngay sau khi xem.
  • Hosting dùng cPanel, Plesk, DirectAdmin: mục "Select PHP Version" hoặc "PHP Settings".
  • Docker: kiểm tra tag image, kéo image mới và build lại container.
  • WordPress: Công cụ → Tình trạng trang web → Thông tin → Máy chủ.

Biện pháp giảm rủi ro tạm thời

Khi chưa thể cập nhật: tắt file_uploads nếu website không cần upload file, chặn request multipart/form-data không cần thiết ở web server hoặc WAF, tắt session.upload_progress.enabled. Các biện pháp này chỉ giảm rủi ro. Theo nhóm phát triển PHP, cập nhật mới là cách khắc phục triệt để.

Nguồn tham khảo

ARIS Vietnam
Tác giảARIS Vietnam
👁️0 Lượt xem

Kết nối với ARIS Vietnam

Liên hệ với chúng tôi để tìm hiểu thêm về dịch vụ và giải pháp của ARIS Vietnam.

Liên hệ ngay← Blog