cve.bz

CVE-2026-125328 pgEdge Go LLM Library discloses provider API key fragments in error messages

5.8 mediumEPSS 0.3%Fix available

Medium (5.8) in pgedge pgedge-go-llm-lib. EPSS 0.3% estimated probability of exploitation activity in the next 30 days. Fixed in github.com/pgEdge/pgedge-go-llm-lib 0.1.2-0.20260729024727-7531a55d368b.

On this page
pgEdge Go LLM Library provides a unified Go interface for multiple LLM providers with streaming, tool calling, retries, and an HTTP and server-sent events proxy. From 0.1.0 until 0.2.0, GET /v1/health in llm/proxy/handlers.go uses handleHealth to ping providers with the operator's real credentials and returns their error text, while the Authorize hook in llm/proxy/proxy.go permits access by default when the consuming application does not configure it. When a provider rejects the configured credential, a remote caller who can reach the proxy can obtain part of the operator's third-party provider API key from the resulting error. This issue is fixed in version 0.2.0.

Severity

CVSS 3.1

5.8 medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
EPSS
0.3% estimated probability of exploitation activity in the next 30 days; 22nd percentile. Scored 2026-11-13. A forecast for this CVE across the internet, not for your own systems.
CISA's assessment (SSVC)
Exploitation: none · Automatable: yes · Technical impact: partial, assessed 2026-11-13. From CISA's Vulnrichment in the CVE List: whether it is exploited, whether exploiting it can be automated, and how much control it gives.
CWEs
CWE-209 Generation of Error Message Containing Sensitive Information
CWE-522 Insufficiently Protected Credentials
OWASP Top 10
A06:2025 Insecure Design, A10:2025 Mishandling of Exceptional Conditions
Published
Modified
Assigned by
GitHub_M (CNA)
NVD analysis
Deferred: the NVD does not plan to analyze it
Record from
the NVD, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-125328 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-125328?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-125328?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-125328 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-125328

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-125328](https://cve.bz/cve/badge/CVE-2026-125328.svg)](https://cve.bz/cve/CVE-2026-125328)

HTML:

<a href="https://cve.bz/cve/CVE-2026-125328"><img src="https://cve.bz/cve/badge/CVE-2026-125328.svg" alt="CVE-2026-125328"></a>

Affected

Versions

From the CNA's record in the CVE List.

ProductAffected
pgedge-go-llm-lib>= 0.1.0, < 0.2.0

Fix and patched versions

  • github.com/pgEdge/pgedge-go-llm-lib (Go): fixed in 0.1.2-0.20260729024727-7531a55d368b

Packages (OSV)

AdvisoryEcosystemPackageAffectedFixed in
GHSA-8835-xmqj-354hGogithub.com/pgEdge/pgedge-go-llm-lib<0.1.2-0.20260729024727-7531a55d368b0.1.2-0.20260729024727-7531a55d368b

Attack patterns (CAPEC)

  • CAPEC-7 Blind SQL Injection Likelihood: High · Severity: High
  • CAPEC-54 Query System for Information Likelihood: High · Severity: Low
  • CAPEC-215 Fuzzing for application mapping Likelihood: High · Severity: Low
  • CAPEC-463 Padding Oracle Crypto Attack Severity: High

The attack patterns MITRE's CAPEC relates to this record's weaknesses, as MITRE names them. Credits. More on the page of CWE-522 (13).

History

  1. The NVD deferred its analysis

Changes since this site first stored the record. The same for every record: /api/public/changes.

References

Check your stackJSON