Evidence record / gemini-cli

A dated record of one change, kept so the writing that cites it can be checked. Compiled from the sources listed below by the research run, not written for reading. The judgment lives in the signals and issues that cite it, below.

2026-09-21-gemini-cli-extension-install-still-checks-out-fetch-head-after-plugin4shell-disclosure

AIR Security published Plugin4Shell on 2026-09-17: agents that install a plugin by pinned commit do not verify the checkout resolved to that commit. For Gemini CLI the write-up says the installer runs git fetch then git checkout FETCH_HEAD, and a repository whose default branch is named FETCH_HEAD makes checkout resolve to the branch and discard the fetched commit. AIR reports Google answered on 2026-08-04 that Gemini CLI is deprecated and will not be patched. At v0.60.0, packages/cli/src/config/extensions/github.ts line 72 is still git.checkout(‘FETCH_HEAD’). The same window shipped four security-heavy stables.

Channel: tagged-release (unfixed at v0.60.0). Half: defect.

Operator consequence: Install Gemini CLI extensions only from repositories you control or can re-verify by hash after install (git rev-parse HEAD inside the extension directory). The attack needs control of the extension repository; Whether a given git host accepts a branch named FETCH_HEAD is the host’s answer, not Gemini CLI’s.

Receipt

Finding metadata

Run: 2026-09-21-weekly-digest-2026-08-20_2026-09-21-frontier-v0

Finding ID: 2026-09-21-gemini-cli-extension-install-still-checks-out-fetch-head-after-plugin4shell-disclosure

Profile citations

Source links

Primary links, including exact changelog lines when available.

Versioned source: run artifact