Read the docs
TI-2026-66647 Aliases GHSA-8pqq-224h-x875

ogham-mcp had credentials embedded in published PyPI sdists -- Neon postgres URLs and Voyage API key

Priority LOW 38CWE-798Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Security bypass
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-798.

Summary

## Summary Between 2026-02 and 2026-04-24 a total of 22 public PyPI sdists of `ogham-mcp` contained development credentials embedded in source files. All credentials have since been rotated on the respective providers. No known exploitation. Upgrade to **v0.11.1** to get a clean release. ## What was leaked | Credential | Location in sdist | Vulnerable range | Count | |---|---|---|---| | 3x Neon postgres URLs with passwords (US / EU / AP development databases) | top-level `Makefile` (`NEON_US`, `NEON_EU`, `NEON_AP` vars) | `>=0.6.5, <0.11.0` | 21 sdists | | 1x Voyage AI API key (`pa-...`) | `tests/test_hooks.py::test_mask_secrets_key_value` -- test fixture that fed a real key into the redaction-function tester | `>=0.6.3, <0.11.1` | 22 sdists | ## Impact - **Primary risk**: any consumer of the affected sdists could have extracted the credentials and used them. The Neon URLs pointed at development databases; the Voyage key was a rate-limited API key. - **Observed exploitation**: none detected. Audit logs on both providers were reviewed post-rotation. - **Remediation on our side**: - Neon passwords for all three regions rotated. - Voyage API key rotated. - All affected versions yanked from PyPI (v0.3.0 through v0.10.4 yanked on 2026-04-24; v0.11.0 pending yank after this advisory). - v0.11.0 removed the Neon URLs and introduced `make publish-check` which scans every sdist for credential patterns before upload. - v0.11.1 scrubs the Voyage key from the test fixture and excludes `benchmarks/`, `docs/`, `research/`, `extras/`, and `**/*.env*` from all future sdists via explicit hatchling sdist include/exclude in `pyproject.toml`. ## Action for users - If users installed any version from `v0.3.0` through `v0.11.0`, upgrade to **v0.11.1** immediately: ``` pip install --upgrade "ogham-mcp>=0.11.1" ``` - Users do not need to rotate anything on their end. The leaked credentials were owned by the project maintainer, not by users. ## Credit Discovered during an internal pre-release audit on 2026-04-24 while preparing v0.11.1.

Why it matters now

Fix Fixed ogham-mcp (PyPI): 0.11.1

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—ogham-mcp (PyPI)0.6.3 to before 0.11.10.11.1Patch availableGHSA-8pqq-224h-x875
  • ogham-mcp (PyPI) Vendor— Affected 0.6.3 to before 0.11.1 Fixed in 0.11.1 Patch available GHSA-8pqq-224h-x875

Remediation

  • Fix · GHSA-8pqq-224h-x875 ogham-mcp (PyPI) Fixed in 0.11.1 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-8pqq-224h-x875

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences