Xử lý.env không đáng tin cậy cho phép thực thi mã tùy ý trong Google Cloud Gemini CLI và run-gemini-cli GitHub Action

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-13745 là gì?

Lỗ hổng CVE-2026-13745 là lỗ hổng thuộc các loại Improper Input Validation và Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'), ảnh hưởng tới Gemini CLI (phiên bản bị ảnh hưởng: < 0.39.1) và run-gemini-cli GitHub Action (phiên bản bị ảnh hưởng: < 0.1.22). Lỗ hổng này được xếp hạng ở mức Nghiêm trọng, với điểm CVSS 9.2. Hiện chưa đủ dữ liệu để xác định lỗ hổng này đã bị khai thác hay chưa.

Giới thiệu chung

Dữ liệu gốc

Một lỗ hổng trong Gemini CLI và GitHub Action đi kèm đã cho phép kẻ tấn công không có đặc quyền thực hiện việc thực thi mã tùy ý trong Gemini CLI thông qua các tệp.env cục bộ không đáng tin cậy ghi đè GEMINI_CLI_HOME.

Sản phẩm và phạm vi ảnh hưởng

  • Google Cloud Gemini CLI: Bản ghi chuẩn xác định các phiên bản nhỏ hơn 0.39.1 là bị ảnh hưởng. Advisory của nhà cung cấp bổ sung nhánh preview song song, trong đó các phiên bản nhỏ hơn 0.40.0-preview.3 bị ảnh hưởng. Các phiên bản được advisory nêu là đã sửa gồm 0.39.10.40.0-preview.3.
  • Google Cloud run-gemini-cli GitHub Action: Các phiên bản nhỏ hơn 0.1.22 bị ảnh hưởng; 0.1.22 là phiên bản được advisory và bản ghi nêu là đã sửa.
  • Trạng thái của các nhánh hoặc phiên bản khác không được liệt kê trong các nguồn đã kiểm tra vẫn chưa được xác minh, vì vậy không nên suy ra rằng mọi phiên bản mới hơn đều an toàn chỉ từ sự tồn tại của một bản sửa.

Chi tiết kỹ thuật

Gemini CLI tự động nạp biến môi trường từ các tệp .env và sử dụng GEMINI_CLI_HOME để xác định thư mục gốc chứa cấu hình cùng dữ liệu lưu trữ cấp người dùng. Theo bản ghi, nội dung .env cục bộ không đáng tin cậy có thể ghi đè biến này, cho phép tệp do workspace kiểm soát tác động đến ngữ cảnh cấu hình và tin cậy của CLI. Advisory của nhà cung cấp mô tả cùng nhóm hành vi trong môi trường headless: các phiên bản trước tự động tin cậy workspace, từ đó có thể xử lý cấu hình và biến môi trường trong thư mục không đáng tin cậy và dẫn đến thực thi mã từ xa. Bản vá yêu cầu cơ chế tin cậy thư mục rõ ràng trước khi xử lý các tệp cấu hình như .env, đồng thời cải thiện việc allowlist tool trong chế độ --yolo. Theo bản ghi, điểm yếu liên quan đến kiểm tra dữ liệu đầu vào không đầy đủ và trung hòa không đúng các phần tử đặc biệt trong lệnh hệ điều hành. Điều kiện khai thác là attacker phải khiến CLI hoặc GitHub Action xử lý workspace hay dữ liệu cục bộ không đáng tin cậy; chi tiết chính xác về hàm nội bộ hoặc cách lệnh được tạo chưa được công khai.

Khả năng khai thác

Đường khai thác có thể được kích hoạt từ xa thông qua CI hoặc automation xử lý workspace do attacker kiểm soát, chẳng hạn nội dung pull request, issue hoặc repository không đáng tin cậy. Bản ghi mô tả trường hợp không yêu cầu quyền đặc biệt và không yêu cầu người dùng tương tác, nhưng vẫn cần điều kiện thực tế là dữ liệu hoặc tệp không đáng tin cậy được đưa vào phiên chạy. Advisory tập trung vào Gemini CLI chạy ở chế độ headless và các GitHub Actions xử lý dữ liệu không đáng tin cậy. Dữ liệu được cung cấp không xác nhận việc khai thác trong thực tế, exploit công khai hoặc chiến dịch ransomware; việc các trường này để trống không chứng minh rằng các hoạt động đó không tồn tại.

Tác động kỹ thuật

  • Kết quả kỹ thuật chính là thực thi mã tùy ý trong tiến trình Gemini CLI hoặc môi trường chạy GitHub Action.
  • Attacker có thể có khả năng đọc dữ liệu, thay đổi nội dung hoặc gây gián đoạn dịch vụ trong phạm vi quyền của tiến trình; nếu runner có quyền rộng, tác động có thể lan sang tài nguyên CI/CD hoặc repository liên quan.
  • Tác động cụ thể phụ thuộc vào quyền của tài khoản chạy, credential được cung cấp, loại workflow và việc workspace có chứa dữ liệu không đáng tin cậy hay không.
  • Vulnerability không tự chứng minh rằng mọi cài đặt Gemini CLI đều bị ảnh hưởng: phải có phiên bản bị ảnh hưởng và đường xử lý dữ liệu hoặc tệp không đáng tin cậy phù hợp.

Tác động đến tổ chức

  • Một lần thực thi mã thành công có thể chạy với quyền của tiến trình Gemini CLI hoặc GitHub runner, từ đó có khả năng đọc dữ liệu workspace, sửa mã nguồn, thay đổi artifact hoặc làm gián đoạn job.
  • Nếu workflow cung cấp credential, token hoặc quyền GitHub rộng, tác động có thể mở rộng sang tài nguyên CI/CD và repository mà runner được phép truy cập.
  • Mức độ ảnh hưởng thực tế phụ thuộc vào quyền của runner, credential được nạp và loại dữ liệu mà workflow xử lý; không có bằng chứng trong bản ghi về một vụ xâm nhập hoặc rò rỉ cụ thể.

Cách khắc phục

  1. Nâng cấp Google Cloud Gemini CLI lên 0.39.1 hoặc 0.40.0-preview.3, tùy nhánh đang sử dụng, và nâng cấp run-gemini-cli GitHub Action lên 0.1.22. Nếu workflow đặt rõ gemini_cli_version, phải cập nhật giá trị đó thay vì dựa vào phiên bản mặc định của action.
  2. Rà soát mô hình tin cậy của từng workflow. Với dữ liệu hoàn toàn đáng tin cậy, tài liệu hiện tại của CLI sử dụng GEMINI_CLI_TRUST_WORKSPACE=true để tin cậy workspace trong phiên headless. Với dữ liệu không đáng tin cậy, chỉ đặt biến này sau khi đã harden workflow; bản ghi ban đầu dùng tên GEMINI_TRUST_WORKSPACE, vì vậy cần xác minh lại tên biến theo tài liệu CLI hiện tại thay vì sao chép máy móc cấu hình cũ.
  3. Đối với workflow xử lý dữ liệu không đáng tin cậy, cấp quyền GitHub token và credential theo nguyên tắc least privilege, hạn chế trigger tự động từ fork hoặc nội dung bên ngoài, và chỉ allowlist các tool cùng lệnh thực sự cần thiết.
  4. Kiểm tra các lần chạy đã sử dụng phiên bản bị ảnh hưởng. Nếu chúng có quyền truy cập credential hoặc tài nguyên nhạy cảm, đánh giá khả năng lộ thông tin và thực hiện quy trình ứng phó sự cố cùng thay credential phù hợp.

Cách phát hiện

  • Kiểm kê mọi cài đặt @google/gemini-cli và các workflow sử dụng run-gemini-cli, bao gồm cả phiên bản được ghim trong tham số gemini_cli_version.
  • Xác định các workflow chạy ở chế độ headless và kiểm tra nguồn dữ liệu của chúng, đặc biệt là pull request, issue, fork hoặc workspace do bên ngoài cung cấp.
  • Kiểm tra repository và thư mục làm việc có các tệp .env, thư mục .gemini hoặc cấu hình đặt GEMINI_CLI_HOME hay không. Xác minh các tệp này có thể bị dữ liệu đầu vào không đáng tin cậy thay đổi hay không.
  • Rà soát workflow để tìm chế độ --yolo, allowlist tool rộng hoặc quyền GitHub token vượt quá nhu cầu công việc.
  • Kiểm tra log của các lần chạy bị ảnh hưởng để tìm lệnh shell, thao tác tệp hoặc truy cập credential bất thường. Đây là biện pháp giám sát phòng ngừa, không phải IOC đã được xác nhận, và không thấy log bất thường không chứng minh hệ thống an toàn.
Nguồn (22)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.

Khám phá CyStack VulnScan