Lỗ hổng CVE nghiêm trọng: Composer và rủi ro bảo mật

Lỗ hổng CVE nghiêm trọng: Composer và rủi ro bảo mật
CLOUD HOSTING
DỊCH VỤ
VPS • CLOUD • SERVER
Hiệu năng cao
Ổn định • Bảo mật • Tốc độ
☁️
SSD NVMe 99.9% 24/7
TÌM HIỂU NGAY

Một lỗ hổng bảo mật mới được công bố trong Composer, trình quản lý dependency phổ biến cho PHP, có thể cho phép một gói độc hại hoặc bị xâm nhập thay đổi quyền trên các tệp nằm ngoài thư mục cài đặt của nó. Lỗ hổng này, được theo dõi là CVE-2026-59944, có thể gây ra rủi ro bảo mật trên các hệ thống chia sẻ hoặc đa người dùng khi các phiên bản Composer bị ảnh hưởng xử lý các đường dẫn nhị phân của gói không an toàn.

Chi tiết về lỗ hổng Composer CVE-2026-59944

Vấn đề này ảnh hưởng đến các phiên bản Composer từ 2.3.0 đến trước 2.10.3, cũng như các phiên bản từ 1.0 đến trước 2.2.30. Bản vá đã được Composer phát hành trong các phiên bản 2.10.3 và 2.2.30. Lỗ hổng bắt nguồn từ điểm yếu trong việc xử lý đường dẫn và liên kết tượng trưng của Composer khi quản lý các tệp nhị phân của gói.

Một gói độc hại có thể khai báo một tệp nhị phân là một liên kết tượng trưng (symbolic link) phân giải đến một mục tiêu nằm ngoài thư mục của gói. Trong quá trình cài đặt, Composer có thể theo liên kết này, thay đổi quyền của tệp bên ngoài và đăng ký nó như một lệnh có thể chạy dưới thư mục vendor/bin của dự án.

Điều này không mang lại khả năng remote code execution hoặc truy cập trực tiếp vào dữ liệu của nạn nhân chỉ qua lỗ hổng này. Tuy nhiên, việc thay đổi quyền có thể khiến một tệp trước đây chỉ chủ sở hữu mới có thể đọc trở nên có thể đọc và thực thi bởi mọi người (world-readable and executable).

Trong môi trường hosting chia sẻ, máy chủ đa người dùng hoặc nền tảng build, những người dùng hoặc tiến trình cục bộ khác có thể truy cập nội dung bị lộ. Lỗ hổng này đã vượt qua các biện pháp bảo vệ được giới thiệu trong một khuyến cáo trước đó của Composer, GHSA-gjfg-22fp-rrxx. Trước đây, Composer đã từ chối các phân đoạn đường dẫn “..” trong các tệp nhị phân khai báo, nhưng việc xác thực này chỉ được áp dụng ở một giai đoạn của quá trình phân giải dependency.

Bỏ qua các biện pháp bảo vệ trước đó

Các nhà nghiên cứu bảo mật phát hiện ra rằng việc xác thực có thể bị bỏ qua khi Composer xử lý các liên kết tượng trưng hoặc siêu dữ liệu dependency được khôi phục từ một môi trường trước đó. Rủi ro cao nhất xảy ra khi các tổ chức tái sử dụng thư mục vendor từ một nguồn không đáng tin cậy hoặc có độ tin cậy thấp.

Các ví dụ bao gồm các thư mục vendor được khôi phục thông qua bộ nhớ đệm CI chia sẻ, sao chép từ giai đoạn build container trước đó, được giữ lại từ các phiên bản Composer cũ hơn hoặc bị sửa đổi bởi một quy trình build kém tin cậy hơn. Khuyến cáo của GitHub nêu rõ rằng một lệnh composer install thông thường trong một pipeline build hoặc triển khai có thể âm thầm áp dụng sửa đổi quyền nguy hiểm bằng cách sử dụng các đặc quyền của tài khoản đang chạy Composer.

Biện pháp khắc phục và cập nhật

Composer hiện xác thực rằng mọi tệp nhị phân được khai báo đều phân giải trong thư mục của gói đang được cài đặt. Nếu một tệp nhị phân trỏ ra ngoài đường dẫn gói, Composer sẽ bỏ qua nó và hiển thị cảnh báo thay vì chạm vào tệp đích. Đây là một bước quan trọng trong việc cập nhật bản vá và đảm bảo an ninh mạng.

Quản trị viên và nhà phát triển nên cập nhật ngay lập tức lên Composer phiên bản 2.10.3 hoặc 2.2.30. Việc xây dựng lại các thư mục vendor từ các nguồn đáng tin cậy cũng rất quan trọng, đặc biệt đối với các pipeline CI/CD, bộ nhớ đệm dependency, bản dựng container và hệ thống triển khai.

Lỗ hổng này liên quan đến CWE-22 (Path Traversal), CWE-59 (Improper Link Resolution) và CWE-732 (Incorrect Permission Assignment for Critical Resources). Véctơ CVSS của khuyến cáo cho thấy độ phức tạp tấn công thấp và tác động bảo mật cao; tuy nhiên, việc khai thác đòi hỏi thực thi cục bộ quy trình cài đặt dependency và tương tác người dùng.

Để được hỗ trợ thông tin chi tiết và các bản vá lỗi bảo mật mới nhất, người dùng có thể tham khảo các nguồn uy tín như GitHub Advisory.