Mercury: Unauthenticated Remote Code Execution in /api/terminals - access control bypass (mljar mercury)

CVE-2026-111057
CRITICAL 10.0

At a glance

Source
NVD
EPSS
EPSS 0.70 % Β· percentile 53 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Deferred

Description

Mercury is a Python framework for sharing Jupyter notebooks as web applications and dashboards. From 3.0.0 until 3.2.4, a missing comma in BLOCKED_PATTERNS concatenates the /lab and /api/terminals regular-expression literals. Requests to /api/terminals therefore bypass the anonymous endpoint blocklist and reach Jupyter Server's terminal API. An unauthenticated attacker can use the resulting interactive operating-system shell to execute commands and access data available to the Mercury process. This issue is fixed in version 3.2.4.

Weaknesses (CWE)

  • CWE-185 β€” Incorrect Regular Expression
  • CWE-284 β€” Improper Access Control

References

Scores

VersionScoreVectorScored by
CVSS 3.1CRITICAL 10.0CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HGitHub_M
CVSS 3.1CRITICAL 10.0CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HNVD Β· security-advisories@github.com (Secondary)

Advisories

European references

Affected products

ProductVersions
mljar Β· mercuryaffected >= 3.0.0, < 3.2.4

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST β€” attribution requested
ENISA EUVDENISA β€” reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain β€” this product uses data from the NVD API but is not endorsed or certified by the NVD