{"id":"MAL-2026-12411","summary":"Malicious code in pfp-block-mobile-vacancy-description (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (29681869c5fcf5be10eebd7b614f602f3232d1f4645b028d817436b5dfabeae5)\nOn require() of the package, index.js loads _loader.js which unconditionally executes init(). init() selects an OS-specific payload path, downloads an opaque binary via HTTPS from author-controlled Cloudflare Workers hosts (oob-worker.cf10x-*.workers.dev) with a base64-over-DNS-TXT fallback under *.dl.well1.site, writes the bytes to a disguised temp file (dotnet_diag_\u003chex\u003e.exe on Windows or.cache_\u003chex\u003e under /var/tmp), chmods 0755, and spawns it detached via spawn(\"/bin/sh\") / spawn(\"cmd\"). Destination hostnames are assembled at runtime from small string fragments joined with Array.join to defeat naive string scans. A cache-lock file at /tmp/.analytics_state (or %TEMP%\\analytics_state) with a ~6-hour TTL rate-limits re-execution across imports, and DISABLE_TELEMETRY / ANALYTICS_OPT_OUT / DO_NOT_TRACK env-var checks serve as a telemetry cover story while the actual behavior is remote-binary drop-and-execute. The fetched bytes are attacker-controlled and unpinned (no hash, no signature, no vendor-matching publisher domain), so any consumer that requires this package runs whatever the operators serve at the moment of install/import.\n\n## Source: ghsa-malware (aa6d80458d94fbe93b9d1ff8ae43781e1b07bd33ba06cf0c8269fcc79500d839)\nAny computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.\n","aliases":["GHSA-57wq-2hqh-pr73"],"modified":"2026-08-06T01:21:08.531785725Z","published":"2026-08-05T12:50:00Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-08-05T12:50:00Z","sha256":"29681869c5fcf5be10eebd7b614f602f3232d1f4645b028d817436b5dfabeae5","source":"amazon-inspector","versions":["20.4.1"],"id":"IN-MAL-2026-014779","import_time":"2026-08-05T13:08:45.779613349Z"},{"id":"GHSA-57wq-2hqh-pr73","import_time":"2026-08-06T00:58:53.28953004Z","modified_time":"2026-08-05T15:02:03Z","ranges":[{"events":[{"introduced":"0"}],"type":"SEMVER"}],"sha256":"aa6d80458d94fbe93b9d1ff8ae43781e1b07bd33ba06cf0c8269fcc79500d839","source":"ghsa-malware"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/pfp-block-mobile-vacancy-description/v/20.4.1"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-57wq-2hqh-pr73"}],"affected":[{"package":{"name":"pfp-block-mobile-vacancy-description","ecosystem":"npm","purl":"pkg:npm/pfp-block-mobile-vacancy-description"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["20.4.1"],"database_specific":{"indicators":{"package_integrity":[{"filename":"pfp-block-mobile-vacancy-description-20.4.1.tgz","hashes":{"sha512_sri":"sha512-g4qwXm5AoOUUhLmEDk6UVwbzCJ/AIMfaGxwb/walk6PwD0myMI+NuaWxveE9QYwSRkxhuOh4sllUFhqYJcDWHQ==","sha1":"4578bd43c146b29268041652593f4b2fec4589de"}}],"evidence_files":[{"path":"_loader.js","sha256":"b900f673c00a7239b2b35c43d29ac2dd749baaf8696fe2161995f683bca8f2c6","tlsh":"89a1755a1276702947b0ebe4871b441af65bf263378082d4f7ac59945fb613483b2efc"}]},"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/pfp-block-mobile-vacancy-description/MAL-2026-12411.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}