Thảm họa PHP: Hai lỗ hổng suýt làm sập Internet

PHP2Shell gồm hai lỗ hổng cho phép thực thi mã từ xa không cần mật khẩu. Phạm vi sử dụng rộng của PHP khiến các hệ thống chưa vá đối mặt với nguy cơ bị xâm nhập.

Thông báo gián đoạn dịch vụ vì hai lỗ hổng nghiêm trọng trong PHP
Nền tảng giáo dục Smartschool tạm ngừng hoạt động để vá PHP.

Hai lỗ hổng PHP2Shell mang mã CVE-2026-109618 và CVE-2026-109619. Chúng cho phép kẻ tấn công thực thi mã từ xa trên máy chủ chưa vá mà không cần mật khẩu hoặc thao tác từ người dùng. Phạm vi ảnh hưởng đặc biệt lớn vì khoảng 70% phần web công khai trên Internet phụ thuộc vào PHP, theo số liệu được TechCrunch dẫn lại.

Các công ty Internet, nhà cung cấp dịch vụ lưu trữ và cơ quan chính phủ trên khắp thế giới đã chạy đua cập nhật hệ thống. Hoạt động này diễn ra vào thứ Tư, ngày 21 tháng 10 năm 2026. Nếu việc vá lỗi và phối hợp công bố chậm hơn, kẻ tấn công có thể xâm nhập hàng loạt trang web và máy chủ.

Theo bài điều tra gốc của TechCrunch, hai lỗ hổng đã tồn tại nhiều năm. Các nhà nghiên cứu chỉ mới tìm ra cách khai thác thực tế gần đây. PHP Foundation phát hành bản vá công khai ngày 21 tháng 10 sau nhiều tuần bí mật phối hợp với một số công ty Internet và nhà cung cấp dịch vụ lưu trữ lớn.

Quá trình phối hợp giúp nhiều tổ chức cập nhật trước khi thông tin kỹ thuật được công khai. Tuy nhiên, những hệ thống chưa vá vẫn có nguy cơ bị xâm nhập và đánh cắp dữ liệu.

Hai lỗ hổng PHP2Shell xuất hiện như thế nào?

Nhóm nghiên cứu bảo mật Calif phát hiện PHP2Shell trong PHP, ngôn ngữ lập trình mã nguồn mở được dùng cho trang web, ứng dụng web, mạng nội bộ và hệ thống doanh nghiệp. Theo bài điều tra của TechCrunch, hai lỗi từng xuất hiện trong một cuộc kiểm tra mã năm 2024 nhưng khi đó chưa được đánh giá là có thể khai thác.

Theo TechCrunch, đến năm 2026, các nhà nghiên cứu của Calif tìm ra phương thức biến hai lỗi thành cuộc tấn công thực tế và báo cho PHP Foundation. Tổ chức này sau đó sửa lỗi theo quy trình công bố phối hợp.

Thông tin kỹ thuật và bản vá được giữ kín đến một thời hạn nhất định, giúp các tổ chức lớn cập nhật trước khi chi tiết lỗ hổng được công khai. Quy trình này đặc biệt quan trọng với phần mềm mã nguồn mở vì bất kỳ ai cũng có thể xem mã và so sánh bản vá để xác định phần đã thay đổi.

Vì sao PHP2Shell đặc biệt nguy hiểm?

PHP2Shell đặc biệt nguy hiểm vì cho phép thực thi mã từ xa qua Internet mà không cần thông tin xác thực. Nạn nhân không phải bấm vào đường dẫn, mở tệp hoặc thực hiện thao tác nào. Kẻ tấn công chỉ cần nhắm vào một máy chủ chưa được vá.

Kẻ tấn công không cần biết tên đăng nhập, mật khẩu hoặc có sẵn tài khoản trên hệ thống. Sau khi xâm nhập, chúng có thể sửa dữ liệu, cài mã độc, đánh cắp thông tin hoặc duy trì quyền truy cập để quay lại sau.

Vì lỗ hổng không cần mật khẩu, các đội vận hành phải ưu tiên cập nhật thay vì chỉ tăng cường giám sát đăng nhập. Vấn đề này gần với rủi ro được nêu trong bài về việc 66% lãnh đạo bảo mật tại công ty tỷ đô để tồn tại lỗi chưa vá: khoảng trống giữa lúc có bản sửa và lúc hệ thống thực sự được cập nhật có thể trở thành cơ hội tấn công.

Vì sao khoảng 70% web có thể bị ảnh hưởng?

Khoảng 70% phần web công khai trên Internet phụ thuộc vào PHP, theo số liệu được TechCrunch dẫn lại. Vì phạm vi sử dụng rộng, một lỗ hổng trong PHP có thể ảnh hưởng đến nhiều trang web và hệ thống nội bộ. Thiết bị mạng và sản phẩm tích hợp cũng có thể chịu tác động, dù tỷ lệ sử dụng ngôn ngữ này đã giảm trong nhiều năm.

PHP phổ biến vì miễn phí, tương đối dễ sử dụng và đã tồn tại qua nhiều thế hệ phát triển web. Nhiều hệ quản trị nội dung lớn dựa trên PHP, trong đó có WordPress, Drupal, Joomla và MediaWiki, phần mềm đứng sau Wikipedia.

PHP còn xuất hiện trong công cụ dành cho lập trình viên, gói dòng lệnh, bộ định tuyến, thiết bị lưu trữ, tường lửa và mạng riêng ảo. Việc vá máy chủ web chỉ giải quyết một phần bề mặt tấn công. Các công ty tích hợp PHP vào sản phẩm cũng phải kiểm tra, cập nhật và phân phối bản sửa cho khách hàng.

Sự cố cho thấy một điểm yếu lâu năm của hạ tầng Internet. Nhiều dự án mã nguồn mở thiết yếu được duy trì bởi những người không nhận thù lao tương xứng và không đủ khả năng thuê đơn vị độc lập đánh giá bảo mật. Trong khi đó, nhiều doanh nghiệp phụ thuộc vào các dự án này nhưng không đóng góp tài chính.

Trí tuệ nhân tạo đã giúp tìm ra lỗi ra sao?

Trí tuệ nhân tạo hỗ trợ Calif trong quá trình khai thác hai lỗi, nhưng phần lớn công việc vẫn dựa trên kiến thức của con người về mã nguồn PHP và lịch sử khai thác ngôn ngữ này. Calif phát hiện các lỗ hổng khi kiểm tra mã PHP và tham gia sáng kiến Hack the Planet của OpenAI cùng công ty bảo mật đám mây Wiz.

Wiz sau đó xác minh các bản thử nghiệm khai thác do Calif xây dựng. Calif cho biết hiện chưa có mô hình nào có thể tìm ra mọi lỗi chỉ từ vài câu lệnh đơn giản.

Vai trò hỗ trợ này phù hợp với tranh luận rộng hơn về việc trí tuệ nhân tạo đang thay đổi hoạt động rà soát mã. Công cụ có thể tăng tốc việc tìm kiếm dấu hiệu bất thường, nhưng xác nhận tác động, xây dựng phương thức khai thác và đánh giá rủi ro vẫn cần kiến thức chuyên sâu.

Vì sao có dấu hiệu khai thác trước ngày công bố?

Theo báo cáo của Amazon, hãng phát hiện hoạt động khai thác PHP2Shell khoảng một tuần trước khi bản vá được phát hành. Amazon khuyến nghị các đội phòng thủ tìm dấu hiệu xâm nhập từ ngày 17 tháng 10 năm 2026 nhưng chưa xác định được kẻ tấn công biết về lỗ hổng bằng cách nào.

Một khả năng là thông tin bị rò rỉ trong thời gian cấm công bố. Quy trình này có nhiều tổ chức tham gia và phụ thuộc vào việc tất cả các bên giữ bí mật đúng hạn.

PHP Foundation cho rằng một công ty đã đưa bản vá lên mạng sớm hơn vài giờ, tạo cơ hội để người khác phân tích thay đổi. Việc đó không giải thích được hoạt động mà Amazon phát hiện từ khoảng một tuần trước.

Tin tặc cũng có thể đã tự phát hiện lỗi hoặc lấy được thông tin qua hoạt động gián điệp. Với phần mềm mã nguồn mở, một bản vá công khai có thể nhanh chóng chỉ ra vị trí lỗi. Biến thông tin đó thành công cụ tấn công vẫn đòi hỏi nhiều công sức.

Đến cuối ngày thứ Sáu sau khi bản vá được công bố, Palo Alto Networks và Trail of Bits xác nhận có trường hợp xâm nhập cùng hoạt động sau khai thác liên quan đến PHP2Shell. Mục tiêu cụ thể chưa được công bố.

Internet đã tránh được kịch bản xấu nhất chưa?

Chưa có dấu hiệu cho thấy PHP2Shell bị khai thác hàng loạt ngay sau khi công bố, nhưng nguy cơ chưa kết thúc. Matthew Prince, giám đốc điều hành Cloudflare, cho biết số lần thử khai thác tăng theo cấp số nhân sau khi thông tin lỗ hổng được công khai.

Các ngân hàng, nhà bán lẻ, trang trò chơi, cửa hàng trực tuyến, bệnh viện và một số cơ quan chính phủ đã chủ động đưa dịch vụ ngoại tuyến để cập nhật. Việc này làm giảm số mục tiêu có thể bị tấn công trong thời gian chi tiết kỹ thuật bắt đầu lan truyền.

Những đội công nghệ thông tin nhỏ và lập trình viên làm việc một mình có thể cập nhật chậm hơn. Thiết bị cũ, phần mềm không còn được hỗ trợ và hệ thống không có đường nâng cấp sẽ tiếp tục tồn tại trên Internet. Vì vậy, ảnh hưởng của PHP2Shell có thể kéo dài nhiều năm ngay cả khi phần lớn máy chủ hiện đại đã được vá.

Những sự cố tương tự có thể tái diễn

PHP2Shell cho thấy một thành phần công nghệ phổ biến có thể gây rủi ro cho nhiều lớp hạ tầng cùng lúc. Những sự cố trước đây liên quan đến Mirai, công cụ tấn công bị rò rỉ và bản cập nhật CrowdStrike cũng từng làm gián đoạn các dịch vụ trên quy mô lớn.

Các nội dung đáng chú ý từ những sự cố trước đây

Năm 2016, mạng máy tính ma Mirai làm ngập hệ thống của nhà đăng ký Internet Dyn bằng lưu lượng rác, khiến nhiều dịch vụ lớn chậm hoặc ngừng hoạt động. Một năm sau, Triều Tiên sử dụng công cụ tấn công bị rò rỉ của chính phủ Mỹ để phát tán mã độc tống tiền vào hệ thống y tế Anh. Đến năm 2024, một bản cập nhật CrowdStrike bị lỗi khiến số lượng lớn máy tính Windows trên toàn cầu gặp sự cố.

Theo số liệu của Cơ quan An ninh Quốc gia Mỹ được TechCrunch dẫn lại, khoảng 75% lỗ hổng đang bị khai thác chủ động liên quan đến lỗi bộ nhớ. PHP và nhiều công nghệ web lâu đời không bảo đảm an toàn bộ nhớ, nên lỗi có thể khiến phần mềm làm rò rỉ dữ liệu hoặc cho phép tác động ngoài phạm vi dự kiến.

Python, Rust và Swift được thiết kế an toàn bộ nhớ hơn, giúp tránh một nhóm lớn lỗ hổng kiểu này. Tuy nhiên, Internet vẫn phụ thuộc vào PHP, bộ mã hóa âm thanh và hình ảnh, thư viện nén cùng nhiều thành phần cũ khác. Thay thế toàn bộ chúng không thể diễn ra trong thời gian ngắn.

Trí tuệ nhân tạo có thể giúp giới phòng thủ tìm lỗi nhanh hơn, nhưng công cụ tương tự cũng giúp kẻ tấn công phân tích mã và bản vá. Các tổ chức cần cập nhật kịp thời, kiểm kê đầy đủ thành phần phần mềm và liên tục theo dõi dấu hiệu xâm nhập.

Hãy kiểm tra phiên bản PHP và hoàn tất bản vá PHP2Shell trước khi đưa bất kỳ hệ thống đang tạm ngừng nào trở lại Internet.