Read the docs
TI-2026-39464 Aliases CVE-2026-54635GHSA-3fcr-jvgp-7f58

pytonapi has a Webhook Custom Path Authentication Bypass

Priority HIGH 72CWE-287Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-287.

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00512 43rd percentileScored 2026-11-07
Fix Fixed tonapi (nessshon): 2.2.1pytonapi (PyPI): 2.2.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nessshontonapi2.0.0 to before 2.2.12.2.1Patch availableCNA
—pytonapi (PyPI)2.0.0 to before 2.2.12.2.1Patch availableGHSA-3fcr-jvgp-7f58
  • tonapi Vendornessshon Affected 2.0.0 to before 2.2.1 Fixed in 2.2.1 Patch available CNA
  • pytonapi (PyPI) Vendor— Affected 2.0.0 to before 2.2.1 Fixed in 2.2.1 Patch available GHSA-3fcr-jvgp-7f58

Remediation

  • Fix · CNA tonapi (nessshon) Fixed in 2.2.1
  • Fix · GHSA-3fcr-jvgp-7f58 pytonapi (PyPI) Fixed in 2.2.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54635
  2. 2026-10-03 Alias added: GHSA-3fcr-jvgp-7f58
  3. 2026-10-25 EPSS moved to the below the 50th percentile

References

Sources