Gitingest: Arbitrary file read via symlink in blob ingestion
Summary
Gitingest through version 0.3.1 follows symlinks during single-file blob ingestion. An unauthenticated remote attacker can commit a symlink to a public repository and submit its blob URL, causing the service to return any file the service user can read, up to 10 MB. The CVSS 4.0 score is 8.7 (High), mainly for confidentiality impact.
Affected
- Gitingest up to and including 0.3.1
- Vulnerable component: ingest_query, single-file blob ingestion
Fixed in
Unknown.
Workaround
- Do not expose Gitingest to the internet or to untrusted users; place it behind VPN, SSO or an authenticating reverse proxy
- Run the service as a dedicated low-privilege user without access to secrets, .env files, SSH keys or other repositories
- Keep secrets out of directories the service can read
- Restrict or disable single-file blob ingestion if the deployment allows it
Exploitation
- CISA SSVC: exploitation status PoC, automatable: yes, technical impact: partial
- A third-party write-up exists; its content has not been reviewed
- No evidence of exploitation in the wild found; not in CISA KEV
- EPSS about 0.4%
Our recommendation
- Inventory all Gitingest installations, including pip packages and containers
- Check whether any instance is reachable from the internet and remove public exposure immediately
- Limit access to authenticated internal users only
- Ensure the service account cannot read secrets or sensitive files
- Monitor the upstream repository and the VulnCheck advisory for a fixed release and apply it as soon as available
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- VulnCheck advisory www.vulncheck.com
- Gitingest GitHub repository github.com
- Vulnerable source line (ingestion.py) github.com
- Third-party write-up (HackMD) hackmd.io
- VulDB entry vuldb.com
- Vulners CVE record vulners.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 02:44.
Original description (NVD)
Gitingest through 0.3.1 contains a symlink following vulnerability in ingest_query single-file blob ingestion that allows unauthenticated attackers to read server files by submitting symlink blob URLs. Attackers can commit a symlink to a public repository and submit its blob URL, causing the server to return any file the service user can read, up to 10 MB.
NVD references (4)
- https://github.com/coderamp-labs/gitingest
- https://github.com/coderamp-labs/gitingest/blob/4e259a02fe72115bee538271622f1234a81c8e1a/src/gitingest/ingest…
- https://hackmd.io/@hieuPenguinnn/gitingest-blob-symlink-arbitrary-file-read
- https://www.vulncheck.com/advisories/gitingest-through-0.3.1-arbitrary-file-read-via-symlink-in-blob-ingestion
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
