CVE-2026-81505 json
Convoy: Cross-Tenant Source IDOR Leaks Plaintext Message Broker Credentials
published 2026-09-18 52 d ago modified 2026-09-28 42 d ago also GHSA-p5vg-v7mj-f6q4 , GO-2026-6523 , EUVD-2026-83051
- cvss
- 7.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
Summary
Convoy is a cloud native webhooks gateway. Prior to 26.6.8, Convoy's GET /api/v1/projects/{projectID}/sources/{sourceID} endpoint authorizes access to the project in the URL, but Handler.GetSource calls sources.Service.FindSourceByID() and fetches the Source only by sourceID without confirming that its ProjectID matches the authorized project. An authenticated user or project-scoped API key holder can substitute another tenant's Source identifier and receive that Source's complete record, including unredacted AMQP, Kafka, SQS, or Google PubSub credentials. The list endpoint remains project-scoped; the single-item Source lookup is affected. This issue is fixed in version 26.6.8.
Patch / fix
- go github.com/frain-dev/convoy 0.9.3-0.20260724092134-1cc67cd16fb1
- github.com/frain-dev/convoy@1cc67cd commit
- github.com/frain-dev/convoy#2755 pull request
- github.com/frain-dev/convoy/releases/tag/v26.6.8 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 52 d ago
Exploit prediction
0.46% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/frain-dev/convoy/security/advisories/GHSA-p5vg-v7mj-f6q4 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 7.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 7.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/frain-dev/convoy | <0.9.3-0.20260724092134-1cc67cd16fb1 |
0.9.3-0.20260724092134-1cc67cd16fb1 |
Affected products
- frain-dev convoy
Classification
- Weakness
-
- CWE-639 Authorization Bypass Through User-Controlled Key
References
-
github.com
/frain-dev/convoy/pull/2755
web, patch
-
github.com
/frain-dev/convoy/commit/1cc67cd16fb1f8890cc83a3998d3f92dceb7fd06
web, patch
-
github.com
/frain-dev/convoy/security/advisories/GHSA-p5vg-v7mj-f6q4
exploit, web, advisory
-
github.com
/frain-dev/convoy/releases/tag/v26.6.8
web
-
github.com
/frain-dev/convoy
package
Sources
- CVE List CVE-2026-81505
- GitHub Advisory GHSA-p5vg-v7mj-f6q4
- NVD CVE-2026-81505
- OSV GO-2026-6523
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.