CVE-2026-111057

Status: DeferredCritical (10)—
Severity10Critical · CVSS 3.1
Exploitation probability0.44 %higher than 37% of CVEs
Active exploitationNonot in the CISA catalog
Public exploitNot knownno public code found

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.

CVSS

Base score
10
Version
3.1
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Exploitation probability (EPSS)

Probability of exploitation in the next 30 days
0.44 %
Percentile among all scored CVEs
37
Score date
10/20/2026

EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).

ATT&CK techniques

How this vulnerability is exploited and what the attacker gains, in MITRE ATT&CK terms.

El vector AV:N/PR:N/UI:N y la descripción indican acceso no autenticado a /api/terminals; la shell interactiva del sistema permite ejecutar comandos y acceder a datos del proceso.

Inferred by our analysis agent from the official description, CVSS vector and CWE, and checked by a supervisor. May contain errors.

ATT&CK mitigations that cover these techniques

Affected technologies (1)

⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.

CWEs

References

Show 3 references

Raw JSON (NVD)

Show
{
  "id": "CVE-2026-111057",
  "cveTags": [],
  "metrics": {
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "CHANGED",
          "version": "3.1",
          "baseScore": 10,
          "attackVector": "NETWORK",
          "baseSeverity": "CRITICAL",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "mljar",
          "product": "mercury",
          "versions": [
            {
              "status": "affected",
              "version": ">= 3.0.0, < 3.2.4"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-19T16:17:03.810",
  "references": [
    {
      "url": "https://github.com/mljar/mercury/commit/8c467129037ee9df269d543ac217ffd33b97bf3f",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/mljar/mercury/releases/tag/v3.2.4",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/mljar/mercury/security/advisories/GHSA-f8c7-rwf9-fmgm",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-185"
        },
        {
          "lang": "en",
          "value": "CWE-284"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    }
  ],
  "lastModified": "2026-10-19T21:14:14.150",
  "sourceIdentifier": "security-advisories@github.com"
}