Lỗ hổng Composer nghiêm trọng: Cập nhật bản vá khẩn cấp!

Lỗ hổng Composer nghiêm trọng: Cập nhật bản vá khẩn cấp!

PHP Composer đã phát hành các bản cập nhật bảo mật khẩn cấp để khắc phục hai lỗ hổng command injection nghiêm trọng. Đây là một lỗ hổng Composer ảnh hưởng đến công cụ quản lý dependency thiết yếu được sử dụng rộng rãi bởi các nhà phát triển toàn cầu. Các lỗ hổng này gây ra mối lo ngại lớn về khả năng thực thi mã từ xa (remote code execution).

PHP Composer đóng vai trò trung tâm trong hệ sinh thái phát triển PHP, cho phép quản lý các thư viện và dependency một cách hiệu quả. Do đó, bất kỳ điểm yếu nào cho phép thực thi mã đều có thể dẫn đến các cuộc tấn công mạng nghiêm trọng và xâm phạm hệ thống.

Phân Tích Kỹ Thuật về Lỗ Hổng Command Injection trong Composer

Hai lỗi bảo mật cụ thể này tạo thành lỗ hổng Composer nằm trong trình điều khiển Hệ thống Kiểm soát Phiên bản (VCS) Perforce. Chúng cho phép kẻ tấn công thực thi các lệnh tùy ý trên máy của nạn nhân bằng cách tiêm (inject) các lệnh shell độc hại.

Theo tư vấn bảo mật chính thức được công bố bởi Nils Adermann, các lỗ hổng phát sinh do việc thoát (escaping) các giá trị không đầy đủ khi Composer xây dựng các lệnh shell. Điều này cho phép các ký tự đặc biệt được diễn giải là một phần của lệnh thay vì dữ liệu, từ đó tạo điều kiện cho command injection.

Cơ chế Command Injection

Command injection xảy ra khi một ứng dụng thực thi một lệnh hệ điều hành thông qua dữ liệu đầu vào không được tin cậy hoặc không được kiểm soát. Trong trường hợp của lỗ hổng Composer này, dữ liệu độc hại trong siêu dữ liệu gói Perforce có thể bị khai thác để chèn và thực thi các lệnh tùy ý trên hệ thống máy chủ. Điều này có thể dẫn đến việc chiếm quyền điều khiển hoàn toàn.

Ảnh hưởng và Nguy cơ Tiềm ẩn

Các vấn đề bảo mật này khiến các nhà phát triển phần mềm phải đối mặt với rủi ro nghiêm trọng khi xử lý các dự án không đáng tin cậy hoặc siêu dữ liệu gói độc hại. Kẻ tấn công có thể tạo ra các gói Composer chứa siêu dữ liệu độc hại, và khi người dùng thực hiện các thao tác liên quan đến Perforce VCS, mã độc có thể được kích hoạt.

May mắn thay, nhóm phát triển báo cáo rằng hiện tại không có bằng chứng về việc khai thác đang diễn ra trước khi công bố công khai. Tuy nhiên, nguy cơ từ lỗ hổng Composer này là đáng kể, đặc biệt khi xem xét vai trò thiết yếu của công cụ này trong chuỗi cung ứng phần mềm.

Cập Nhật và Khắc Phục Lỗ Hổng Composer

Người dùng được khuyến nghị mạnh mẽ nên cập nhật ngay lập tức các cài đặt Composer của mình lên phiên bản 2.9.6 hoặc phiên bản hỗ trợ dài hạn (LTS) 2.2.27. Đây là bước quan trọng để cập nhật bản vá bảo mật và khắc phục lỗ hổng Composer này.

Các phiên bản đã vá lỗi chứa các cơ chế thoát (escaping) và xác thực đầu vào được cải thiện, ngăn chặn hiệu quả các cuộc tấn công command injection thông qua trình điều khiển Perforce VCS. Việc không cập nhật bản vá có thể khiến hệ thống của bạn gặp rủi ro cao.

Hành Động Khẩn Cấp cho Người Dùng

Cách hiệu quả nhất để bảo mật môi trường cục bộ là vá phần mềm ngay lập tức. Bạn có thể dễ dàng nâng cấp lên các bản phát hành an toàn bằng cách chạy lệnh sau trong terminal:

composer.phar self-update

Lệnh này sẽ tự động tải xuống và cài đặt phiên bản Composer mới nhất, đảm bảo bạn được bảo vệ khỏi lỗ hổng Composer cụ thể này. Sau khi cập nhật, nên xác minh phiên bản đã được cài đặt thành công.

Biện Pháp Khắc Phục Tạm Thời

Nếu không thể cập nhật ngay lập tức do các ràng buộc về vận hành, các chuyên gia bảo mật khuyến nghị các biện pháp khắc phục tạm thời sau:

  • Đối với các nhà phát triển sử dụng giải pháp Private Packagist tự lưu trữ, hãy mong đợi một bản cập nhật phát hành nhanh chóng. Bản cập nhật này sẽ chứa các công cụ xác minh để quét siêu dữ liệu độc hại trên cơ sở hạ tầng của họ.
  • Hạn chế tối đa việc sử dụng Composer với các dự án hoặc gói không đáng tin cậy, đặc biệt là khi chúng có liên quan đến hệ thống kiểm soát phiên bản Perforce.

Bảo Vệ Hệ Sinh Thái PHP Rộng Hơn

Để bảo vệ hệ sinh thái nhà phát triển PHP rộng lớn hơn khỏi lỗ hổng Composer này, các nhóm bảo mật đã chủ động quét kho lưu trữ công khai chính, Packagist.org, cũng như các môi trường Private Packagist. Mục tiêu là phát hiện bất kỳ dấu hiệu khai thác nào.

Các cuộc quét toàn diện này không phát hiện gói nào đang cố gắng khai thác các lỗ hổng Composer cụ thể này thông qua siêu dữ liệu Perforce độc hại. Đây là một tin tốt, cho thấy chưa có khai thác rộng rãi được ghi nhận.

Là một biện pháp phòng ngừa nghiêm ngặt, việc xuất bản siêu dữ liệu nguồn Perforce đã bị vô hiệu hóa hoàn toàn trên cả hai nền tảng kể từ ngày 10 tháng 4 năm 2026. Việc này giúp giảm thiểu nguy cơ command injection tiềm ẩn và bảo vệ người dùng khỏi các lỗ hổng Composer trong tương lai.

Để biết thêm thông tin chi tiết về bản vá và các khuyến nghị kỹ thuật từ nhà phát triển, bạn có thể tham khảo blog chính thức của Packagist.