Khởi tạo VPS trong 60 giây · Hoàn tiền trong 7 ngày · Hỗ trợ kỹ thuật 24/7
Bitech Bitech
Bảo mật

Cảnh báo bảo mật: Lỗ hổng CVE-2024-58354 đe dọa chiếm quyền kiểm soát kho lưu trữ Cal.com

Lỗ hổng CVE-2024-58354 mức độ Critical trong GitHub Actions của Cal.com cho phép kẻ tấn công chiếm quyền kiểm soát repository thông qua Pull Request độc hại.

Tổng quan về lỗ hổng CVE-2024-58354

Nền tảng quản lý lịch hẹn mã nguồn mở Cal.com (trước đây là kho lưu trữ calcom, sau đó đổi tên thành cal.diy) vừa ghi nhận một lỗ hổng bảo mật nghiêm trọng liên quan đến cấu hình GitHub Actions. Lỗ hổng được theo dõi dưới mã hiệu CVE-2024-58354, công bố ngày 23/07/2026 và được xếp hạng ở mức độ Chí mạng (CRITICAL).

Lỗ hổng này cho phép kẻ tấn công chiếm quyền kiểm soát kho lưu trữ (Repository Takeover) thông qua các yêu cầu kéo (Pull Request) được gửi tới dự án.

Chi tiết kỹ thuật và cơ chế khai thác

Lỗ hổng xuất phát từ việc thiết lập quyền hạn và quy trình xử lý mã nguồn không an toàn trong luồng công việc (workflow) CI/CD của dự án:

  • Cấu hình nguy hiểm: Luồng công việc pr.yml sử dụng sự kiện kích hoạt pull_request_target với quyền ghi mặc định (write permissions) của kho lưu trữ, sau đó truyền quyền này xuống luồng công việc check-types.yml.
  • Thực thi mã không an toàn: Quy trình check-types.yml thực hiện việc kiểm tra mã nguồn (checkout) từ Pull Request do người dùng bên ngoài gửi lên thông qua hành động dangerous-git-checkout. Sau đó, hệ thống tiếp tục tự động thực thi các kịch bản lệnh thông qua yarn install và các script trong package.json.

Tác động: Kẻ tấn công chỉ cần mở một Pull Request chứa mã lệnh tùy chỉnh. Khi luồng CI/CD chạy, mã độc sẽ được thực thi dưới quyền của GITHUB_TOKEN có quyền ghi. Điều này cho phép kẻ tấn công:

  • Đẩy mã mới (commit) trực tiếp vào kho lưu trữ.
  • Sửa đổi hoặc tự động gộp (merge) các Pull Request.
  • Thêm, xóa bình luận hoặc xóa và đẩy đè (force-push) lên các nhánh (branch).

Đối tượng bị ảnh hưởng

Lỗ hổng ảnh hưởng trực tiếp đến nhánh chính (main) của kho lưu trữ calcom/cal.diy. Các nhà phát triển, tổ chức tích hợp hoặc vận hành phiên bản tự triển khai (self-hosted) dựa trên kho lưu trữ bị ảnh hưởng cần lưu ý về nguy cơ an ninh chuỗi cung ứng (Supply Chain Risk).

Khuyến nghị khắc phục

Để đảm bảo an toàn cho các quy trình CI/CD và kho lưu trữ dự án, các nhà phát triển và quản trị viên hệ thống nên áp dụng các biện pháp sau:

  1. Nguyên tắc quyền tối thiểu (Least Privilege): Thay đổi cấu hình mặc định của GITHUB_TOKEN trong GitHub Actions về mức chỉ đọc (read-only), chỉ cấp quyền ghi cho từng job cụ thể khi thật sự cần thiết.
  2. Tránh kết hợp nguy hiểm: Không sử dụng pull_request_target kết hợp với việc checkout và thực thi mã chưa qua kiểm duyệt từ các nhánh bên ngoài (fork repository).
  3. Tách biệt môi trường: Sử dụng sự kiện pull_request thông thường cho các tác vụ kiểm tra mã nguồn để đảm bảo mã từ bên ngoài chạy trong môi trường không có quyền truy cập vào các Secret hoặc token có quyền ghi.
  4. Theo dõi bản cập nhật: Thường xuyên kiểm tra các bản vá và khuyến cáo bảo mật mới nhất từ phía dự án Cal.com.

Nguồn tham khảo


Ngày phát hành: 23/07/2026
Nguồn: NVD — CVE-2024-58354
Tham khảo: https://github.com/calcom/cal.diy/commit/9aa60fae41a6b6b101c86bf430754b439f440871
Tham khảo: https://github.com/calcom/cal.diy/security/advisories/GHSA-p3f6-52gv-cj7m
Tham khảo: https://www.vulncheck.com/advisories/cal-com-repository-takeover-via-pull-request-target-workflow