Bảo mật & quyền riêng tư

PHP2Shell: Tại sao các điều chỉnh cấu hình không hiệu quả và cách giảm thiểu rủi ro trước khi vá lỗi

PHP đang phát hành các bản vá khẩn cấp cho hai lỗ hổng thực thi mã từ xa nghiêm trọng. Các chuyên gia cảnh báo rằng những giải pháp thay thế bằng cách thay đổi cấu hình phổ biến là không đủ và kêu gọi áp dụng chiến lược cô lập ngay lập tức.

Hình minh họa một máy chủ dễ bị tổn thương phía sau một két sắt bảo mật mở hé
Minh họa được tạo riêng cho bài viết này

Được dịch tự động từ bản gốc tiếng Anh.

Dự án PHP dự kiến phát hành các bản vá bảo mật khẩn cấp vào lúc 14:00 UTC ngày 21 tháng 10 năm 2026, nhằm khắc phục hai lỗ hổng thực thi mã từ xa nghiêm trọng được gọi chung là PHP2Shell. Những lỗ hổng này có mức độ nghiêm trọng 9.2/10, dẫn đến các cảnh báo khẩn cấp từ các công ty bảo mật và các nhà phát triển cốt lõi về sự thiếu hiệu quả của các biện pháp đối phó không chính thức hiện tại. Cho đến khi bản sửa lỗi chính thức có sẵn, các chuyên gia khuyên nên cô lập các instance PHP bị lộ khỏi mạng công cộng thay vì dựa vào việc thay đổi cấu hình.

Chuyện gì đã xảy ra

Các nhà nghiên cứu bảo mật đã xác định hai lỗ hổng nghiêm trọng trong PHP cho phép kẻ tấn công thực thi mã tùy ý trên các máy chủ bị ảnh hưởng. Tổ chức PHP Foundation vẫn chưa tiết lộ cụ thể phiên bản nào bị ảnh hưởng hoặc thành phần nội bộ nào chứa lỗi, với lý do rằng toàn bộ chi tiết sẽ được công bố cùng với bản phát hành. Cloudflare báo cáo đã quan sát thấy các nỗ lực khai thác sớm nhắm vào những lỗ hổng này, dẫn đến việc công ty triển khai các quy tắc tường lửa khẩn cấp như một biện pháp tạm thời cho người dùng của họ. Bất chấp những quan sát này, chưa có vụ xâm nhập thành công nào được xác nhận, và các lỗ hổng hiện không xuất hiện trong danh mục các lỗ hổng bị khai thác đã biết của CISA.

Một lượng lớn nhầm lẫn nảy sinh liên quan đến một biện pháp giảm thiểu tiềm năng liên quan đến thiết lập cấu hình session.upload_progress.enabled. GMO Flatt Security, một công ty có trụ sở tại Tokyo, ban đầu gợi ý rằng việc tắt tính năng này có thể giảm thiểu rủi ro. Tuy nhiên, công ty sau đó đã rút lại lời khuyên này, làm rõ rằng thiết lập đơn lẻ không cung cấp sự bảo vệ hoàn toàn và kẻ tấn công có khả năng vượt qua nó. Sự đảo ngược này được hỗ trợ bởi các nhà phát triển cốt lõi của PHP, những người nhấn mạnh rằng không có thay đổi cấu hình nào có thể thay thế cho một bản vá phần mềm phù hợp.

Cách hoạt động

Cuộc tranh luận về biện pháp giảm thiểu tập trung vào Session Upload Progress, một tính năng mặc định của PHP theo dõi trạng thái tải lên tệp. Lý thuyết được một số nhà nghiên cứu đề xuất là lỗ hổng nằm trong cơ chế này. Việc tắt nó thông qua session.upload_progress.enabled=0 được cho là sẽ loại bỏ bề mặt tấn công. Tuy nhiên, các cuộc kiểm toán độc lập và tuyên bố từ những người duy trì PHP chỉ ra rằng lỗi thậm chí có thể không tồn tại trong tính năng cụ thể này, khiến việc thay đổi cấu hình trở nên vô hiệu chống lại vector lỗ hổng thực tế.

Gina Peter Banyard, một nhà phát triển cốt lõi của PHP, đã tuyên bố rõ ràng rằng "các thiết lập ini sẽ không cứu bạn." Đồng thuận giữa các chuyên gia là lỗ hổng có khả năng liên quan đến cách PHP xử lý dữ liệu biểu mẫu nhiều phần (multipart form data), nhưng điểm vào chính xác vẫn chưa được xác nhận cho đến khi mã nguồn được xem xét sau bản vá. Vì nguyên nhân gốc rễ không được liên kết chắc chắn với việc tải lên phiên, việc bật/tắt các thiết lập liên quan chỉ mang lại cảm giác an toàn giả tạo trong khi vẫn để mở đường dẫn thực thi cơ bản cho việc khai thác.

Chi tiết chính

  • Thời gian phát hành bản vá: Bản sửa lỗi chính thức có sẵn vào lúc 14:00 UTC ngày 21 tháng 10 năm 2026.
  • Mức độ nghiêm trọng: Cả hai lỗ hổng đều được đánh giá 9.2/10 do tiềm năng thực thi mã từ xa.
  • Biện pháp đối phó không hiệu quả: Thiết lập session.upload_progress.enabled=0 không phải là một biện pháp giảm thiểu đáng tin cậy và không nên được coi là một bản sửa lỗi.
  • Các nhánh được hỗ trợ: Các bản vá sẽ được phát hành cho PHP phiên bản 8.2 đến 8.5; các phiên bản cũ hơn như 7.x và 8.1 đã hết vòng đời (end-of-life).
  • Trạng thái khai thác: Các nỗ lực khai thác sớm có thể nhìn thấy được, nhưng mã chứng minh khái niệm (proof-of-concept) công khai chưa được xác minh là hoạt động trên các phiên bản PHP đã phát hành.
  • Phản hồi của Cloudflare: Các quy tắc WAF khẩn cấp đã được triển khai như một biện pháp tạm thời, nhưng chúng chỉ bảo vệ lưu lượng truy cập đi qua mạng của họ.

Tại sao điều này quan trọng

Đối với các nhóm kỹ thuật quản lý hạ tầng PHP, sự cố này nêu bật nguy hiểm của việc dựa vào lời khuyên cộng đồng chưa được xác minh trong các sự kiện zero-day. Nhiều quản trị viên đã vội vàng áp dụng thay đổi cấu hình tải lên phiên, tin rằng nó mang lại sự an toàn ngay lập tức. Phản ứng này nhấn mạnh nhu cầu về các giao thức phản ứng sự cố kỷ luật, ưu tiên cô lập và xác minh hơn là các bản sửa lỗi nhanh chóng. Áp dụng các biện pháp giảm thiểu sai có thể lãng phí thời gian quý báu và để hệ thống dễ bị tổn thương nếu vector tấn công giả định là sai.

Hơn nữa, tình huống này phơi bày những rủi ro liên quan đến các phiên bản phần mềm đã hết vòng đời. Vì PHP chỉ hỗ trợ các nhánh từ 8.2 đến 8.5, các tổ chức chạy các phiên bản cũ hơn như 8.1 hoặc 7.x không nhận được bất kỳ bản vá chính thức nào. Các nhóm này phải dựa vào backport của bản phân phối Linux hoặc các nhà cung cấp bên thứ ba, điều này gây ra sự chậm trễ và không chắc chắn. Không thể vá ngay lập tức các phiên bản không được hỗ trợ buộc phải đưa ra những quyết định khó khăn về việc đưa dịch vụ ngoại tuyến hoặc triển khai các biện pháp cô lập mạng phức tạp để ngăn chặn sự tiếp xúc.

Bạn có thể làm gì

  • Chuẩn bị cho việc vá lỗi: Xác minh các quy trình cập nhật của bạn ngay bây giờ để bạn có thể triển khai bản sửa lỗi ngay sau 14:00 UTC ngày 21 tháng 10.
  • Cô lập quyền truy cập công cộng: Nếu không thể vá lỗi ngay lập tức, hãy đặt các ứng dụng PHP phía sau VPN hoặc hạn chế quyền truy cập chỉ cho các IP được liệt kê trong danh sách trắng (allowlist).
  • Xác minh ngữ cảnh cấu hình: Nếu bạn đã tắt tiến trình tải lên phiên, hãy đảm bảo thay đổi áp dụng cho quy trình phục vụ web (FPM hoặc mod_php), không chỉ giao diện dòng lệnh.
  • Kiểm tra nhật ký thay đổi gói: Đối với các bản phân phối Linux backport các bản sửa lỗi, hãy xác minh nhật ký thay đổi gói cho CVE cụ thể thay vì chỉ dựa vào số phiên bản.
  • Giới hạn đặc quyền máy chủ: Giảm dữ liệu được lưu trữ trên máy chủ, xóa các thông tin đăng nhập không cần thiết và đảm bảo nhật ký được gửi đến một vị trí riêng biệt, an toàn.
  • Giám sát lưu lượng: Theo dõi các yêu cầu dữ liệu biểu mẫu nhiều phần bất thường, nhưng hãy nhận ra rằng việc chặn chúng có thể phá vỡ chức năng tải lên tệp hợp lệ.
  • #php
  • #security
  • #vulnerability
  • #patch management
  • #web security

Công cụ từ cửa hàng Bytechap

Đọc tiếp

Bảo mật & quyền riêng tư

PHP phát hành bản vá khẩn cấp cho các lỗ hổng thực thi mã từ xa nghiêm trọng PHP2Shell

PHP đã đưa ra các bản cập nhật khẩn cấp để khắc phục hai lỗ hổng nghiêm trọng trong engine runtime của mình, cho phép thực thi mã từ xa mà không cần xác thực. Các lỗ hổng này ảnh hưởng đến hầu hết mọi phiên bản PHP và đang bị khai thác

Tất cả bài viết