From b345b86b85beb4f7dd6971aff94c0599bb37b603 Mon Sep 17 00:00:00 2001 From: Sean Mauk Date: Fri, 21 Aug 2026 16:41:39 +0000 Subject: [PATCH] docs(security): record the chromadb advisory that has no upstream fix 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 --- SECURITY.md | 12 ++++++++++++ pyproject.toml | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/SECURITY.md b/SECURITY.md index defbcfd..d8825c2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -97,6 +97,18 @@ advisory as soon as it is confirmed, with whatever mitigation exists. Report those upstream; if Fathom's use makes an upstream issue exploitable when it otherwise would not be, that is in scope and worth saying. +## Known advisories in optional dependencies + +An advisory against a transitive dependency stays listed here while it has no +upstream fix, so a scan of a Fathom install can be reconciled without guessing. + +- **GHSA-f4j7-r4q5-qw2c** (`chromadb`, all published versions) — pre-auth code + injection in the ChromaDB *server*. Reached only through the `crewai` extra, + which pins `chromadb~=1.1.0`; no chromadb release is outside the advisory + range, so there is nothing to upgrade to. Fathom imports the chromadb client + and never starts `chromadb.server`. The core install (`pip install + fathom-rules`) and the published Docker image do not contain chromadb at all. + ## Hardening the deployment Configuration that materially changes the attack surface — token scopes, the diff --git a/pyproject.toml b/pyproject.toml index c951d90..7c0a6a9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -88,6 +88,11 @@ langchain = [ "langchain-core>=0.2,<2", ] crewai = [ + # Pulls chromadb, which carries GHSA-f4j7-r4q5-qw2c (pre-auth code + # injection in the ChromaDB *server*). No floor can fix it: crewai pins + # `chromadb~=1.1.0` and every published chromadb release is inside the + # advisory range. Fathom imports the chromadb client through crewai but + # never starts `chromadb.server`, which is the vulnerable component. "crewai>=0.80,<2", ] openai-agents = [