PYSEC-2026-3 json
Two telnyx versions published containing credential harvesting malware
published 7mo ago modified 4mo ago
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
After an API token exposure from an exploited Trivy dependency, two new releases of `telnyx` were uploaded to PyPI containing automatically activated malware, harvesting sensitive credentials and files, and exfiltrating to a remote API.
Compromised versions execute code during importing the `telnyx` module through modifications in `_client.py`.
The code downloads the next stages from endpoints on the host 83.142.209[.]203, encoded in WAV files. On Windows hosts, the malicious executable is placed in `%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe` for persistence and executed. On other systems, the payload is a Python script. After executing it, generated artifacts are exfiltrated to 83.142.209[.]203.
Version 4.87.1 contains a typo preventing the automated execution of the malicious code.
The code uses the encryption key observed in previous TeamPCP actions. The full compromise of exposed systems and all credentials reachable from them should be assumed. The credentials should be revoked/rotated, and the affected systems isolated and analyzed against malicious actions and modifications.
The two versions have been removed from PyPI, and the project has been reinstated.
Is PYSEC-2026-3 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | telnyx | 2 listed versions |
no fix listed |
References
-
inspector.pypi.io
/project/telnyx/4.87.2/packages/3c/89/bff9e644b1076b96ba1e23deb2b7acffa9fe84166219ba9cb47cf356b7ec/telnyx-4.87
evidence
-
github.com
/team-telnyx/telnyx-python/issues/235
report
-
endorlabs.com
/learn/teampcp-strikes-again-telnyx-compromised-three-days-after-litellm
article
-
aikido.dev
/blog/telnyx-pypi-compromised-teampcp-canisterworm
article
Sources
- OSV PYSEC-2026-3
Fencer Intel 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.