Skip to content

docs(security): record the chromadb advisory that has no upstream fix - #218

Open
se-jo-ma wants to merge 1 commit into
mainfrom
docs/chromadb-advisory
Open

docs(security): record the chromadb advisory that has no upstream fix#218
se-jo-ma wants to merge 1 commit into
mainfrom
docs/chromadb-advisory

Conversation

@se-jo-ma

Copy link
Copy Markdown
Member

What

Dependabot alert #22GHSA-f4j7-r4q5-qw2c / CVE-2026-45829, critical, pre-authentication code injection in the ChromaDB server, against chromadb >= 1.0.0, <= 1.5.9.

There is no fix to apply. This PR does not close the vulnerability, because nothing can right now — it records what is actually true about Fathom's exposure so the next person to run a scan does not have to re-derive it.

Why no bump works

Check Result
Latest chromadb on PyPI 1.5.9 — the top of the vulnerable range
crewai 1.6.1 / 1.10.0 / 1.15.17 (latest) all pin chromadb~=1.1.0

So neither a chromadb floor nor a crewai bump escapes the advisory.

Exposure, verified

  • Not in the core install. dependencies is clipspy, pyyaml, pydantic. chromadb arrives only via the crewai extra (and all, which includes it).
  • Not in the published image. Dockerfile builds with uv sync --frozen --no-dev --extra server.
  • The client is imported. import fathom.integrations.crewai eagerly loads the chromadb client, so calling this an unused dependency would be false.
  • The vulnerable component is never started. chromadb.server.* is never imported and Fathom never runs a ChromaDB server. trust_remote_code, the flag the advisory turns on, does not appear anywhere in the installed chromadb 1.1.1 — neither its Python source nor the compiled Rust bindings.

Changes

  • pyproject.toml — note on the crewai extra, next to the pin it constrains, matching the existing note on the mcp extra.
  • SECURITY.md — a Known advisories in optional dependencies section, for anyone reconciling a scan against an install.

No dependency versions change; uv.lock is untouched.

Follow-up left to the maintainer

Alert #22 stays open. Dismissing a critical alert is a maintainer decision, and the honest reason is narrower than any of Dependabot's canned ones — not_used is wrong (the client is imported) and inaccurate overclaims. Leaving it open also means we get told when chromadb finally ships a patched release.

Dependabot alert #22 (GHSA-f4j7-r4q5-qw2c / CVE-2026-45829) reports a
pre-auth code injection in the ChromaDB server against `chromadb`
>= 1.0.0, <= 1.5.9. There is no version to move to: 1.5.9 is the latest
release on PyPI and sits inside the range, and every crewai release from
1.6.1 through 1.15.17 pins `chromadb~=1.1.0`, so bumping crewai does not
escape it either.

What is true about Fathom's exposure is worth writing down rather than
re-deriving on the next scan:

- chromadb is not in the core install. `dependencies` is clipspy, pyyaml
  and pydantic; chromadb arrives only through the `crewai` extra.
- It is not in the published image. The Dockerfile builds with
  `uv sync --frozen --no-dev --extra server`.
- The client *is* imported when `fathom.integrations.crewai` loads, so
  "unused dependency" would be the wrong description.
- The vulnerable component is the server. `chromadb.server.*` is never
  imported, and Fathom never starts one.

Records this on the `crewai` extra, next to the pin it constrains, in the
same style as the existing note on the `mcp` extra, and in SECURITY.md
for anyone reconciling a scan of an install.

Signed-off-by: Sean Mauk <seanmauk@krakennetworks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants