{"id":"MAL-2026-16191","revision":"b1ac5f8a4a044bd2b379d7335a5699e2","records":[{"revision":"b1ac5f8a4a044bd2b379d7335a5699e2","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"MAL-2026-16191","aliases":[],"title":"Malicious code in strapi-plugin-uicc-meeb (npm)","description":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (d393f18bab3c8fe1d9bea2d425d24d385657785e23cc053ac5e2c1c322f75129)\npostinstall.js is registered as both the npm postinstall hook and the package main. On install it polls os.hostname() every 3 seconds and, when the hostname matches the hardcoded value 'ubuntu-fc-uvm', spawns 'bash -i' with stdio bound to /dev/tcp/14.225.210.85/80, yielding an interactive reverse shell on the installer's host to the operator of that endpoint. A long setTimeout keeps the Node process alive indefinitely after the postinstall phase, and setInterval retries the connection, providing persistence and targeted activation. The package name imitates a Strapi plugin but its shipped code performs no plugin functionality.\n","state":0,"publishedAt":"2026-09-15T15:54:59+00:00","modifiedAt":"2026-09-15T16:31:26.3438761+00:00","affected":[{"ecosystem":"npm","name":"strapi-plugin-uicc-meeb","ranges":[],"versions":["3.6.8"],"rawVersionEvidence":null}],"metrics":[],"references":["https://www.npmjs.com/package/strapi-plugin-uicc-meeb/v/3.6.8"],"sourceUrl":"https://osv.dev/vulnerability/MAL-2026-16191","license":"OSV · upstream source license applies","key":"osv:MAL-2026-16191","identifiers":["MAL-2026-16191"]},"retained":false,"historicalAffected":[]}],"coverage":[]}