Skip to content
Heist/ feed
Back to feed
Medium

JupyterHub: Unauthenticated Denial of Service via Unbounded Username Logging on Failed Login

Type: advisorySources: OSV

JupyterHub is software that allows users to create a multi-user server for Jupyter notebooks. Prior to 5.5.0, invalid input to form-based login authenticators can place an unbounded attacker-controlled username in failed-login logs, allowing an unauthenticated attacker to consume logging and storage resources. This issue is fixed in version 5.5.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-54338
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 07:32 UTC · Revision 1

Source evidence

JupyterHub: Unauthenticated Denial of Service via Unbounded Username Logging on Failed Login

core-osv · Original source

Published 7 Aug 2026, 20:52 UTC

JupyterHub is software that allows users to create a multi-user server for Jupyter notebooks. Prior to 5.5.0, invalid input to form-based login authenticators can place an unbounded attacker-controlled username in failed-login logs, allowing an unauthenticated attacker to consume logging and storage resources. This issue is fixed in version 5.5.0.

osv:CVE-2026-54338
Complete source record
{
  "id": "41eeac5fc61d1139ab82a812f243adb19bd127322b0316e6c45684394f1b7f66",
  "url": "https://osv.dev/vulnerability/CVE-2026-54338",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "JupyterHub: Unauthenticated Denial of Service via Unbounded Username Logging on Failed Login",
    "summary": "JupyterHub is software that allows users to create a multi-user server for Jupyter notebooks. Prior to 5.5.0, invalid input to form-based login authenticators can place an unbounded attacker-controlled username in failed-login logs, allowing an unauthenticated attacker to consume logging and storage resources. This issue is fixed in version 5.5.0.",
    "evidence": "osv:CVE-2026-54338",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-54338",
      "aliases": [
        "BIT-jupyterhub-2026-54338",
        "CVE-2026-54338",
        "GHSA-p43p-whwx-q52h",
        "PYSEC-2026-3853"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/jupyterhub/jupyterhub",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "97b3154610726b5b7d8768f1e89a4d910e002854"
                },
                {
                  "fixed": "d6dc595f84b7509969686da31d87d6d69e7fce0a"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.5.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d6dc595f84b7509969686da31d87d6d69e7fce0a"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "5.4.6",
            "5.4.5",
            "5.4.4",
            "5.4.3",
            "5.4.2",
            "5.4.1",
            "5.4.0",
            "5.3.0",
            "5.3.0rc0",
            "5.2.1",
            "5.2.0",
            "5.1.0",
            "5.0.0",
            "5.0.0b2",
            "5.0.0b1",
            "4.0.1",
            "4.0.0",
            "4.0.0b2",
            "4.0.0b1",
            "3.1.0",
            "3.0.0",
            "3.0.0b1",
            "2.2.2",
            "2.2.1",
            "2.2.0",
            "2.1.1",
            "2.1.0",
            "2.0.2",
            "2.0.1",
            "2.0.0",
            "2.0.0rc5",
            "2.0.0rc4",
            "2.0.0rc3",
            "2.0.0rc2",
            "2.0.0rc1",
            "2.0.0b3",
            "2.0.0b2",
            "2.0.0b1",
            "1.4.0",
            "1.3.0",
            "1.2.1",
            "1.0.0",
            "1.2.0",
            "1.2.0b1",
            "1.1.0",
            "1.1.0b1",
            "1.0.0b2",
            "1.0.0b1",
            "0.9.2",
            "0.9.1",
            "0.9.0",
            "0.9.0rc1",
            "0.9.0b3",
            "0.9.0b2",
            "0.9.0b1",
            "0.8.1",
            "0.8.0",
            "0.8.0rc2",
            "0.8.0rc1",
            "0.8.0b5",
            "0.8.0b4",
            "0.8.0b3",
            "0.8.0b2",
            "0.8.0b1",
            "0.7.2",
            "0.7.1",
            "0.7.0",
            "0.6.1",
            "0.6.0",
            "0.5.0",
            "0.4.1",
            "0.4.0",
            "0.3.0",
            "0.2.0",
            "0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54338.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.850178353Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54338.json",
        "https://github.com/jupyterhub/jupyterhub/security/advisories/GHSA-p43p-whwx-q52h",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-54338",
        "https://github.com/jupyterhub/jupyterhub/commit/d6dc595f84b7509969686da31d87d6d69e7fce0a"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400"
        ],
        "cna_assigner": "GitHub_M",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "< 5.5.0JupyterHub is software that allows users to create a multi-user server for Jupyter notebooks. Prior to 5.5.0, invalid input to form-based login authenticators can place an unbounded attacker-controlled username in failed-login logs, allowing an unauthenticated attacker to consume logging and storage resources. This issue is fixed in version 5.5.0."
                  },
                  {
                    "last_affected": "< 5.5.0JupyterHub is software that allows users to create a multi-user server for Jupyter notebooks. Prior to 5.5.0, invalid input to form-based login authenticators can place an unbounded attacker-controlled username in failed-login logs, allowing an unauthenticated attacker to consume logging and storage resources. This issue is fixed in version 5.5.0."
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandaloneSingleVersion"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54338.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-54338",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493390,
  "published_at": "2026-08-07T20:52:55.068+00:00"
}