# MAL-2026-16236: Malicious code in strapi-plugin-perev-meeb (npm)


- **Type:** Malicious package
- **Package:** `strapi-plugin-perev-meeb` (npm)
- **Published:** 16 Sep 2026

## What is MAL-2026-16236?

MAL-2026-16236 is a malicious package in strapi-plugin-perev-meeb, published on 16 Sep 2026. 

### Official description

The npm postinstall hook executes postinstall.js, which uses child_process to spawn a Python reverse shell that connects to the hardcoded remote host 14.225.210.85:80 and dup2's a PTY-backed /bin/sh over the socket, giving the operator of that host an interactive shell on the installer's machine. Execution is gated by a hostname allowlist check (os.hostname() === 'ubuntu-fc-uvm'), a target-restriction technique that keeps the payload dormant on unintended hosts (scanners, sandboxes) and only detonates on the intended victim. The package presents itself as a Strapi plugin but ships no plugin functionality relevant to the postinstall behavior; the postinstall is the payload.

## What should I do about MAL-2026-16236?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-16236 is a malicious package: strapi-plugin-perev-meeb (npm). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-16236/ (Markdown: https://insights.sbomify.com/MAL-2026-16236/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-16236

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-16236/
Summaries are generated and may contain mistakes; the official description above is the record.
