MAL-2025-192992
Vulnerability from ossf_malicious_packages
-= Per source details. Do not edit below this line.=-
Source: kam193 (f6dd42f96f818641d94fd4a2085dfd1071b6ce3fa44a3f05b785245ab4d1c886)
Simple dependency confusion test. Versions before 0.1.2 do not perform any active action.
The original umap package existed in the past, but was removed by the author. The last version was 0.1.1 published as a source package. Years later, the same name was registered by another user, who managed to publish a wheel package of version 0.1.1 as it's not prohibited to upload alternative build packages for existing versions. This hijacked version was an empty package. In 0.1.2, a beacon webhook was added.
More context: https://github.com/kam193/package-campaigns/issues/5
Category: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research & co, with clearly low-harm possibilities.
Campaign: GENERIC-standard-pypi-install-pentest
Reasons (based on the campaign):
-
The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.
-
The package overrides the install command in setup.py to execute malicious code during installation.
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "umap"
},
"versions": [
"0.0.0",
"0.1.1",
"0.1.2"
]
}
],
"credits": [
{
"contact": [
"https://github.com/kam193",
"https://bad-packages.kam193.eu/"
],
"name": "Kamil Ma\u0144kowski (kam193)",
"type": "ANALYST"
}
],
"database_specific": {
"malicious-packages-origins": [
{
"id": "pypi/GENERIC-standard-pypi-install-pentest/umap",
"import_time": "2025-12-31T12:48:17.936750127Z",
"modified_time": "2025-12-31T11:45:36.692132Z",
"sha256": "f9193e80107a3f7a1b0bb8b91f7414a47469e00dd7ce18638c519ab0130ae6f0",
"source": "kam193",
"versions": [
"0.0.0",
"0.1.1",
"0.1.2"
]
},
{
"id": "pypi/GENERIC-standard-pypi-install-pentest/umap",
"import_time": "2026-01-15T17:45:22.349753131Z",
"modified_time": "2025-12-31T11:45:36.692132Z",
"sha256": "9b53a7043e21a18b15d67f5ecd8419b2243dfbaf90b4015bdda60671bfdd2f09",
"source": "kam193",
"versions": [
"0.0.0",
"0.1.1",
"0.1.2"
]
},
{
"id": "pypi/GENERIC-standard-pypi-install-pentest/umap",
"import_time": "2026-01-15T22:07:43.796062406Z",
"modified_time": "2025-12-31T11:45:36.692132Z",
"sha256": "f6dd42f96f818641d94fd4a2085dfd1071b6ce3fa44a3f05b785245ab4d1c886",
"source": "kam193",
"versions": [
"0.0.0",
"0.1.1",
"0.1.2"
]
}
]
},
"details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (f6dd42f96f818641d94fd4a2085dfd1071b6ce3fa44a3f05b785245ab4d1c886)\nSimple dependency confusion test. Versions before 0.1.2 do not perform any active action.\n\nThe original umap package existed in the past, but was removed by the author. The last version was 0.1.1 published as a source package. Years later, the same name was registered by another user, who managed to publish a wheel package of version 0.1.1 as it\u0027s not prohibited to upload alternative build packages for existing versions. This hijacked version was an empty package. In 0.1.2, a beacon webhook was added. \n\nMore context: https://github.com/kam193/package-campaigns/issues/5\n\n\n---\n\nCategory: PROBABLY_PENTEST - Packages looking like typical pentest packages, but also anything that looks like testing, exploring pre-prepared kits, research \u0026 co, with clearly low-harm possibilities.\n\n\nCampaign: GENERIC-standard-pypi-install-pentest\n\n\nReasons (based on the campaign):\n\n\n - The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n",
"id": "MAL-2025-192992",
"modified": "2026-01-15T22:09:23Z",
"published": "2025-12-31T11:45:36Z",
"references": [
{
"type": "WEB",
"url": "https://bad-packages.kam193.eu/pypi/package/umap"
}
],
"schema_version": "1.7.4",
"summary": "Malicious code in umap (PyPI)"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.