# MAL-2026-13618: Malicious code in w-screenctl (npm)


- **Type:** Malicious package
- **Package:** `w-screenctl` (npm)
- **Published:** 7 Aug 2026

## What is MAL-2026-13618?

MAL-2026-13618 is a malicious package in w-screenctl, published on 7 Aug 2026. 

### Official description

When WScreenctl() is invoked (via the bundled g.mjs entry or the documented systemd/Task Scheduler service units), the package starts a Hapi HTTP server bound to 0.0.0.0:7000 with CORS enabled and no authentication. POST /chrome/evaluate passes the request body's `script` field directly to Playwright's page.evaluate, allowing arbitrary JavaScript execution inside the controlled Chrome instance. POST /keyboard/type, /keyboard/key, and /mouse/* forward HTTP-supplied text, key names, and coordinates into xdotool or w-mousekey/AHK, driving system-wide keyboard and mouse input on the host desktop. Because the listener binds to all interfaces with no credential check, any party reachable on the network — LAN, adjacent VLAN, or an internet-routable interface — can execute JavaScript in the browser session and drive arbitrary keystrokes and clicks on the operator's machine, which can be used to open a terminal, type shell commands, and achieve full host RCE. The dist bundle also contains child_process usage tied to ping and POST primitives consistent with this HTTP dispatch surface.

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

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-13618 is a malicious package: w-screenctl (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-13618/ (Markdown: https://insights.sbomify.com/MAL-2026-13618/index.md)
```

## Sources

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

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