PHP2Shell: Hai Lỗ Hổng RCE Lõi PHP Từ Bản 5.4, Cần Lên 8.5.12, 8.4.27, 8.3.36 Hoặc 8.2.35
Ngày 21/10/2026 PHP phát hành bốn bản vá cho hai lỗ hổng lõi (CVE-2026-109618, CVE-2026-109619) cho phép thực thi mã từ xa không cần xác thực, mạnh nhất trên Apache mod_php. Calif và Wiz báo lỗi độc lập, đều dùng mô hình AI tiên phong; hai bên nêu ngày phát hiện và công cụ khác nhau. Bài nêu việc cầ
Ngày 21/10/2026, nhóm bảo mật của PHP phát hành bốn bản vá (8.5.12, 8.4.27, 8.3.36, 8.2.35) cho hai lỗ hổng nghiêm trọng nằm ngay trong lõi ngôn ngữ, cho phép thực thi mã từ xa mà không cần đăng nhập. Hai nhóm nghiên cứu độc lập, Calif và Wiz, cùng báo lỗi, và cả hai đều dùng mô hình AI tiên phong để tìm lỗi và dựng mã khai thác. Với doanh nghiệp Việt Nam, điều cần làm trước tiên không liên quan đến AI: kiểm tra phiên bản PHP đang chạy trên máy chủ và hosting, rồi cập nhật.
PHP công bố gì
Theo thông báo bảo mật ngày 21/10/2026 trên php.net, hai lỗ hổng được đánh số CVE-2026-109618 (hỏng bộ nhớ khi xử lý hết bộ nhớ, "OOM") và CVE-2026-109619 (trạng thái toàn cục còn sót lại sau khi vùng nhớ đã được giải phóng). Cả hai có thể cho phép thực thi mã từ xa không cần xác thực. PHP viết rằng mọi bản cài đặt PHP phục vụ yêu cầu web đều có rủi ro, gồm PHP-FPM, Apache mod_php, php-cgi, FrankenPHP và LiteSpeed; rủi ro cao nhất ở mod_php, nơi đã có khai thác minh hoạ mà một yêu cầu chưa xác thực kích hoạt được trước khi bất kỳ mã ứng dụng nào chạy.
| Nhánh PHP | Bản đã vá | Ghi chú theo thông báo của PHP |
|---|---|---|
| 8.5 | 8.5.12 | Còn được hỗ trợ |
| 8.4 | 8.4.27 | Còn được hỗ trợ |
| 8.3 | 8.3.36 | Còn được hỗ trợ |
| 8.2 | 8.2.35 | Còn được hỗ trợ |
| 8.1 trở xuống | Không có bản vá chính thức | Dự án PHP không còn cập nhật; một số nhà phân phối và đơn vị LTS có bản vá ngược. Nhóm bảo mật PHP vẫn cung cấp bản vá tối thiểu dạng mã nguồn cho 7.4, 8.0 và 8.1 để ai tự biên dịch hoặc không có nhà cung cấp LTS |
Ai tìm ra, và khi nào: hai nguồn kể khác nhau
Bài của Calif và bài của Wiz mô tả hai hành trình độc lập, và dòng thời gian của họ không khớp nhau. Theo Calif, họ được OpenAI mời vào chương trình Patch the Planet ngày 30/7, tìm ra đường dẫn tới RCE đầu tiên ngày 1/8, báo lỗi thứ nhất cho PHP ngày 11/8, gửi mã minh hoạ ngày 14/8 và được PHP xác nhận ngày 15/8; lỗi thứ hai báo ngày 21/8. Theo Wiz, họ phát hiện lỗi đầu tiên ngày 19/8, xác nhận RCE trên Drupal ngày 20/8 và WordPress ngày 21/8, báo cho nhóm bảo mật PHP ngày 24/8, và PHP ghi nhận, bắt đầu làm bản vá ngày 21/9. Bài của OpenAI viết: Calif tìm ra lỗi nghiêm trọng bằng GPT-5.6 Sol, còn Wiz "cũng độc lập phát hiện và báo cáo cả hai lỗ hổng". Locaith không thể tự kiểm ai đến trước; chỉ có thể nói ngày phát hiện Calif nêu (1/8) sớm hơn ngày Wiz nêu (19/8) 18 ngày, còn ngày báo lỗi đầu tiên cho PHP (11/8 so với 24/8) cách nhau 13 ngày.
Hai nhóm cũng nêu công cụ khác nhau. Wiz cho biết họ dùng Wiz Atlas, Gemini 4 Argon và GPT-5.6 Sol, và trích lời Raluca Ada Popa (Google DeepMind) rằng Argon đóng góp lớn ở khâu tìm lỗi, dựng mã khai thác và kiểm tra bản vá. Calif nói ở giai đoạn tìm lỗi đầu tiên họ "không dùng bộ khung đặc biệt hay mô hình nào không phổ biến", và rằng chính hiểu biết của người nghiên cứu về lịch sử lỗi của PHP mới là phần quyết định: lỗi gốc cùng họ từng được báo năm 2020 (bug #78876) và được kiểm toán OSTIF/Quarkslab nhắc đến năm 2024 nhưng chưa chứng minh được khai thác.
Điều Wiz nói AI đã thay đổi
Wiz mô tả hai lỗi gốc trong lõi PHP là chuyện cũ hơn một thập kỷ; điều khó là dựng chuỗi khai thác, vì phải nối nhiều lỗi và thích ứng với cách PHP cấp phát bộ nhớ ở từng phiên bản và cấu hình. Theo Wiz, mô hình giúp chỉnh mã khai thác cho từng môi trường và tự gỡ lỗi khi thất bại, nên một nhà nghiên cứu làm trong khoảng một tuần việc trước đây cần "một nhóm đẳng cấp thế giới nhiều tháng". Đây là nhận định của Wiz, Locaith không có cách nào đo lại. Calif lại nhấn mạnh hướng ngược: mô hình mặc định hay đi từ lỗi mới nổi tiếng sang mã lân cận cũ, không tự bắt đầu từ những kỹ thuật khai thác hai mươi năm tuổi, nên người hiểu mục tiêu vẫn quyết định chất lượng kết quả.
Về phạm vi, Wiz viết PHP "chạy 70% website trên thế giới"; đây là con số của Wiz, Locaith chưa tìm được nguồn đo độc lập trong ngày. Calif liệt kê các ứng dụng họ xác nhận khai thác được không cần xác thực: WordPress 7.1.2, Drupal 11.4.3, Joomla 6.1.4, MediaWiki 1.46.2, Roundcube 1.7.4, Magento 2.4.9, phpMyAdmin 5.2.3, Nextcloud 35.0.1, Laravel 13.11, Symfony 8.1 và WHMCS. Cả Wiz và Calif đều nhấn mạnh lỗi nằm ở PHP nên ứng dụng dù viết cẩn thận cũng không tự bảo vệ được.
Việc cần làm trong tuần này
- Biết mình đang chạy bản nào. Chạy
php -vtrên máy chủ, hoặc xem trong bảng điều khiển hosting. Với hosting dùng chung, phiên bản PHP do nhà cung cấp quyết định: hỏi họ đã áp dụng bản vá của 21/10 chưa. - Cập nhật lên 8.5.12, 8.4.27, 8.3.36 hoặc 8.2.35, hoặc bản vá của nhà phân phối Linux. Nếu đang ở 8.1 trở xuống, PHP khuyên nâng lên bản còn hỗ trợ hoặc hỏi nhà cung cấp LTS về bản vá ngược.
- Nếu chưa cập nhật được ngay, PHP nêu các biện pháp giảm rủi ro (không thay thế bản vá): đặt
memory_limit=-1ở mức không để ứng dụng ghi đè được, đặtpost_max_sizethấp (8M nếu không cần tải tệp, 32M nếu cần), đặtsession.upload_progress.enabled=0rồi khởi động lại mọi worker, và trên PHP 8.5 đặtfatal_error_backtraces=0. PHP và Calif đều lưu ý các cài đặt này chỉ chặn một số đường đã biết, vàmemory_limit=-1làm tăng rủi ro cạn bộ nhớ. - Theo dõi dấu hiệu. Wiz gợi ý chú ý các yêu cầu multipart bất thường theo sau là lỗi vượt giới hạn bộ nhớ hoặc nhiều phản hồi HTTP 500, cookie PHPSESSID lớn hoặc sai định dạng trong phản hồi, và worker PHP khởi động lại không rõ lý do. Wiz cũng nói nhật ký ứng dụng có thể chứa rất ít ngữ cảnh vì lỗi xảy ra dưới tầng ứng dụng.
Điều chưa rõ
Locaith không đọc thấy nguồn nào trong ngày 22/10 nói đã có khai thác ngoài thực tế. OpenAI viết "theo hiểu biết của chúng tôi, AI tiên phong tìm ra các lỗ hổng này trước kẻ tấn công". Đó là nhận định của OpenAI, không phải kết quả kiểm chứng độc lập; và Wiz lẫn Calif đều cảnh báo cùng năng lực ấy giúp kẻ tấn công dựng công cụ khai thác nhanh hơn.
Phản ứng của OpenAI: 1 tỉ USD truy cập Daybreak
Cùng ngày, OpenAI đăng bài "Patch the Planet" mô tả quy trình năm bước để phối hợp xử lý lỗ hổng nghiêm trọng (xác nhận và vá ở nguồn, cho tổ chức bị ảnh hưởng thời gian chuẩn bị, phối hợp với chính phủ, chuẩn bị bản cập nhật trên các sản phẩm, rồi công bố hướng dẫn). OpenAI cho biết đã liên hệ các cơ quan Mỹ gồm Super Intelligence Force của Nhà Trắng, ONCD và CISA, chia sẻ công cụ kiểm tra phiên bản PHP dưới dạng kỹ năng Codex, và cam kết 1 tỉ USD truy cập Daybreak được trợ giá cho "Daybreak for Frontline Defenders", nhắm vào các tổ chức ít nguồn lực bảo vệ dịch vụ thiết yếu. Hãng viết rằng các lỗi này nằm trong số "nhiều lỗ hổng đáng kể" đã tìm ra và đang xử lý, và dự báo các phát hiện tương tự "tăng mạnh trong vài tháng tới". Cam kết 1 tỉ USD và dự báo đó là lời của OpenAI; bài không nêu cách tính mức trợ giá.
Với các đơn vị đang vận hành website bằng WordPress hay Joomla, hoặc dùng phần mềm PHP như phpMyAdmin, Nextcloud, Roundcube để chạy hệ thống nội bộ, đây là loại tin cần chuyển ngay cho người quản trị hạ tầng, không phải để đọc rồi để đó.
Giới hạn của bài này
Locaith đọc ngày 22/10/2026 thông báo của PHP, bài của Wiz, bài của Calif và bài của OpenAI; mọi chi tiết kỹ thuật, số phiên bản và lời trích lấy từ các trang đó. Locaith không chạy thử mã khai thác, không đọc các bản tư vấn CVE/GHSA chi tiết và không tự kiểm số phiên bản PHP đang dùng trên Internet. Bài cố ý không tái hiện chi tiết kỹ thuật của chuỗi khai thác. Các bản tổng hợp tin trong ngày viết gọn rằng lỗi do "mô hình của OpenAI" tìm ra; nguồn gốc cho thấy bức tranh có ba bên (Calif với GPT-5.6 Sol, Wiz với Gemini 4 Argon và GPT-5.6 Sol, cùng người nghiên cứu), nên bài này theo nguồn gốc.
Nguồn:
- PHP — Security advisory: Critical remote code execution vulnerabilities, update now, 21/10/2026 — phiên bản vá, biện pháp giảm rủi ro
- Wiz Research — PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet, 21/10/2026 — dòng thời gian của Wiz, công cụ, ảnh sơ đồ
- Calif — A tale of two PHP remote vulnerabilities (php2shell), Ryan Austin, 21/10/2026 — dòng thời gian của Calif, danh sách ứng dụng, lịch sử lỗi
- OpenAI — Patch the Planet: global response coordination as agents uncover critical vulnerabilities, 21/10/2026 — quy trình phối hợp, cam kết Daybreak
Locaith đọc trực tiếp các nguồn trên ngày 22/10/2026. Ảnh bìa và sơ đồ trong bài: Wiz Research (bìa là phần cắt từ tranh minh hoạ của Wiz, Locaith bỏ phần chữ tiêu đề). Các con số về tỉ lệ website, thời gian "một tuần so với nhiều tháng" và khoản 1 tỉ USD là của nhà cung cấp, chưa được kiểm độc lập. Ban Biên Tập Locaith biên soạn và phân tích ngày 22/10/2026.