# PHP2Shell: hai lỗ hổng PHP nghiêm trọng, lệnh cấm vận bị rò rỉ và những gì thực sự được biết về việc khai thác

Published: 2026-10-22

PHP đã phát hành các bản sửa lỗi khẩn cấp cho hai lỗ hổng thực thi mã từ xa nghiêm trọng, CVE-2026-109618 và CVE-2026-109619, được gọi là PHP2Shell. Bản phát hành đã được ra mắt vào ngày 21 tháng 10 năm 2026. Tập này giải thích hai lỗi bộ nhớ bằng ngôn ngữ đơn giản, lý do tại sao một manh mối từ cuộc kiểm toán năm 2024 đã phải chờ được sửa, làm thế nào lệnh cấm vận bị rò rỉ và những nguồn nào nói gì về việc khai thác. Nó cũng bao gồm bản phát hành bản vá quan trọng trong cùng ngày của GitLab và lệnh phạt 25 tỷ đô la của Meta ở New Mexico.

Canonical: https://thedailydiff.dev/vi/video/2026-10-22-php2shell/

## Nội dung video này đề cập

- Cả hai lỗ hổng đều được nhóm PHP đánh giá 9.2 trên CVSS v4.0. Các bản phát hành đã sửa lỗi là PHP 8.2.35, 8.3.36, 8.4.27 và 8.5.12; PHP 7.4, 8.0 và 8.1 chỉ nhận được các bản vá nguồn. PHP cho biết cập nhật là biện pháp khắc phục hoàn chỉnh duy nhất.
- Lỗ hổng đầu tiên đến từ việc PHP để lại một yêu cầu chưa hoàn thành khi hết bộ nhớ vào thời điểm không thích hợp. Lỗ hổng thứ hai đến từ một con trỏ còn sót lại đến bộ nhớ của một yêu cầu mà một yêu cầu sau đó trong cùng một worker có thể sử dụng. Trên Apache với mod\_php, đường dẫn đầu tiên chạy trước mã ứng dụng.
- Một nhà phát triển cốt lõi của PHP đã tìm thấy những dấu hiệu đầu tiên của vấn đề bộ nhớ trong một cuộc kiểm toán năm 2024. PHP Foundation cho biết các bản sửa lỗi cạnh tranh có sự đánh đổi và một nhóm bảo mật dựa trên sự đồng thuận đã gặp khó khăn trong việc lựa chọn, mà họ gọi là một thất bại về cấu trúc.
- Foundation cho biết các ID CVE đã bị rò rỉ vào ngày 20 tháng 10, Calif đã vô tình xuất bản một video chứng minh khái niệm và Chainguard đã xuất bản các hình ảnh dựng sẵn với bản sửa lỗi hơn sáu giờ trước khi phát hành. CEO của Chainguard cho biết mọi người đã bị ảnh hưởng và anh ấy đã tìm thấy các lỗi một cách độc lập.
- Các nguồn không đồng ý về việc khai thác. Amazon đã ghi lại một nỗ lực vào ngày 17 tháng 10 và sau đó cho biết PHP2Shell đã bị khai thác rộng rãi. watchTowr đã báo cáo việc khai thác trong tự nhiên. CISA chưa quan sát thấy việc khai thác tại thời điểm xuất bản và nhóm PHP không tìm thấy bất kỳ khai thác chức năng nào tại thời điểm phát hành. Nhiều tập lệnh chứng minh khái niệm công khai được báo cáo là không hoạt động.
- Kiểm tra mọi nơi PHP chạy, bao gồm các bản sao bên trong phần mềm khác, cập nhật, khởi động lại worker và xem xét nhật ký trở lại ngày 17 tháng 10.

## Câu hỏi và trả lời

### Hai lỗ hổng PHP2Shell là gì?

PHP2Shell gọi tên hai lỗ hổng PHP nghiêm trọng, CVE-2026-109618 và CVE-2026-109619, cả hai đều được nhóm PHP đánh giá 9.2. Lỗ hổng đầu tiên khiến một yêu cầu chưa hoàn thành khi PHP hết bộ nhớ vào thời điểm không thích hợp, và sau đó quá trình dọn dẹp tin tưởng vào yêu cầu đó. Lỗ hổng thứ hai để lại một con trỏ đến bộ nhớ của một yêu cầu mà một yêu cầu sau đó trong cùng một worker có thể sử dụng. Cả hai đều có thể dẫn đến việc thực thi mã mà không cần đăng nhập.

### Phiên bản PHP nào có bản sửa lỗi cho PHP2Shell, và các phiên bản không được hỗ trợ thì sao?

Dự án PHP đã phát hành các bản sửa lỗi trong 8.2.35, 8.3.36, 8.4.27 và 8.5.12 vào ngày 21 tháng 10. Đối với 7.4, 8.0 và 8.1, họ chỉ xuất bản các bản vá nguồn, và BleepingComputer báo cáo rằng các nhà phân phối và nhà cung cấp hỗ trợ dài hạn có thể cung cấp các bản sửa lỗi được backport. PHP cho biết không có biện pháp khắc phục hoàn chỉnh nào, vì vậy cập nhật hoặc yêu cầu nhà cung cấp gói đã vá lỗi là lựa chọn an toàn duy nhất.

### Tại sao một lỗi bộ nhớ PHP đã biết lại phải mất đến tháng 10 năm 2026 mới được sửa?

PHP Foundation cho biết một nhà phát triển cốt lõi đã tìm thấy những dấu hiệu đầu tiên của vấn đề bộ nhớ trong một cuộc kiểm toán bảo mật năm 2024, nhưng không có đường dẫn khai thác nào được biết và mọi bản sửa lỗi ứng cử viên đều có những sự đánh đổi như phá vỡ khả năng tương thích. Nhóm bảo mật quyết định bằng sự đồng thuận và gặp khó khăn trong việc lựa chọn, mà Foundation gọi là một thất bại về cấu trúc do quy trình quyết định và thiếu tài nguyên.

### PHP2Shell có đang bị khai thác không và việc khai thác có dễ dàng không?

Các nguồn không đồng ý. Amazon đã ghi lại một nỗ lực khai thác vào ngày 17 tháng 10 và sau đó cho biết PHP2Shell đã bị khai thác rộng rãi, và watchTowr đã báo cáo việc khai thác trong tự nhiên. CISA chưa quan sát thấy việc khai thác tại thời điểm xuất bản, và nhóm PHP không thấy bất kỳ khai thác chức năng nào tại thời điểm phát hành. watchTowr nói hầu hết các tập lệnh khai thác công khai gây sập hoặc không làm gì, và VulnCheck thấy việc thực thi mã chỉ hoạt động trong một số cài đặt.

### Phán quyết của The Daily Diff về PHP2Shell là gì?

Phán quyết của The Daily Diff là SHIP IT: hãy phát hành bản cập nhật PHP tối nay, vì phiên bản mới là bản sửa lỗi hoàn chỉnh duy nhất. CISA khuyến cáo kiểm kê mọi hệ thống chạy PHP, bao gồm các bản sao bên trong phần mềm khác, áp dụng bản vá, và gỡ các hệ thống PHP ngoại tuyến nếu không thể cập nhật. Amazon khuyên nên xem xét nhật ký trở lại ngày 17 tháng 10, khi họ thấy nỗ lực đầu tiên.

## Chương

- 0:00 Ai đã thử PHP2Shell sớm bốn ngày?
- 0:41 Hai lỗi PHP2Shell là gì?
- 1:37 Tại sao một lỗi đã biết lại phải đợi hai năm?
- 1:54 Ai đã tìm thấy PHP2Shell và bằng cách nào?
- 2:20 Lệnh cấm vận PHP2Shell đã bị rò rỉ như thế nào?
- 2:50 PHP2Shell có đang bị khai thác không và bởi ai?
- 3:43 Chính phủ đã gỡ bỏ những gì?
- 4:11 Phiên bản PHP nào nhận được bản sửa lỗi?
- 4:30 Bạn phải làm gì với PHP2Shell tối nay?
- 4:45 Hôm nay còn có bản vá RCE quan trọng nào khác được phát hành không?
- 5:01 Tại sao Meta bị yêu cầu trả 25 tỷ đô la?
- 5:18 Chainguard đã bảo vệ gì cho việc sửa lỗi sớm?
- 5:38 Điều gì nhận được dấu SHIP IT?

## Bản ghi đã dịch

Được dịch từ lời tường thuật tiếng Anh gốc. Âm thanh và phụ đề có sẵn được điều khiển bởi YouTube.

### Ai đã thử PHP2Shell sớm bốn ngày?

0:00 Lệnh cấm vận bảo mật được cho là giữ bí mật một lỗi cho đến khi bản vá được phát hành. Amazon đã ghi lại một nỗ lực chống lại lỗi nghiêm trọng của PHP sớm bốn ngày. Trong video này, ai đã tìm thấy nó? Lệnh cấm vận đã bị rò rỉ như thế nào? Và nó tồi tệ đến mức nào, thực sự? Và công ty bị đổ lỗi cho vụ rò rỉ có một biện pháp bảo vệ mà tôi không ngờ tới. Tôi sẽ nói đến nó. Hôm nay là thứ Năm, ngày 22 tháng 10, và đây là The Daily Diff.

0:21 PHP là một ngôn ngữ kịch bản xây dựng các trang web trên máy chủ ngay trước khi chúng đến tay bạn. Nó đã hơn ba mươi tuổi và, theo một ước tính, chạy khoảng bảy mươi phần trăm các trang web, bao gồm WordPress và phần mềm đằng sau Wikipedia. Các nhà phát triển thích chế nhạo nó, thường là từ một trang PHP đang phục vụ họ. Việc bảo trì nó là một tổ chức phi lợi nhuận với khoảng mười ba kỹ sư.

### Hai lỗi PHP2Shell là gì?

0:41 Vào thứ Tư, PHP đã phát hành các bản sửa lỗi khẩn cấp cho hai lỗ hổng nghiêm trọng cho phép một người lạ chạy mã trên máy chủ mà không cần đăng nhập. Cùng với nhau, chúng được gọi là PHP2Shell, và chúng bắt nguồn từ PHP 5 chấm 4. Đây là lỗi đầu tiên được giải thích đơn giản. PHP cấp cho mỗi yêu cầu một ngân sách bộ nhớ. Nếu một yêu cầu đạt đến giới hạn đó vào đúng thời điểm không thích hợp, PHP thoát ra một cách vội vàng và để lại yêu cầu chưa hoàn thành. Sau đó, bước dọn dẹp tin tưởng vào thứ chưa hoàn thành đó.

1:07 Lỗi thứ hai là một tàn dư. Một lỗi nghiêm trọng có thể để lại một ghi chú chỉ vào bộ nhớ thuộc về yêu cầu cuối cùng. Cùng một worker xử lý yêu cầu tiếp theo và làm theo ghi chú. Đến lúc đó, một người khác đã sống ở địa chỉ đó. Trên Apache với mod PHP, thiệt hại xảy ra trước khi mã của bạn chạy, vì vậy trang đăng nhập của bạn không bao giờ có tiếng nói. Wiz nói ngay cả một tập lệnh "hello world" cũng bị lộ. Bản sửa lỗi loại bỏ lối thoát khẩn cấp của PHP khi hết bộ nhớ.

1:32 Thay vì thoát giữa yêu cầu, PHP hiện dừng lại một cách lịch sự ở điểm an toàn tiếp theo. Phần kỳ lạ là manh mối đầu tiên đã cũ đến mức nào.

### Tại sao một lỗi đã biết lại phải đợi hai năm?

1:39 Vào năm 2024, một cuộc kiểm toán bảo mật bên ngoài đã dẫn một nhà phát triển cốt lõi của PHP đến những dấu hiệu đầu tiên của vấn đề bộ nhớ. Không có khai thác nào được biết, và mọi bản sửa lỗi đều làm hỏng thứ gì đó. Một nhóm quyết định bằng sự đồng thuận không thể lựa chọn, vì vậy lỗi đã phải chờ đợi. Sau đó, vào tháng 8, những người tìm thấy đã đến trong vòng vài ngày.

### Ai đã tìm thấy PHP2Shell và bằng cách nào?

1:56 Nhà nghiên cứu Ryan Austin của Calif đã tìm thấy nó vào ngày 1 tháng 8, làm việc thông qua chương trình Patch the Planet của OpenAI. OpenAI đã báo cáo cùng một nguyên nhân gốc rễ một cách độc lập. Wiz tìm thấy các biến thể vài tuần sau đó với các mô hình Gemini và GPT. Austin nói anh ấy đã sử dụng các mô hình mà bất cứ ai cũng có thể có, cộng với một lý thuyết về nơi các lỗi cũ của PHP ẩn náu. OpenAI nói AI tiên tiến là chìa khóa. Lỗi đã ẩn mình hơn một thập kỷ. Bản phát hành được lên kế hoạch vào thứ Năm.

### Lệnh cấm vận PHP2Shell đã bị rò rỉ như thế nào?

2:21 Vào thứ Ba, hai số CVE bắt đầu lưu hành trực tuyến, với thời gian phát hành sai và điểm số sai là mười. PHP đã đẩy bản phát hành lên một ngày. Tối hôm đó, Calif đã vô tình xuất bản một video về bằng chứng khái niệm của họ hoạt động, và các bản sao tồn tại sau khi bị xóa. Vào sáng thứ Tư, hơn sáu giờ trước khi phát hành, Chainguard đã xuất bản các hình ảnh dựng sẵn chứa bản sửa lỗi. PHP nói bất kỳ kẻ tấn công nào cũng có thể nghiên cứu bản sửa lỗi đó trong khi mọi người khác chờ đợi.

2:46 Một bản vá cũng là một diff, và kẻ tấn công đọc diff.

### PHP2Shell có đang bị khai thác không và bởi ai?

2:50 Vậy ai thực sự đang bị tấn công? Honeypot của Amazon đã ghi lại một nỗ lực vào ngày 17 tháng 10 và sau đó cho biết PHP2Shell đang bị khai thác rộng rãi. watchTowr báo cáo việc khai thác trong tự nhiên. Cisa cho biết họ chưa quan sát thấy bất kỳ vụ nào khi xuất bản, và nhóm PHP không thấy bất kỳ khai thác hoạt động nào tại thời điểm phát hành. CEO của Cloudflare cho biết họ đã thấy hàng nghìn nỗ lực trong mười giờ trước thông báo, và hàng triệu vào sáng thứ Năm.

3:13 Amazon cẩn thận về một điểm. Họ không biết liệu những nỗ lực sớm nhất của họ có hoạt động trên một hệ thống thực tế không. Một nỗ lực chỉ là một tiếng gõ cửa. Vậy nó tồi tệ đến mức nào, thực sự? watchTowr nói các khai thác công khai đang lan truyền chủ yếu gây sập hoặc không làm gì. VulnCheck nói việc thực thi mã hoạt động trong một số cài đặt, và không có cái nào trong số những cái công khai đánh bại ngẫu nhiên hóa bộ nhớ trên các máy chủ x86 tiêu chuẩn. Nhà nghiên cứu Elias Taylor nói nó không dễ dàng như Log4Shell.

3:40 Mọi người vẫn nói hãy vá lỗi. Chính phủ không chờ đợi phán quyết.

### Chính phủ đã gỡ bỏ những gì?

3:44 NSA đã yêu cầu các tổ chức không thể vá lỗi phải gỡ các hệ thống PHP ngoại tuyến, và Trung tâm An ninh Mạng Quốc gia Vương quốc Anh đã đưa ra lời khuyên tương tự. Các trang web Hà Lan, bao gồm dịch vụ định danh kỹ thuật số quốc gia, đã ngừng hoạt động, cùng với một trang web của cảnh sát Paris. Wikimedia đã gỡ bỏ một số hệ thống như một biện pháp phòng ngừa. Palo Alto Networks đã đếm hơn hai mươi hai triệu trường hợp bị lộ. Và một giáo sư người Úc đã đưa ra một điểm rất sắc sảo. Các trang web cần lo lắng là những trang không ngừng hoạt động hôm nay.

### Phiên bản PHP nào nhận được bản sửa lỗi?

4:11 Các bản sửa lỗi tồn tại cho PHP 8.2 đến 8.5. Đối với 7.4, 8.0 và 8.1, PHP chỉ xuất bản các bản vá nguồn. Các phiên bản cũ hơn không nhận được gì từ dự án PHP, vì vậy hãy hỏi nhà phân phối của bạn. Các biện pháp khắc phục tạm thời làm giảm khả năng, nhưng PHP nói cập nhật là cách duy nhất hoàn chỉnh. Đây là bài học tương tự như tập eMudhra hôm qua,

### Bạn phải làm gì với PHP2Shell tối nay?

4:32 vì một bản sửa lỗi tồn tại không giống như quá trình đang chạy có nó. Tìm mọi PHP trong ngăn xếp của bạn, ngay cả các bản sao ẩn bên trong phần mềm khác. Cập nhật, khởi động lại các worker và kiểm tra nhật ký trở lại ngày 17 tháng 10. Cùng ngày, GitLab đã phát hành bản vá quan trọng,

### Hôm nay còn có bản vá RCE quan trọng nào khác được phát hành không?

4:47 19.5.1. Một tràn số nguyên trong trình biên dịch biểu thức chính quy của nó cho phép một người dùng chưa được xác thực chạy mã trên máy chủ, và nó đạt điểm mười trên mười. GitLab.com đã được vá lỗi. Các cài đặt tự quản lý cần bản cập nhật.

### Tại sao Meta bị yêu cầu trả 25 tỷ đô la?

5:01 Trong khi đó ở New Mexico, một thẩm phán đã ra lệnh cho Meta phải trả hai mươi lăm tỷ đô la tiền phạt cho vụ Cambridge Analytica. Bồi thẩm đoàn đã đếm hơn bốn mươi ba triệu vi phạm với mức phạt lên đến năm nghìn đô la mỗi vụ, tổng cộng khoảng hai trăm hai mươi tỷ trước khi thẩm phán cắt giảm. Meta nói họ sẽ thắng kiện khi kháng cáo. Bây giờ là phần bảo vệ mà tôi đã hứa.

### Chainguard đã bảo vệ gì cho việc sửa lỗi sớm?

5:19 CEO của Chainguard nói với The Register rằng anh ấy tự tìm thấy các lỗi tương tự vào một đêm thứ Sáu, sau khi biết có điều gì đó sắp xảy ra trong PHP, với một lời nhắc cơ bản để tìm các lỗ hổng xấu. Anh ấy nói anh ấy đã phát hành sớm vì mọi người đã bị tấn công. Nếu bạn muốn đọc điều này hơn là nghe tôi nói, bản diff sẽ đến hộp thư đến của bạn mỗi sáng, miễn phí tại thedailydiff.dev, liên kết bên dưới. Vì vậy, phán quyết hôm nay là SHIP IT.

### Điều gì nhận được dấu SHIP IT?

5:39 Phát hành bản cập nhật PHP tối nay, vì số phiên bản mới là bản sửa lỗi hoàn chỉnh duy nhất. Và đó là bản diff cho ngày hôm nay. Tôi là Niko từ Axrisi. Hợp nhất có trách nhiệm.

## Nguồn

- [Today's PHP Security Release, and How We're Strengthening PHP Security](https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/) — The PHP Foundation
- [RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)](https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w) — PHP security advisory
- [RCE via stale global state (GHSA-6wmf-4rv5-p3rp)](https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp) — PHP security advisory
- [Upcoming Critical PHP Security Release](https://www.php.net/archive/2026.php) — php.net
- [php2shell](https://calif.io/php2shell/) — Calif
- [PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet](https://www.wiz.io/blog/php2shell-php-rce) — Wiz Research
- [Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot](https://aws.amazon.com/blogs/security/amazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot/) — AWS Security Blog
- [Critical Vulnerabilities in PHP Require Immediate Patching](https://www.cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-require-immediate-patching) — CISA
- [Flaw in PHP computer language leads to shutdown of websites around world](https://www.theguardian.com/technology/2026/oct/21/flaw-in-php-computer-language-leads-to-shutdown-of-websites-around-world) — The Guardian
- [What is PHP, and how bad is the computer language flaw causing website shutdowns globally?](https://www.theguardian.com/technology/2026/oct/22/what-is-php-computer-language-flaw-causing-global-website-shutdowns) — The Guardian
- [PHP2Shell Exploitation Started Days Before Patches](https://www.securityweek.com/php2shell-exploitation-started-days-before-patches/) — SecurityWeek
- [PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619](https://www.tanium.com/blog/php2shell-responding-to-cve-2026-109618-and-cve-2026-109619) — Tanium
- [There isn't an easy exploit for this PHP vulnerability](https://eliastaylor.com/noexploit/) — Elias Taylor
- [PHP blames supply chain security biz Chainguard for putting entire web at risk](https://www.theregister.com/security/2026/10/22/php-blames-supply-chain-security-biz-chainguard-for-putting-entire-web-at-risk/5304611) — The Register
- [PHP2Shell: 22M exposed servers at risk as emergency patches released](https://www.techtarget.com/cybersecurity/news/366652444/PHP2Shell-22M-exposed-servers-at-risk-as-emergency-patches-released) — TechTarget
- [PHP ships emergency patches for critical PHP2Shell flaws](https://www.bleepingcomputer.com/news/security/php-ships-emergency-patches-for-critical-php2shell-flaws/) — BleepingComputer
- [GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13](https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-5-1-released/) — GitLab
- [Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica case](https://www.cnbc.com/2026/10/21/meta-new-mexico-cambridge-analytica-penalty.html) — CNBC
- [Tell HN: 2x PHP RCE CVEs with CVSS 10.0 Incoming](https://news.ycombinator.com/item?id=50167754) — Hacker News
