Lỗ hổng CVE nghiêm trọng trong Laravel-Lang

Lỗ hổng CVE nghiêm trọng trong Laravel-Lang

Tin bảo mật mới nhất cho thấy một cuộc tấn công chuỗi cung ứng đã xâm phạm hệ sinh thái Laravel-Lang, chèn backdoor remote code execution có khả năng đánh cắp thông tin xác thực vào 233 phiên bản package trên khoảng 700 repository GitHub.

Sự cố được phát hiện vào tháng 5/2026 bởi Socket và Aikido. Kẻ tấn công thao túng GitHub tags để phân phối mã độc thông qua Composer autoloader, qua đó giành quyền truy cập từ xa vào môi trường phát triển.

Lỗ hổng Chuỗi Cung Ứng Trong Laravel-Lang

Đây không phải lỗ hổng CVE truyền thống gắn với một lỗi phần mềm đơn lẻ, mà là mối đe dọa phát sinh từ việc thay đổi tham chiếu tag trên GitHub. Kẻ tấn công không cần commit trực tiếp vào repository gốc, mà lợi dụng cơ chế tagging để trỏ các tag hợp lệ sang một nhánh độc hại.

Tham chiếu hữu ích: NVD – National Vulnerability Database.

Khi nhà phát triển kéo package bị ảnh hưởng qua Packagist, file src/helpers.php độc hại được thực thi tự động nhờ directive Composer autoload.files. Cách triển khai này giúp mã độc ẩn khỏi kiểm tra repository thông thường nhưng vẫn kế thừa đầy đủ quyền của ứng dụng web.

Cơ chế thực thi ban đầu

Giai đoạn lây nhiễm ban đầu sử dụng một dropper ngụy trang như hàm localize tiêu chuẩn của Laravel. Mã này thực hiện fingerprinting hệ thống bằng các chỉ số phần cứng cụ thể và tạo một file đánh dấu tạm thời để tránh chạy lặp lại.

Ở bước tiếp theo, payload vô hiệu hóa SSL verification rồi tải một script thứ cấp từ máy chủ command-and-control được làm rối. Script này được khởi chạy âm thầm theo cơ chế riêng của từng hệ điều hành.

Phân Tích Hành Vi Của Mã Độc

Payload được thu hồi là một PHP credential stealer với 15 module thu thập chuyên biệt. Nó được thiết kế để nhắm vào các bí mật của nhà phát triển, bao gồm metadata đám mây, thông tin đăng nhập cơ sở dữ liệu và các file cấu hình môi trường.

Chuỗi hành vi của lỗ hổng CVE theo nghĩa khai thác chuỗi cung ứng này thể hiện rõ mục tiêu chiếm quyền truy cập vào dữ liệu nhạy cảm trong môi trường phát triển, thay vì tấn công trực tiếp vào ứng dụng cuối.

Dữ liệu bị nhắm tới

  • Cloud metadata từ môi trường triển khai.
  • Database credentials trong file cấu hình hoặc biến môi trường.
  • API keys và token truy cập dịch vụ.
  • Environment configuration files chứa thông tin xác thực và bí mật ứng dụng.

Sau khi thu thập, phần mềm độc hại mã hóa dữ liệu bằng AES-256 rồi exfiltrate về hạ tầng của kẻ tấn công trước khi tự xóa để làm khó quá trình phân tích pháp chứng. Hành vi này làm tăng rủi ro bảo mật vì bí mật bị lộ có thể được dùng để truy cập sang hệ thống khác.

Ảnh Hưởng Hệ Thống Và Dấu Hiệu Cần Kiểm Tra

Trong bối cảnh lỗ hổng CVE liên quan supply chain, hệ thống bị ảnh hưởng không chỉ là máy trạm của nhà phát triển mà còn có thể mở rộng sang môi trường staging, CI/CD và dịch vụ đám mây nếu secrets đã bị lộ.

Các hệ thống đã cài package bị chèn mã cần được xem là hệ thống bị xâm nhập cho đến khi xác minh hoàn toàn. Nếu package đã chạy trong pipeline hoặc môi trường build, cần giả định rằng toàn bộ secrets được nạp tại thời điểm đó đã bị tiếp cận.

IOC cần lưu ý

  • Tag GitHub bị trỏ sai sang fork độc hại.
  • File src/helpers.php thực thi ngoài mong đợi khi autoload.
  • Outbound connection bất thường đến máy chủ C2 bị làm rối.
  • Tệp marker tạm thời dùng để ngăn thực thi lặp.
  • SSL verification disabled trong luồng tải payload phụ.

Những IOC này nên được đối chiếu cùng log ứng dụng, log pipeline, lịch sử thay đổi tag và lưu lượng mạng ra ngoài để hỗ trợ phát hiện xâm nhập.

Kiểm Tra Và Ứng Phó Với Lỗ Hổng CVE Dạng Chuỗi Cung Ứng

Đội phát triển cần kiểm tra ngay các file composer.lock để xác định package Laravel-Lang bị ảnh hưởng. Đồng thời, cần rà soát outbound network traffic nhằm phát hiện các kết nối đáng ngờ đến hạ tầng C2.

Việc kiểm tra phải tập trung vào các phiên bản package đã bị thay thế tag, vì đây là điểm phát tán chính của lỗ hổng CVE dạng supply chain này. Không nên chỉ dựa vào việc repository gốc có thay đổi hay không.

Lệnh CLI kiểm tra package

composer show laravel-lang/*
composer outdated | grep laravel-lang
grep -n "src/helpers.php\|autoload.files" composer.lock

Nếu phát hiện package bị ảnh hưởng, cần khóa phiên bản an toàn, xóa cache cài đặt và xác minh lại toàn bộ chuỗi phụ thuộc. Với môi trường CI/CD, nên kiểm tra thêm token, secrets và artifact sinh ra trong khoảng thời gian package độc hại tồn tại.

Khuyến Nghị Xử Lý Và Củng Cố Hệ Thống

Security researchers khuyến nghị xoay vòng ngay toàn bộ application secrets, database credentialsAPI keys đã từng xuất hiện trong môi trường bị xâm phạm. Đây là bước bắt buộc vì payload được thiết kế để đánh cắp thông tin xác thực, làm gia tăng nguy cơ bảo mật cho các dịch vụ liên quan.

Các máy chủ hoặc workspace đã chạy package độc hại nên được rebuild hoàn toàn từ image sạch đã biết tin cậy. Với môi trường container hoặc VM, cần tái tạo từ nguồn gốc chuẩn thay vì chỉ gỡ package, vì dấu vết persistence có thể đã tồn tại ngoài phạm vi repository.

Trong quá trình kiểm tra, cần xem xét toàn bộ log truy cập, lịch sử thay đổi dependency và cấu hình Composer để xác định mức độ ảnh hưởng thực tế. Nếu hệ thống có sử dụng secrets trong file .env, database config hoặc biến môi trường, các giá trị này phải được coi là đã bị rò rỉ dữ liệu cho đến khi xoay vòng xong.

Với đặc tính remote code execution thông qua autoload, việc chỉ cập nhật package mà không kiểm tra toàn bộ môi trường là chưa đủ. Cần kết hợp xác minh integrity của tag, kiểm tra dependency tree và giám sát an toàn thông tin trên các pipeline phát hành.