Một bản vá bảo mật chỉ phát huy tác dụng khi người vận hành hệ thống có thể cài đặt nó. Trong đợt xử lý PHP2Shell, tình nguyện viên Ondřej Surý đã giúp nối liền khoảng cách đó: ông chuẩn bị các gói PHP cho Debian và Ubuntu, bao gồm cả những phiên bản PHP cũ.
17
28 Công việc của Surý cho thấy an ninh phần mềm nguồn mở không chỉ dựa vào việc tìm và sửa lỗ hổng, mà còn cần những người duy trì con đường đưa bản cập nhật đến máy chủ.
PHP2Shell là gì, và PHP đã phát hành bản sửa nào?
PHP2Shell là tên gọi của hai lỗ hổng CVE-2026-109618 và CVE-2026-109619. Trong thông báo trước đợt phát hành, nhóm bảo mật PHP chấm cả hai ở mức 9,2 theo CVSS v4.0.
6
7 Nếu khai thác thành công, kẻ tấn công không cần xác thực vẫn có thể thực thi mã từ xa trên hệ thống PHP đang xử lý yêu cầu web.
3
8
Ngày 21/10/2026, PHP phát hành các phiên bản đã khắc phục lỗ hổng: 8.2.35, 8.3.36, 8.4.27 và 8.5.12.
3 Đây là các bản phát hành từ dự án PHP. Nhưng để quản trị viên cập nhật thuận tiện trên hệ thống của mình, phần mềm còn cần được đóng gói và phân phối phù hợp.
Vì sao khâu đóng gói lại quan trọng?
Nhiều quản trị viên cài PHP bằng các gói có sẵn thay vì tự tải mã nguồn rồi biên dịch. Chuẩn bị những gói đó là một công việc riêng, bên cạnh việc viết hoặc tích hợp bản sửa gốc. Surý đã tình nguyện duy trì các gói PHP cho Debian và Ubuntu hơn 20 năm, phần lớn trong thời gian rảnh.
17
32
Theo các bài viết đưa tin, kho phần mềm của ông có các gói đã vá trong chính ngày phát hành, bao phủ các phiên bản PHP từ 5.6 đến 8.5.
28 Điều này đáng chú ý với những hệ thống cũ: PHP 8.1 trở về trước không còn nhận cập nhật thông thường từ dự án PHP. Dù vậy, nhóm PHP đã công bố các bản vá ngược ở cấp mã nguồn cho 7.4, 8.0 và 8.1; một số nhà cung cấp khác cũng đưa ra bản sửa.
2
33
Khác biệt nằm ở khả năng triển khai: bản vá mã nguồn hữu ích với người có thể tự áp dụng và biên dịch, còn gói cài đặt sẵn giúp quản trị viên có con đường trực tiếp hơn để cập nhật. Công việc của Surý góp phần tạo con đường đó cho người dùng Debian và Ubuntu, kể cả những hệ thống còn chạy phiên bản PHP cũ.
24
28 Tuy nhiên, các nguồn hiện có xác nhận việc chuẩn bị gói phần mềm, chứ không cho biết có bao nhiêu máy chủ đã cài đặt hoặc họ cập nhật nhanh đến đâu.
Lịch phát hành gấp rút và tranh cãi về thời điểm
Nhóm bảo mật PHP đã lên lịch phát hành vào ngày 21/10 và cho biết có thể phát hành sớm hơn nếu thông tin chi tiết bị lộ hoặc xuất hiện dấu hiệu khai thác thực tế.
7 Quá trình phối hợp cũng trở thành chủ đề tranh cãi. PHP Foundation nói Chainguard đã công bố các ảnh container có bản vá hơn sáu giờ trước thời điểm phát hành phối hợp, và cho rằng việc này vi phạm thỏa thuận giữ kín thông tin.
34 Một bài viết khác cho biết CEO của Chainguard nói công ty quyết định phát hành sớm vì các vụ khai thác đã xuất hiện.
36 Đây là những lập trường được các bên đưa ra; các nguồn đó không tự thân phân xử được tranh cãi.
Bài học rộng hơn về an ninh phần mềm nguồn mở
Đợt xử lý PHP2Shell cần nhiều mắt xích phối hợp: nghiên cứu lỗ hổng, sửa mã nguồn chính, đóng gói cho các bản phân phối và quản trị viên cài bản cập nhật. Công việc tình nguyện lâu năm của Surý khiến mắt xích đóng gói trở nên rõ nét, nhưng bài học rộng hơn nằm ở hạ tầng phía sau phần mềm nguồn mở: bản sửa cần đi qua người bảo trì và các bản phân phối trước khi có thể bảo vệ hệ thống đang sử dụng phần mềm đó.
17
24
Vì thế, duy trì khâu cập nhật cũng là một vấn đề an ninh. Việc đưa bản sửa đến nơi cần thiết phụ thuộc vào những người và dự án có thể tiếp tục chăm sóc các gói phần mềm — kể cả khi dự án gốc đã ngừng hỗ trợ những phiên bản cũ.
28
33