Hai lỗ hổng mang mã định danh CVE-2026-109618 và CVE-2026-109619 được đánh giá ở mức nghiêm trọng, PHP2Shell có thể gây ảnh hưởng đến Server chạy PHP, bao gồm những hệ thống sử dụng WordPress, WooCommerce và các nền tảng thương mại điện tử.
Điều đáng lo ngại là vấn đề nằm ở chính môi trường thực thi PHP, thay vì chỉ một plugin hay ứng dụng cụ thể. Vì vậy, việc cài thêm plugin bảo mật hoặc chỉnh sửa mã nguồn website chưa chắc đã giải quyết được rủi ro.
PHP2Shell là gì?
PHP2Shell là tên được nhắc đến trong thông tin về công cụ khai thác hai lỗ hổng RCE mới của PHP. Theo Sansec, hình ảnh của một công cụ khai thác mang tên PHP2Shell đã bị rò rỉ cùng thông tin về các lỗ hổng.
RCE, viết tắt của Remote Code Execution, là lỗi cho phép kẻ tấn công thực thi mã trên hệ thống từ xa khi đáp ứng được các điều kiện khai thác cần thiết. Nếu khai thác thành công trên Server PHP, hậu quả có thể vượt xa việc chiếm quyền quản trị website thông thường.
Tùy thuộc vào cách Server được cấu hình và quyền hạn của tiến trình PHP, kẻ tấn công có thể tìm cách đọc dữ liệu nhạy cảm, sửa đổi tệp website, cài mã độc, tạo cửa hậu hoặc tiếp tục xâm nhập sâu hơn vào hệ thống.
Đối với website thương mại điện tử, nguy cơ còn liên quan đến dữ liệu khách hàng, thông tin đơn hàng và khả năng chèn mã đánh cắp thông tin thanh toán.
Sansec cho biết cả hai lỗ hổng đều được đánh giá CVSS v4.0 9.2/10, thuộc nhóm có mức độ nghiêm trọng rất cao. Tuy nhiên, điểm CVSS không có nghĩa mọi Server đều chắc chắn bị khai thác thành công; mức độ rủi ro thực tế còn phụ thuộc vào phiên bản, cấu hình và khả năng tiếp cận của kẻ tấn công.
Hai lỗ hổng CVE-2026-109618 và CVE-2026-109619 ảnh hưởng đến những hệ thống nào?
Theo thông tin ban đầu, các lỗ hổng này có phạm vi ảnh hưởng rộng đối với môi trường chạy PHP.
Các Server sử dụng PHP từ phiên bản 5.4 trở lên có thể nằm trong phạm vi bị ảnh hưởng. Công cụ khai thác bị rò rỉ cũng tuyên bố hỗ trợ nhiều phiên bản PHP, nhưng tuyên bố của công cụ không nên được hiểu là bằng chứng độc lập rằng mọi phiên bản đều khai thác được trong mọi cấu hình.
Những hệ thống cần được kiểm tra bao gồm:
- Website WordPress, đặc biệt là các website sử dụng nhiều plugin PHP.
- WooCommerce và những cửa hàng trực tuyến vận hành trên WordPress.
- Magento, Adobe Commerce và Shopware.
- Các ứng dụng web tự phát triển bằng PHP.
- Những hệ thống sử dụng Laravel, Drupal, Joomla hoặc các nền tảng PHP khác, nếu môi trường PHP tương ứng nằm trong phạm vi ảnh hưởng.
Với Admin VPS, điều này có nghĩa cần kiểm tra tất cả website và dịch vụ PHP trên Server, thay vì chỉ rà soát một website đang có dấu hiệu bất thường.
Vì sao cài Wordfence, plugin bảo mật hoặc WAF đủ an toàn
Nếu lỗ hổng nằm trong quá trình xử lý của PHP trước khi mã ứng dụng được thực thi, những cơ chế bảo vệ hoạt động ở tầng ứng dụng có thể không đủ khả năng ngăn chặn toàn bộ quá trình khai thác.
Chẳng hạn, Wordfence có thể hỗ trợ phát hiện hoặc chặn nhiều dạng lưu lượng độc hại nhắm vào WordPress. WAF của Cloudflare cũng có thể giúp lọc các yêu cầu đáng ngờ. Tuy nhiên, hiệu quả bảo vệ phụ thuộc vào cách thức khai thác, vị trí của lớp bảo vệ và khả năng nhận diện mẫu tấn công.
Nếu yêu cầu độc hại vượt qua được các lớp lọc và kích hoạt lỗi bên trong PHP, website vẫn có thể gặp nguy hiểm.
Sansec cũng cảnh báo không nên chờ một quy tắc bảo vệ mới từ Sansec Shield rồi mới cập nhật. Các giải pháp giảm thiểu ở tầng ứng dụng không thể được xem là phương án thay thế cho bản vá PHP chính thức.
Nguyên tắc quan trọng: Khi lỗ hổng nằm ở runtime PHP, cần xử lý tại runtime PHP. Plugin bảo mật và WAF chỉ nên được xem là lớp phòng thủ bổ sung.
Cách kiểm tra và xử lý PHP2Shell trên VPS
Nếu đang quản trị website WordPress hoặc VPS sử dụng DirectAdmin, cPanel hay một bảng điều khiển khác, bạn nên thực hiện các bước dưới đây.
Trên Server Linux, có thể kiểm tra phiên bản PHP CLI bằng lệnh:
php -v
Lệnh này hiển thị phiên bản PHP của giao diện dòng lệnh. Tuy nhiên, PHP CLI có thể khác phiên bản mà website đang sử dụng thông qua PHP-FPM hoặc Apache.
Vì vậy, Admin cần kiểm tra thêm phiên bản PHP được gán cho từng website trong bảng điều khiển hosting, cấu hình PHP-FPM và các dịch vụ liên quan.
Đối với WordPress, có thể vào Công cụ → Tình trạng trang web → Thông tin → Server để xem thông tin môi trường PHP mà website báo cáo.
Không nên chỉ kiểm tra một phiên bản PHP rồi kết luận toàn bộ Server đã an toàn, đặc biệt khi VPS đang chạy nhiều website với các phiên bản PHP khác nhau.
Các lệnh cập nhật PHP để giảm nguy cơ PHP2Shell
Lưu ý: các lệnh dưới đây phụ thuộc vào hệ điều hành và cách cài đặt PHP. Trước khi cập nhật Server đang hoạt động, hãy sao lưu website, cơ sở dữ liệu và cấu hình. Lệnh cập nhật gói không bảo đảm PHP đã được vá nếu nhà cung cấp chưa phát hành bản sửa lỗi cho kho phần mềm đang sử dụng.
1. Ubuntu/Debian: cập nhật các gói PHP
Nếu PHP được cài từ kho APT của Ubuntu hoặc Debian, đăng nhập SSH bằng tài khoản có quyền sudo và chạy:
sudo apt update apt list --upgradable 2>/dev/null | grep -E 'php[0-9.-]*|php[0-9]' sudo apt upgrade
Lệnh apt update làm mới danh sách gói; apt upgrade cập nhật các gói có bản nâng cấp trong kho đã cấu hình. Nếu muốn cập nhật riêng các gói PHP, hãy xác định đúng tên gói trước. Ví dụ dưới đây chỉ phù hợp nếu các gói này đã được cài đặt và kho phần mềm cung cấp bản cập nhật:
sudo apt install --only-upgrade php8.3-cli php8.3-fpm php8.3-common
Thay 8.3 bằng phiên bản thực tế. Trên Ubuntu/Debian, bản vá bảo mật có thể được cung cấp cho nhánh PHP hiện tại mà không đổi số phiên bản chính. Hãy kiểm tra thông báo bảo mật của bản phân phối.
2. DirectAdmin: kiểm tra và cập nhật qua CustomBuild
Nếu VPS sử dụng DirectAdmin với CustomBuild, không nên cho rằng chạy apt upgrade là đủ. PHP có thể được biên dịch và quản lý riêng thông qua CustomBuild.
cd /usr/local/directadmin/custombuild ./build update ./build versions ./build options
Các lệnh trên giúp cập nhật thông tin CustomBuild và kiểm tra phiên bản/cấu hình phần mềm. ./build update_versions cập nhật thông tin phiên bản phần mềm mà CustomBuild quản lý; lệnh này không đồng nghĩa PHP đã được nâng cấp hoặc vá lỗi.
./build update_versions
./build versions
Sau khi xác nhận bản vá đã có sẵn, hãy cập nhật đúng nhánh PHP theo cấu hình CustomBuild và tài liệu DirectAdmin. Không tự ý đổi phiên bản PHP nếu chưa kiểm tra khả năng tương thích với theme, plugin và mã nguồn website.
Tham khảo: Tài liệu nâng cấp dịch vụ bằng DirectAdmin CustomBuild.
3. AlmaLinux/Rocky Linux/CentOS: cập nhật qua DNF hoặc YUM
Nếu PHP được cài từ kho RPM của hệ điều hành, có thể kiểm tra và cập nhật bằng DNF:
sudo dnf check-update sudo dnf upgrade 'php*'
Trên hệ thống cũ sử dụng YUM:
sudo yum check-update sudo yum update 'php*'
Cảnh báo: chỉ dùng các lệnh này khi PHP được quản lý bằng RPM từ những kho đã cấu hình. Nếu Server sử dụng DirectAdmin CustomBuild hoặc kho PHP của bên thứ ba, hãy xác định đúng nguồn gói để tránh xung đột.
4. Kiểm tra phiên bản PHP và dịch vụ đang chạy
Sau khi cập nhật, kiểm tra PHP CLI và các dịch vụ PHP-FPM:
php -v systemctl --type=service --state=running | grep php
Nếu cần khởi động lại PHP-FPM, hãy dùng đúng tên dịch vụ trên Server. Ví dụ:
sudo systemctl restart php8.3-fpm
Thay php8.3-fpm bằng tên dịch vụ thực tế. Không chạy lệnh theo ví dụ nếu Server không sử dụng dịch vụ đó. Phiên bản hiển thị bằng php -v có thể khác phiên bản mà website chạy qua PHP-FPM hoặc Apache.
Admin WordPress cần lưu ý điều gì?
Với các website WordPress, cần tránh hai quan niệm sai lầm: chỉ cần cập nhật WordPress là đủ, hoặc chỉ cần cài thêm plugin bảo mật là có thể xử lý mọi lỗ hổng.
WordPress, theme, plugin và PHP là những thành phần khác nhau trong một hệ thống. Một lỗ hổng ở PHP có thể yêu cầu bản vá tại tầng Server, trong khi cập nhật WordPress và plugin vẫn cần thiết để giảm các rủi ro độc lập khác.
Nếu đang sử dụng WordPress trên VPS riêng, bạn nên chủ động quản lý phiên bản PHP, theo dõi cảnh báo bảo mật và duy trì quy trình cập nhật định kỳ. Nếu dùng hosting chia sẻ hoặc không có quyền quản trị Server, hãy liên hệ nhà cung cấp để xác nhận thời điểm áp dụng bản vá.
Đặc biệt, không nên mặc định rằng Server đã an toàn chỉ vì website vẫn truy cập bình thường. Lỗ hổng có thể tồn tại mà không gây ra lỗi hiển thị rõ ràng cho người dùng.
Kết luận
PHP2Shell là cảnh báo bảo mật đáng chú ý đối với cộng đồng quản trị website, đặc biệt là những hệ thống WordPress, WooCommerce và các ứng dụng thương mại điện tử vận hành trên PHP.
Hai lỗ hổng CVE-2026-109618 và CVE-2026-109619 được Sansec đánh giá ở mức nghiêm trọng, với điểm CVSS v4.0 là 9.2/10. Do vấn đề được mô tả nằm ở tầng PHP, hướng xử lý trọng tâm là xác định môi trường bị ảnh hưởng và triển khai bản vá phù hợp ở cấp Server.
Nếu đang quản lý VPS hoặc website có lưu trữ dữ liệu quan trọng, hãy kiểm tra phiên bản PHP, chuẩn bị sao lưu, liên hệ nhà cung cấp hosting khi cần và theo dõi thông báo chính thức từ PHP. Không nên chờ đến khi website xuất hiện dấu hiệu bị tấn công mới bắt đầu xử lý.














