Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Tools/GitHubGitHub/wind010/cve-2026-39987_poc
ExploitationWeb Application ExploitationPost-ExploitationPenetration TestingRemote Access Tool
GitHubwind010/cve-2026-39987_poc

CVE-2026-39987_PoC

A proof-of-concept for CVE-2026-39987

View Repository
111 month agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-39987-PoC

Disclaimer This script is for educational and authorized testing purposes ONLY. Unauthorized use of this tool against systems without explicit permission is ILLEGAL. The author is not responsible for any misuse of this information.

Marimo versions prior to 0.23.0 have a critical remote command execution (RCE) vulnerability without prior authentication. The endpoint /terminal/wsdoes not implement adequate access controls, allowing an unauthenticated attacker to gain full interactive shell access to the system.

Download Tool
DetailsInformation
CVECVE-2026-39987
SeverityCRITICAL
CVSS Score9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H)
TypePre-Auth Remote Code Execution (RCE)
VectorWebSocket (/terminal/ws)
Affected ProductMarimo < 0.23.0
PatchMarimo ≥ 0.23.0

Identification

Shodan Dork

http.favicon.hash:-1864630356

Censys Dork

services.http.response.favicons.hashes: -1864630356

Fingerprint

  • Favicon hash: -1864630356
  • Endpoint version: /api/version

Install

Requires Python 3.10+. Dependencies are managed with uv, from Astral.

root@kitploit:~
# install uv (skip if already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

uv venv
uv pip install -r requirements.txt

Usage

root@kitploit:~
uv run poc.py -t <target_url>
  • -t, --target_url (required): WebSocket URI of the target's /terminal/ws endpoint.
root@kitploit:~
uv run poc.py -t wss://<target-host>/terminal/ws

Once connected you get an interactive raw pty session. Extra commands available locally (never sent to the remote shell as typed):

CommandDescription
.uploadOpens a local prompt for a local file path and remote destination, then pushes the file.
!upload <local_path> <remote_path>Same as above, one line.
!download <remote_path> <local_path>Pulls a file off the target to your local machine.
/exit, /byeTears down the session locally.

Press Ctrl+C to interrupt/exit.

Mitigation

  • Patch: Upgrade Marimo to >= 0.23.0, which fixes the missing access control on /terminal/ws.
  • Restrict network exposure: Do not expose the Marimo terminal/edit server directly to the internet. Bind to localhost or an internal interface and front it with a VPN/bastion for remote access.
  • Add authentication: If upgrading isn't immediately possible, put the service behind a reverse proxy that enforces authentication (e.g. OAuth2 proxy, mTLS) in front of /terminal/ws and other API routes.
  • Network segmentation: Firewall the port so only trusted IPs/VPN ranges can reach it.
  • Detect: Monitor for unexpected WebSocket connections to /terminal/ws and unauthenticated shell activity in server logs; the Shodan/Censys dorks above can also be used defensively to find your own exposed, unpatched instances.

References:

  • https://nvd.nist.gov/vuln/detail/CVE-2026-39987
  • https://lyrie.ai/research/research/cve-2026-39987-marimo-pre-auth-rce-root-in-one-request