CVE-2026-54635 json
pytonapi has a Webhook Custom Path Authentication Bypass
published 2026-07-28 3 mo ago modified 2026-10-23 16 d ago also GHSA-3fcr-jvgp-7f58 , PYSEC-2026-3614 , EUVD-2026-49907
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 43%
- public exploits
- 0
- none known
Summary
pytonapi is a Python SDK for TONAPI that provides REST API, streaming, and webhook access to the TON blockchain. From 2.0.0 to 2.2.0, TonapiWebhookDispatcher fails to validate the Authorization header when a webhook handler is registered with the documented path argument, because setup() stores bearer tokens only under the default suffix paths and never adds the custom path to the token map, so self._tokens.get(path) returns None and the authentication guard is skipped. An unauthenticated remote attacker can POST forged payloads to the custom webhook endpoint and trigger victim-defined handlers. This issue is fixed in version 2.2.1.
Patch / fix
- pypi pytonapi 2.2.1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.51% chance of exploitation in the next 30 days, higher than 43% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/nessshon/tonapi/security/advisories/GHSA-3fcr-jvgp-7f58 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | pytonapi | >=2.0.0, <2.2.1 |
2.2.1 |
Affected products
- nessshon tonapi
Classification
- Weakness
-
- CWE-287 Improper Authentication
References
-
github.com
/nessshon/tonapi/commit/854222b7ee68d3fb7b4d6d899d200f388483bd86
web
-
github.com
/nessshon/tonapi/security/advisories/GHSA-3fcr-jvgp-7f58
exploit, web
-
github.com
/nessshon/tonapi/releases/tag/v2.2.1
web
-
github.com
/pypa/advisory-database/tree/main/vulns/pytonapi/PYSEC-2026-3614.yaml
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-54635
advisory
-
github.com
/nessshon/tonapi
package
-
pypi.org
/project/pytonapi
package
-
github.com
/advisories/GHSA-3fcr-jvgp-7f58
advisory
Sources
- CVE List CVE-2026-54635
- GitHub Advisory GHSA-3fcr-jvgp-7f58
- NVD CVE-2026-54635
- OSV PYSEC-2026-3614
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.