Skip to main content

CVE-2024-12537

CVE IDCVE-2024-12537
Vendor DispositionRejected, not a vulnerability
Published2025-03-20
Issuing CNAhuntr / Protect AI (from a bounty report)
Claimed SeverityHigh (CVSS 7.5, CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)

Timeline

Open WebUI rejects this record as not a vulnerability; the assessment below is the project's official position. The issuing CNA has not responded and has not acted on the record, so the dispute has been escalated to the CVE Program Root.

DateEvent
2025-03-20huntr / Protect AI publishes the CVE.
2026-07-22Open WebUI publishes this disposition, rejecting the report as not a vulnerability.
2026-07-22Open WebUI contacts huntr / Protect AI directly to dispute the record.
2026-08-03Open WebUI follows up with huntr / Protect AI. No response is received and the record is unchanged.
2026-08-08With no response from huntr / Protect AI, Open WebUI escalates this record to the CVE Program Root.

As of 2026-08-08, the record is still in the PUBLISHED state on cve.org and the dispute is before the CVE Program Root. This disposition stands as Open WebUI's official assessment.

Disclosure Pathway

No report corresponding to this CVE was filed through the project's official reporting channel (GitHub Security Advisories) prior to publication.


What the CVE Claims

In Open WebUI v0.3.32, the api/v1/utils/code/format endpoint is claimed to lack authentication, so an unauthenticated attacker sending excessive content in a POST request could render the server unresponsive and deny service to other users. The record classifies this as CWE-770 (Allocation of Resources Without Limits or Throttling) and scores it CVSS 7.5 (High).


Why This Is Not a Vulnerability

The endpoint formats submitted source code with black.format_str. The work is linear in the size of the submitted code: there is no algorithmic amplification, no quadratic blow-up, and no allocation beyond the input the attacker themselves transmitted. Sending a large body costs the attacker the same bandwidth it costs the server to process, and it is bounded by the request-size and rate limits of the reverse proxy that any production deployment is expected to run in front of the application.

This is not a vulnerability, and it is not even a hardening gap specific to this endpoint. It describes the ordinary, symmetric cost of handling a request: the attacker must transmit exactly as many bytes as the server spends effort processing, which is true of every endpoint in every web application that reads a request body. There is no denial-of-service primitive, because there is no amplification: the attacker pays in bandwidth what the server pays in CPU, one for one, and the operator's reverse-proxy request-size and rate limits bound both. Naming /code/format as the source of a denial of service describes a universal property of accepting requests, not a weakness in this endpoint.

The endpoint is also no longer unauthenticated. Current releases place it behind authentication (it requires an administrator), so the unauthenticated reach the report relies on no longer exists.

CWE-770 Is Misapplied

CWE-770 describes allocation without limits, typically an attacker-controlled multiplier that consumes disproportionate server resources. Here the resource use is linear in and bounded by the attacker's own request, with no multiplier, and is further bounded by the deployment's ingress limits. There is no uncontrolled allocation.

Applicable Security Policy Rules

  • Rule 1: A linear, self-bounded operation that is limited by the operator's own reverse-proxy request-size and rate limits crosses no security boundary and is not a vulnerability under the self-hosted threat model.

Impact to Users

No action required. Processing a request costs work proportional to the request, symmetrically, for this endpoint as for every endpoint; there is no amplification and no denial of service. The endpoint now requires authentication, and standard reverse-proxy request-size and rate limits bound request handling across your deployment.


References

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.