{"id":"MAL-2026-17897","title":"Malicious code in fromthehotel-poems (PyPI)","summary":"Malicious code in fromthehotel-poems (PyPI)","severity":"critical","exploited":true,"vendor":"fromthehotel-poems","product":"fromthehotel-poems","ecosystem":"pip","affected":["fromthehotel-poems"],"published":"2026-10-16","updated":"2026-10-29","sourceUpdated":"2026-10-29T13:48:11.140381109Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-17897","references":[{"url":"https://bad-packages.kam193.eu/pypi/package/fromthehotel-poems"},{"url":"https://pypi.org/project/fromthehotel-poems/0.1.0/"}],"tags":["osv","pip","malware"],"ingestedAt":"2026-10-16T11:48:15.758Z","slug":"MAL-2026-17897","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (475b2190d4001e511377932ffc1a8ce15c6003305c057837911b9ebae0699e48)\nThe package's documented public API `getdaily()` performs an HTTPS fetch to https://login.fromthehotel.com/api/poems/code, passes the response body to compile() and exec() in the caller's process, and then invokes `get_daily_poem` from the resulting namespace. The README presents getdaily() as a poem-fetching helper, so callers invoking the advertised API unknowingly execute Python source served by that endpoint. The fetched code is unpinned and there is no hash or signature verification, so whoever controls login.fromthehotel.com — or anyone able to tamper with the response — controls arbitrary code execution on every host that calls getdaily(). The exec runs with the caller's full process privileges and has unrestricted access to environment variables, filesystem, and network.\n\n## Source: kam193 (bf72dad3e2f32ee2e66a3a5ee5642b4a20a9fb9458fcd677f6250b1e4b805906)\nOne of the provided functions hides executing remote code from a newly created domain. During analysis, the remote code did not contain any malicious action. The description and other endpoints clearly suggest it's an attempt to exploit LLM agent like Muse. In one of the hosted instructions, the agent is instructed to download a self-hosted package depending on published code and trigger the code execution action.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-fromthehotel-poems\n\n\nReasons (based on the campaign):\n\n\n - Downloads and executes a remote malicious script.\n\n\n - llm-threat\n\n\n - action-hidden-in-lib-usage\n\n\n## Affected packages\n\n- `fromthehotel-poems`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"abyssal","depthScore":70,"depthScoreParts":{"impact":52.3,"likelihood":0,"exploitation":18,"ransomware":0},"changes":[]}