Skip to content
Heist/ feed
Back to feed
High

Mesop: DoS in /hot-reload endpoint allows unauthenticated attacker to exhaust worker threads and crash the server

Type: advisorySources: OSV

Mesop is a Python-based UI framework that allows users to build web applications. Prior to 1.3.3, applications running in debug mode expose a GET /hot-reload endpoint whose unbounded loop depends on the user-supplied counter parameter, allowing an unauthenticated attacker to hold worker threads with high counter values until the worker pool is exhausted and the server becomes unavailable. A single unauthenticated attacker can crash the Mesop server with minimal effort. Because the attack leverages worker exhaustion, the server remains unresponsive until it is manually restarted. This issue is fixed in version 1.3.3.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-77357
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 03:52 UTC · Revision 1

Source evidence

Mesop: DoS in /hot-reload endpoint allows unauthenticated attacker to exhaust worker threads and crash the server

core-osv · Original source

Published 25 Aug 2026, 20:40 UTC

Mesop is a Python-based UI framework that allows users to build web applications. Prior to 1.3.3, applications running in debug mode expose a GET /hot-reload endpoint whose unbounded loop depends on the user-supplied counter parameter, allowing an unauthenticated attacker to hold worker threads with high counter values until the worker pool is exhausted and the server becomes unavailable. A single unauthenticated attacker can crash the Mesop server with minimal effort. Because the attack leverages worker exhaustion, the server remains unresponsive until it is manually restarted. This issue is fixed in version 1.3.3.

osv:CVE-2026-77357
Complete source record
{
  "id": "1903e242fe35c22dbddec3ece0afd3c7582c899fe636a2eb8c5851110495798d",
  "url": "https://osv.dev/vulnerability/CVE-2026-77357",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Mesop: DoS in /hot-reload endpoint allows unauthenticated attacker to exhaust worker threads and crash the server",
    "summary": "Mesop is a Python-based UI framework that allows users to build web applications. Prior to 1.3.3, applications running in debug mode expose a GET /hot-reload endpoint whose unbounded loop depends on the user-supplied counter parameter, allowing an unauthenticated attacker to hold worker threads with high counter values until the worker pool is exhausted and the server becomes unavailable. A single unauthenticated attacker can crash the Mesop server with minimal effort. Because the attack leverages worker exhaustion, the server remains unresponsive until it is manually restarted. This issue is fixed in version 1.3.3.",
    "evidence": "osv:CVE-2026-77357",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-77357",
      "aliases": [
        "CVE-2026-77357",
        "GHSA-8p72-497j-83mx"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mesop-dev/mesop",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "8f7e1e230975f6f763a090f647d34a4cad7977c1"
                },
                {
                  "fixed": "2b8e7f2c349c9e2eec202f46b07bada83061ce2d"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.3.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "2b8e7f2c349c9e2eec202f46b07bada83061ce2d"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8f7e1e230975f6f763a090f647d34a4cad7977c1"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.3.3"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.3.2",
            "v1.3.1",
            "v1.3.0",
            "v1.3.0rc2",
            "v1.3.0rc1",
            "v1.2.7",
            "v1.2.7rc1",
            "v1.2.6",
            "v1.2.6rc2",
            "v1.2.6rc1",
            "v1.2.5",
            "v1.2.5c1",
            "v1.2.4rc1",
            "v1.2.3",
            "v1.2.2",
            "v1.2.2rc1",
            "v1.2.1",
            "v1.2.1rc1",
            "v1.2.0",
            "v1.2.0rc1",
            "v1.1.1",
            "v1.1.1rc3",
            "v1.1.1rc2",
            "v1.1.1rc1",
            "v1.1.0",
            "v1.1.0rc1",
            "v1.0.1",
            "v1.0.1rc1",
            "v1.0.0",
            "v1.0.0rc2",
            "v1.0.0rc1",
            "v0.14.2rc1-try3",
            "v0.14.2rc1-try2",
            "v0.14.2rc1",
            "v0.14.1",
            "v0.14.0",
            "v0.13.0",
            "v0.12.9",
            "v0.12.8",
            "v0.12.7",
            "v0.12.6",
            "v0.12.5",
            "v0.12.4",
            "v0.12.3",
            "v0.12.2",
            "v0.12.1",
            "v0.12.0",
            "v0.11.1",
            "v0.11.0",
            "v0.10.0",
            "v0.9.5",
            "v0.9.4",
            "v0.9.3",
            "v0.9.2",
            "v0.9.1",
            "v0.9.0",
            "v0.8.0",
            "v0.7.2",
            "v0.7.1",
            "v0.6.0",
            "v0.5.6",
            "v0.5.5",
            "v0.5.3",
            "v0.5",
            "v0.4.2",
            "v0.4.1",
            "v0.2",
            "v0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-77357.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.205269463Z",
      "provider": "osv",
      "references": [
        "https://github.com/mesop-dev/mesop/releases/tag/v1.3.3",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77357.json",
        "https://github.com/mesop-dev/mesop/security/advisories/GHSA-8p72-497j-83mx",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-77357",
        "https://github.com/mesop-dev/mesop/commit/2b8e7f2c349c9e2eec202f46b07bada83061ce2d"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400",
          "CWE-834"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77357.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-77357",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 509996,
  "published_at": "2026-08-25T20:40:39.711+00:00"
}