PYSEC-2026-3987 json
MemoryOS 2.0.34 was published with a credential-stealing binary
published last mo. modified last mo.
- 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
An attacker with write access to the GitHub repository pushed malicious commits and tagged v2.0.34, and the project's own GitHub Actions release workflow built and uploaded 2.0.34 to PyPI. Importing the package runs memos/_stage0.py, which launches a bundled sckit binary that collects credentials (.pypirc, .npmrc, .git-credentials, SSH keys, token-like environment variables) and sends them to *.skyleen[.]fr.
Remove 2.0.34 and rotate any credentials reachable from affected machines.
- wheel SHA256: 39ee644406829a4b630b31759c20478bc22d576d6a59b253ed86f72c360aa5ef - sdist SHA256: 92b46d18fc553c494eda714f204459edb74c205bf53b18a9092bcf02c7a6c5be
Patch / fix
Is PYSEC-2026-3987 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 | memoryos | 1 listed version |
no fix listed |
References
-
github.com
/MemTensor/MemOS/commit/b52958fdc9cdb6c81be90123bcf65c42be35b5b5
evidence
-
safedep.io
/memtensor-sckit-worm-npm-pypi/
article
-
inspector.pypi.io
/project/memoryos/2.0.34/packages/3e/9a/4d766a52dcabcbf440aa8f8f1eaf2adca041f93913271d8c342c20ae167c/memoryos-
evidence
-
pypi.org
/project/MemoryOS/
package
Sources
- OSV PYSEC-2026-3987
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.