Lucene search
+L

Python Library marimo < 0.23.0 Pre-Auth RCE (CVE-2026-39987)

🗓️ 24 Apr 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 4 Views

Detected marimo library before 0.23.0 with unauthenticated remote code execution via /terminal/ws.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(310047);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/04/24");

  script_cve_id("CVE-2026-39987");
  script_xref(name:"CISA-KNOWN-EXPLOITED", value:"2026/05/07");

  script_name(english:"Python Library marimo < 0.23.0 Pre-Auth RCE (CVE-2026-39987)");

  script_set_attribute(attribute:"synopsis", value:
"A Python library installed on the remote host is affected by a remote code execution vulnerability.");
  script_set_attribute(attribute:"description", value:
"The detected version of the marimo Python package is prior to 0.23.0. It is, therefore, affected by a remote code
execution vulnerability:

  - The terminal WebSocket endpoint /terminal/ws lacks authentication validation, allowing an unauthenticated
    attacker to obtain a full PTY shell and execute arbitrary system commands. Unlike other WebSocket endpoints
    that correctly call validate_auth() for authentication, the /terminal/ws endpoint only checks the running
    mode and platform support before accepting connections, completely skipping authentication verification.
    (CVE-2026-39987)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  # https://github.com/marimo-team/marimo/security/advisories/GHSA-2679-6mx9-h9xc
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?3815eb6b");
  script_set_attribute(attribute:"solution", value:
"Upgrade to marimo version 0.23.0 or later.");
  script_set_attribute(attribute:"agent", value:"all");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:A");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-39987");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/04/08");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/04/08");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/04/24");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"asset_categories", value:"component");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:marimo:marimo");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("python_packages_installed_nix.nbin", "python_packages_win_installed.nbin");
  script_require_ports("Host/nix/Python/Packages/Enumerated", "Host/win/Python/Packages/Enumerated");

  exit(0);
}

include('python.inc');

var pkg = 'marimo';

var libs = python::get_package_info(pkg_name:pkg, cpe:"cpe:/a:marimo:marimo");

if (empty_or_null(libs))
  audit(AUDIT_NOT_INST, pkg);

vcf::check_all_backporting(app_info:libs);

var constraints = [
  { 'fixed_version' : '0.23.0' }
];

vcf::check_version_and_report(
  app_info:libs,
  constraints:constraints,
  severity:SECURITY_HOLE
);

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

24 Apr 2026 00:00Current
8.2High risk
Vulners AI Score8.2
CVSS 3.19.8
CVSS 49.3
EPSS0.95645
SSVC
4