Lỗ hổng PHP2Shell: Hướng dẫn rà soát và vá lỗi cho doanh nghiệp

DÀNH CHO KHÁCH HÀNG VIP

VUI LÒNG NHẬP MÃ CODE

November 4, 2026 12 Lượt xem

Lỗ hổng PHP2Shell: Hướng dẫn rà soát và vá lỗi cho doanh nghiệp

Danh mục

Lỗ hổng PHP2Shell: Hướng dẫn rà soát và vá lỗi bảo mật cho doanh nghiệp

Một lỗ hổng nghiêm trọng trong PHP mang tên PHP2Shell đang đặt ra rủi ro lớn đối với các website và hệ thống ứng dụng sử dụng PHP. Kẻ tấn công có thể gửi yêu cầu được thiết kế đặc biệt đến máy chủ để khai thác lỗi trong quá trình xử lý request, từ đó thực thi mã trái phép trên hệ thống mà không cần tài khoản đăng nhập.

Đối với doanh nghiệp đang vận hành website bán hàng, website giới thiệu dịch vụ, cổng thông tin hoặc hệ thống quản trị nội bộ, việc kiểm tra phiên bản PHP và cập nhật bản vá là việc cần ưu tiên. Bài viết dưới đây giúp doanh nghiệp hiểu rõ PHP2Shell, xác định hệ thống có nguy cơ và phối hợp với đơn vị quản trị máy chủ để xử lý đúng cách.

Cảnh báo bảo mật quan trọng

PHP2Shell liên quan đến hai mã lỗ hổng CVE-2026-109618 và CVE-2026-109619, có điểm nghiêm trọng CVSS v4.0 là 9.2/10. Các bản PHP đã khắc phục được công bố gồm PHP 8.2.35, 8.3.36, 8.4.27 và 8.5.12. Doanh nghiệp cần kiểm tra bản PHP thực tế đang phục vụ website, không chỉ dựa vào phiên bản PHP hiển thị trong một công cụ quản trị.

Minh họa nguy cơ tấn công bảo mật đối với hệ thống PHP
Nguy cơ khai thác lỗ hổng trên hệ thống PHP. Nguồn ảnh: BleepingComputer.

PHP2Shell là gì?

PHP2Shell là tên gọi chung của hai lỗ hổng bảo mật nghiêm trọng được công bố trong lõi PHP vào ngày 21/10/2026. Hai lỗ hổng này có thể tạo điều kiện cho đối tượng bên ngoài thực thi mã từ xa (Remote Code Execution – RCE) trên máy chủ đang xử lý yêu cầu PHP.

Điểm đáng chú ý là lỗi nằm ở quá trình xử lý nội bộ của PHP, không đơn thuần là lỗi trong mã nguồn của một website cụ thể. Vì vậy, việc website sử dụng mã nguồn tự phát triển, WordPress hay một nền tảng CMS khác không đồng nghĩa với việc được miễn nhiễm. Điều cần kiểm tra là phiên bản PHP và môi trường thực thi đang phục vụ website.

Lỗ hổng thứ nhất

CVE-2026-109618

Liên quan đến lỗi xử lý bộ nhớ khi PHP gặp tình trạng Out of Memory (OOM), có thể dẫn đến thực thi mã từ xa.

Lỗ hổng thứ hai

CVE-2026-109619

Liên quan đến trạng thái dữ liệu nội bộ đã bị giải phóng nhưng vẫn có thể được request tiếp theo sử dụng.

Trong một số cấu hình, kẻ tấn công có thể tạo request HTTP đặc biệt, khiến PHP rơi vào trạng thái lỗi bộ nhớ hoặc xử lý dữ liệu không an toàn. Nếu khai thác thành công, mã độc có thể được thực thi với quyền của tiến trình PHP trên máy chủ.

PHP2Shell nguy hiểm như thế nào đối với website doanh nghiệp?

Khi một máy chủ bị khai thác thành công, mức độ ảnh hưởng không chỉ dừng lại ở việc website hoạt động không ổn định. Tùy theo quyền của tài khoản chạy PHP và cách phân tách hệ thống, kẻ tấn công có thể tìm cách mở rộng quyền truy cập, chiếm quyền kiểm soát dữ liệu hoặc duy trì sự hiện diện trái phép trên máy chủ.

🔓 Lộ dữ liệu

Có nguy cơ bị truy cập trái phép vào tệp cấu hình, thông tin kết nối cơ sở dữ liệu hoặc dữ liệu website nếu quyền hệ thống cho phép.

🧩 Cài mã độc

Kẻ tấn công có thể tìm cách chèn webshell, mã chuyển hướng hoặc thành phần độc hại vào website.

⚠️ Gián đoạn hoạt động

Website có thể bị thay đổi nội dung, tiêu tốn tài nguyên, phát sinh lỗi hoặc ngừng cung cấp dịch vụ.

📉 Ảnh hưởng SEO

Nếu website bị chèn nội dung spam, mã chuyển hướng hoặc phát tán mã độc, uy tín và khả năng hiển thị trên công cụ tìm kiếm có thể bị ảnh hưởng.

Một điểm cần lưu ý: không phải website nào đang chạy PHP cũ cũng chắc chắn đã bị tấn công. Tuy nhiên, nếu hệ thống sử dụng phiên bản bị ảnh hưởng và chưa được cập nhật, doanh nghiệp nên xem đó là rủi ro cần xử lý khẩn trương.

Những phiên bản PHP nào cần được kiểm tra?

Theo thông báo bảo mật từ dự án PHP, các nhánh phiên bản trước những bản vá tương ứng có nguy cơ bị ảnh hưởng. Bảng dưới đây giúp quản trị viên đối chiếu nhanh:

Nhánh PHP Phiên bản đã vá Khuyến nghị
PHP 8.5 8.5.12 Cập nhật lên bản vá
PHP 8.4 8.4.27 Cập nhật lên bản vá
PHP 8.3 8.3.36 Cập nhật lên bản vá
PHP 8.2 8.2.35 Cập nhật lên bản vá
PHP 8.1 trở xuống Tùy nhà cung cấp Kiểm tra bản vá backport hoặc nâng cấp

Các phiên bản PHP 8.1 trở xuống đã hết thời hạn hỗ trợ từ dự án PHP, nên không thể mặc định rằng sẽ có bản cập nhật chính thức từ PHP.net. Một số nhà cung cấp hệ điều hành hoặc dịch vụ hỗ trợ dài hạn có thể cung cấp bản vá backport. Quản trị viên cần xác minh trực tiếp với nhà cung cấp trước khi kết luận hệ thống đã an toàn.

Lưu ý: Bảng trên là mốc phiên bản vá cho hai lỗ hổng PHP2Shell, không có nghĩa các phiên bản này sẽ tự động miễn nhiễm với mọi lỗ hổng PHP khác. Doanh nghiệp nên sử dụng bản cập nhật bảo mật mới nhất phù hợp với nhánh PHP đang triển khai.

Hướng dẫn rà soát website có đang sử dụng PHP bị ảnh hưởng

Trước khi cập nhật, doanh nghiệp cần xác định chính xác website đang chạy PHP phiên bản nào và máy chủ đang sử dụng cách thức thực thi PHP nào. Một máy chủ có thể chạy nhiều phiên bản PHP cho các website hoặc tài khoản khác nhau.

Kiểm tra phiên bản PHP trong trang quản trị hosting

Nếu sử dụng DirectAdmin, cPanel hoặc một bảng điều khiển hosting tương tự, quản trị viên có thể kiểm tra phiên bản PHP đang được gán cho tên miền trong phần quản lý PHP hoặc cấu hình website.

Minh họa rà soát mã PHP và dấu hiệu bất thường trên máy chủ
Quá trình rà soát mã PHP và dấu hiệu bất thường trên hệ thống. Nguồn ảnh: Rescana.

Các bước kiểm tra thông thường:

  • Đăng nhập vào trang quản trị hosting bằng tài khoản có quyền quản lý tên miền.
  • Mở mục quản lý phiên bản PHP hoặc cấu hình PHP của website.
  • Ghi nhận phiên bản PHP đang được gán cho từng tên miền.
  • Kiểm tra các website con, subdomain và ứng dụng khác cùng sử dụng máy chủ.
  • Liên hệ nhà cung cấp hosting nếu không thể xác định phiên bản PHP thực tế.

Kiểm tra bằng dòng lệnh trên máy chủ

Với máy chủ Linux có quyền SSH, quản trị viên có thể kiểm tra phiên bản PHP CLI bằng lệnh:

php -v

Nếu website sử dụng PHP-FPM, có thể kiểm tra phiên bản của tiến trình PHP-FPM tương ứng bằng lệnh phù hợp với hệ điều hành và cách cài đặt máy chủ, ví dụ:

php-fpm -v

Tên lệnh thực tế có thể khác nhau theo phiên bản, chẳng hạn php-fpm83 hoặc đường dẫn binary riêng. Đặc biệt, kết quả của lệnh php -v chỉ phản ánh PHP CLI đang được gọi, không đảm bảo đó là phiên bản PHP mà website đang sử dụng. Cần đối chiếu thêm PHP-FPM pool, Apache module hoặc cấu hình LiteSpeed tương ứng.

Rà soát toàn bộ môi trường sử dụng PHP

Không nên chỉ kiểm tra website chính. PHP có thể được cài đặt hoặc tích hợp trong nhiều thành phần khác nhau, bao gồm:

  • Các website và subdomain trên cùng máy chủ.
  • Website WordPress, mã nguồn PHP tùy chỉnh và các hệ thống CMS.
  • Ứng dụng chạy PHP-FPM, Apache mod_php, CGI/FastCGI hoặc LiteSpeed.
  • Container Docker, ứng dụng đóng gói sẵn và các phần mềm bên thứ ba có tích hợp PHP.
  • Các máy chủ nội bộ có tiếp nhận yêu cầu từ mạng doanh nghiệp.

Hướng dẫn cập nhật và vá lỗi PHP2Shell

Cập nhật lên phiên bản PHP đã được sửa lỗi là biện pháp xử lý đầy đủ và được dự án PHP khuyến nghị. Trước khi thực hiện, cần sao lưu dữ liệu, kiểm tra khả năng tương thích của mã nguồn và các extension, sau đó lên kế hoạch khởi động lại dịch vụ PHP.

Bước 1: Sao lưu dữ liệu và cấu hình

Trước khi thay đổi phiên bản PHP, hãy tạo bản sao lưu đầy đủ của website, cơ sở dữ liệu và các cấu hình liên quan. Với website đang hoạt động kinh doanh, nên thực hiện vào thời điểm ít truy cập để giảm ảnh hưởng đến khách hàng.

Bước 2: Chọn phiên bản PHP đã được vá

Đối chiếu nhánh PHP hiện tại với bảng phiên bản đã vá ở trên. Nếu máy chủ đang chạy PHP 8.3, cần nâng cấp tối thiểu lên bản 8.3.36 hoặc bản cập nhật bảo mật mới hơn trong cùng nhánh. Nếu đang dùng PHP 8.4, 8.5 hoặc 8.2, áp dụng mốc vá tương ứng.

Nếu website đang chạy nhánh PHP đã hết hỗ trợ, cần xác định nhà cung cấp có bản vá backport hay không. Trong trường hợp không có bản vá phù hợp, nên lập kế hoạch nâng cấp sang nhánh PHP còn được hỗ trợ và kiểm thử mã nguồn trước khi đưa vào vận hành.

Bước 3: Cập nhật PHP trên máy chủ

Cách cập nhật phụ thuộc vào hệ điều hành, bảng điều khiển hosting và nguồn cài đặt PHP. Với máy chủ sử dụng DirectAdmin, quản trị viên cần kiểm tra cách PHP được cài đặt và quản lý, sau đó cập nhật đúng phiên bản cho các PHP-FPM pool hoặc phiên bản PHP đang được gán cho từng website.

Không nên tự ý chạy lệnh nâng cấp PHP theo một hướng dẫn dành cho hệ điều hành khác. Việc cập nhật sai repository hoặc binary có thể làm mất extension, thay đổi cấu hình hoặc khiến website ngừng hoạt động.

Bước 4: Khởi động lại dịch vụ PHP

Sau khi cập nhật, cần khởi động lại các PHP-FPM pool, Apache hoặc dịch vụ web liên quan để các tiến trình cũ không tiếp tục sử dụng binary chưa được vá. Với hệ thống dùng container, cần xây dựng lại image đã cập nhật và triển khai lại container, thay vì chỉ cập nhật máy chủ bên ngoài.

Bước 5: Kiểm tra hoạt động của website

Sau khi cập nhật, cần kiểm tra các chức năng quan trọng như đăng nhập quản trị, gửi biểu mẫu, đặt hàng, thanh toán, tải ảnh lên, gửi email và kết nối cơ sở dữ liệu. Đồng thời kiểm tra log lỗi PHP, log máy chủ web và trạng thái các dịch vụ liên quan.

Nếu chưa thể cập nhật PHP ngay thì cần làm gì?

Trong một số trường hợp, website sử dụng mã nguồn cũ hoặc có nhiều thành phần phụ thuộc khiến việc nâng cấp cần thời gian kiểm thử. Khi chưa thể cập nhật ngay, quản trị viên có thể áp dụng một số biện pháp giảm thiểu rủi ro theo hướng dẫn của dự án PHP.

Lưu ý về biện pháp tạm thời

Các cấu hình giảm thiểu chỉ hạn chế một số đường khai thác cụ thể, không thay thế bản vá và không đảm bảo máy chủ đã an toàn. Cần có quản trị viên hệ thống đánh giá tác động trước khi áp dụng.

  • Tắt session upload progress: có thể đặt session.upload_progress.enabled=0 trong cấu hình PHP có hiệu lực trước khi xử lý request, sau đó khởi động lại toàn bộ worker. Không nên chỉ dùng ini_set() hoặc cấu hình .user.ini để thay thế.
  • Kiểm soát kích thước request: giới hạn kích thước dữ liệu POST, số lượng phần multipart và dữ liệu đầu vào tại máy chủ web hoặc reverse proxy. Giá trị cần căn cứ vào chức năng tải tệp của website.
  • Kiểm soát bộ nhớ: một số biện pháp cấu hình liên quan đến memory_limit có thể giảm một số tình huống khai thác đã được xác nhận, nhưng có giới hạn và cần chuyên gia đánh giá trước khi áp dụng.
  • Sử dụng WAF: triển khai quy tắc bảo vệ phù hợp để phát hiện hoặc chặn request bất thường. WAF chỉ là lớp phòng thủ bổ sung, không thay thế việc cập nhật PHP.
  • Giới hạn quyền của PHP: chỉ cấp quyền truy cập cần thiết cho tiến trình PHP, tránh để một website có thể đọc hoặc ghi dữ liệu của các website khác không liên quan.

Đặc biệt, không nên tùy tiện đặt memory_limit=-1 cho toàn bộ hệ thống mà chưa đánh giá tải và giới hạn tài nguyên. Đây là một biện pháp giảm thiểu được PHP đề cập cho một đường khai thác cụ thể, nhưng không phải bản vá hoàn chỉnh và có thể ảnh hưởng đến khả năng kiểm soát tài nguyên máy chủ.

Sau khi vá lỗi, doanh nghiệp cần rà soát những gì?

Cập nhật PHP giúp khắc phục lỗ hổng trong runtime, nhưng không tự động loại bỏ mã độc nếu máy chủ đã bị xâm nhập trước đó. Vì vậy, nếu website từng chạy phiên bản dễ bị ảnh hưởng trong thời gian dài, doanh nghiệp nên thực hiện thêm một đợt kiểm tra bảo mật.

Danh sách rà soát sau cập nhật

  • Kiểm tra phiên bản PHP thực tế của từng website và tiến trình PHP đang chạy.
  • Rà soát file PHP mới xuất hiện hoặc bị chỉnh sửa bất thường.
  • Kiểm tra các file lạ trong thư mục upload, cache và thư mục tạm.
  • Rà soát tài khoản quản trị website, hosting và SSH.
  • Kiểm tra các tác vụ cron, tiến trình lạ và kết nối mạng bất thường.
  • Đối chiếu log truy cập HTTP, log PHP và log hệ thống trong khoảng thời gian nghi ngờ.
  • Kiểm tra các dấu hiệu chèn mã độc, webshell, chuyển hướng hoặc nội dung spam.
  • Đổi mật khẩu và thu hồi các thông tin xác thực có nguy cơ bị lộ nếu phát hiện dấu hiệu xâm nhập.
  • Kiểm tra bản sao lưu và bảo đảm có phương án khôi phục sạch.

Nếu phát hiện dấu hiệu bị xâm nhập, doanh nghiệp nên cô lập hệ thống có vấn đề, lưu giữ log và bằng chứng cần thiết, đánh giá phạm vi ảnh hưởng rồi mới tiến hành làm sạch hoặc khôi phục. Không nên chỉ xóa một file đáng ngờ rồi xem như đã xử lý xong.

Doanh nghiệp nên chủ động phòng ngừa lỗ hổng PHP như thế nào?

PHP2Shell là lời nhắc rằng bảo mật website không chỉ phụ thuộc vào mã nguồn mà còn liên quan trực tiếp đến runtime, hệ điều hành, máy chủ web và các thành phần triển khai. Doanh nghiệp nên xây dựng quy trình rà soát định kỳ thay vì chỉ cập nhật khi website phát sinh sự cố.

  • Theo dõi thông báo bảo mật: cập nhật thông tin từ PHP.net, nhà cung cấp hosting và các đơn vị phát triển phần mềm đang sử dụng.
  • Quản lý phiên bản: lập danh sách các website, phiên bản PHP và extension tương ứng; tránh để các website chạy phiên bản đã hết hỗ trợ.
  • Cập nhật có kiểm thử: kiểm tra tương thích mã nguồn, extension và cơ sở dữ liệu trước khi triển khai bản nâng cấp trên website chính.
  • Sao lưu thường xuyên: lưu bản sao dữ liệu và mã nguồn ở vị trí độc lập để có thể phục hồi khi xảy ra sự cố.
  • Giám sát máy chủ: theo dõi log, tài nguyên, tiến trình và các thay đổi bất thường trong hệ thống.
  • Kiểm tra bảo mật định kỳ: rà soát cấu hình, quyền truy cập, mã độc và tình trạng cập nhật của website.

Câu hỏi thường gặp về lỗ hổng PHP2Shell

Website WordPress có bị ảnh hưởng bởi PHP2Shell không?

Có thể. WordPress sử dụng PHP để vận hành, vì vậy website WordPress cần kiểm tra phiên bản PHP và môi trường máy chủ đang sử dụng. Cập nhật WordPress hoặc plugin không thay thế việc cập nhật PHP runtime.

Website đang sử dụng PHP 8.3 có cần cập nhật không?

Có. PHP 8.3 cần được cập nhật tối thiểu lên phiên bản 8.3.36 để khắc phục hai lỗ hổng PHP2Shell, hoặc lên bản bảo mật mới hơn trong cùng nhánh nếu đã được phát hành.

Chỉ đổi mật khẩu hosting có xử lý được PHP2Shell không?

Không. Đổi mật khẩu không khắc phục lỗ hổng trong PHP runtime. Doanh nghiệp vẫn cần cập nhật phiên bản PHP đã vá và rà soát hệ thống nếu có dấu hiệu bị khai thác.

Cập nhật PHP xong có chắc chắn website đã an toàn?

Cập nhật đúng bản vá giúp khắc phục hai lỗ hổng PHP2Shell, nhưng không đảm bảo hệ thống chưa từng bị xâm nhập hoặc không còn lỗ hổng khác. Cần kiểm tra mã nguồn, tài khoản, log và các thành phần liên quan.

Website dùng hosting của nhà cung cấp có cần tự kiểm tra không?

Doanh nghiệp nên yêu cầu nhà cung cấp xác nhận phiên bản PHP đang chạy và tình trạng cập nhật bản vá. Không nên mặc định rằng hosting đã tự động cập nhật nếu chưa có thông tin xác nhận.

Đừng để một lỗ hổng máy chủ ảnh hưởng đến hoạt động kinh doanh

Website cần được kiểm tra và cập nhật thường xuyên để hạn chế rủi ro bảo mật, gián đoạn dịch vụ và mất dữ liệu. Blueweb hỗ trợ doanh nghiệp rà soát tình trạng website, kiểm tra cấu hình và phối hợp xử lý các vấn đề kỹ thuật trong quá trình vận hành.

Tìm hiểu dịch vụ chăm sóc website Kiểm tra sức khỏe website

PHP2Shell là lỗ hổng nghiêm trọng cần được doanh nghiệp và quản trị viên website ưu tiên xử lý. Việc rà soát đúng phiên bản PHP, cập nhật bản vá tương ứng, khởi động lại dịch vụ và kiểm tra dấu hiệu xâm nhập là những bước quan trọng để bảo vệ hệ thống.

Đừng chờ đến khi website bị chèn mã độc, mất dữ liệu hoặc ngừng hoạt động mới bắt đầu kiểm tra. Chủ động cập nhật và bảo trì kỹ thuật định kỳ sẽ giúp doanh nghiệp giảm thiểu rủi ro, duy trì hoạt động ổn định và bảo vệ tài sản số của mình.

Đánh giá bài viết
Đánh Giá Trung Bình
0/5
5
0%
4
0%
3
0%
2
0%
1
0%

Chia sẻ nhận xét về bài viết

Gửi nhận xét của bạn
Lỗ hổng PHP2Shell: Hướng dẫn rà soát và vá lỗi cho doanh nghiệp
Lỗ hổng PHP2Shell: Hướng dẫn rà soát và vá lỗi cho doanh nghiệp
(0 nhận xét)
Tìm hiểu lỗ hổng PHP2Shell (CVE-2026-109618, CVE-2026-109619), cách kiểm tra phiên bản PHP bị ảnh hưởng, cập nhật bản vá và bảo vệ website doanh nghiệp.
Tin liên quan

Đặt lịch