<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-02T14:01:38.020600+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-54785</id>
    <title>CVE-2026-54785 — gemini-bridge vulnerable to arbitrary local file read via consult_gemini_with_files inline mode</title>
    <updated>2026-10-02T14:01:38.047264+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> eLyiN gemini-bridge</p>
<p>gemini-bridge is a lightweight MCP server bridging AI agents to Google's Gemini AI via the official CLI. From 1.0.0 until 1.3.1, consult_gemini_with_files in inline mode read any file path supplied in the files argument without confining it to the working directory, then forwarded the contents to the Gemini CLI. Because the caller also controls query, the file contents are echoed back through the Gemini round-trip (and sent to Google), making this an arbitrary local file read. This issue is fixed in version 1.3.1.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-54785"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-c5px-58j2-7fqp</id>
    <title>GHSA-c5px-58j2-7fqp — gemini-bridge vulnerable to arbitrary local file read via consult_gemini_with_files inline mode</title>
    <updated>2026-10-02T14:01:38.047366+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: gemini-bridge</p>
<p>### Summary
`consult_gemini_with_files` in **inline mode** read any file path supplied in
the `files` argument without confining it to the working `directory`, then
forwarded the contents to the Gemini CLI. Because the caller also controls
`query`, the file contents are echoed back through the Gemini round-trip
(and sent to Google), making this an arbitrary local file read.</p>
<p>### Impact
An MCP client — or an LLM that has been prompt-injected into calling the tool —
can read **any file the server process can access** (SSH keys, cloud
credentials, `.env`, source) and have it disclosed via the tool response.
No code execution by itself.</p>
<p>### Affected component
- Tool: `consult_gemini_with_files(query, directory, files, …)`, `mode="inline"`
- Sink: `_read_file_for_inline` via `_prepare_inline_payload` in `src/mcp_server.py`
- The `at_command` mode already confined paths; inline mode did not.</p>
<p>### Root cause
`_resolve_path` returned an out-of-root path while only nullifying the *display*
name, and `_prepare_inline_payload` read the file regardless. Absolute paths,
`..` traversal, and symlink escapes were all accepted.</p>
<p>### Patch
Fixed in **1.3.1**. `_resolve_path` now resolves symlinks and confines via
`Path.relative_to(root)`; inline mode skips any entry that resolves outside the
working directory (the same guard `at_command` already enforced).</p>
<p>### Workarounds
Upgrade to 1.3.1. Before upgrading, avoid `mode="inline"` with untrusted
`files` input, or run the server with a restric…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-c5px-58j2-7fqp"/>
  </entry>
</feed>
