CVE-2026-32145: wisp Multipart Form Body Parser Bypass Leading to Denial of Service

wisp Updated 02 Apr 2026

Summary

02/04/2026
Yes i
High
8.7

CVE-2026-32145: Multipart form body parser bypasses body size limits in wisp. Affects wisp across 2 version ranges.

>= 0.2.0, < 2.2.2 >= d8e722e22ccb42bda9d0b6248658d37ab4e9b376, < 7a978748e12ab29db232c222254465890e1a4a90

Fixed in 2.2.2. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

wisp is a web framework for building applications in the Gleam programming language. It is designed to facilitate the development of web applications by providing essential features such as routing, middleware support, and request handling. However, the framework has a vulnerability that allows attackers to bypass body size limits during multipart form submissions, potentially leading to resource exhaustion.

Vulnerability Detail

The vulnerability arises from the multipart_body function in wisp, which fails to enforce the configured max_body_size and max_files_size limits. When a multipart boundary is absent in a chunk, the parser appends the chunk to the output without decrementing the quota for the recursive call. This flaw allows an unauthenticated attacker to send excessively large multipart form submissions in a single HTTP request, resulting in denial of service by exhausting server memory or disk space.

How To Fix

Minimum fixed version

2.2.2

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, you can implement a middleware that checks the size of incoming requests and rejects those that exceed a specified limit. For example:

defmodule MyApp.RequestSizeLimit do
  import Plug.Conn

  @max_size 5_000_000 # 5 MB

  def init(default), do: default

  def call(conn, _opts) do
    if conn.req_body_length > @max_size do
      conn
      |> send_resp(413, "Request Entity Too Large")
      |> halt()
    else
      conn
    end
  end
end

You can then add this middleware to your endpoint.

Conclusion

CVE-2026-32145 is a significant vulnerability in the wisp web framework that can lead to denial of service through multipart form submissions. It is crucial for developers using affected versions to update to the patched version 2.2.2 or later to mitigate this risk. Implementing temporary workarounds can also help protect applications until updates are applied.

See every vulnerability recorded for wisp →

Share this vulnerability

FAQ

CVE-2026-32145 is a vulnerability in the wisp web framework that allows attackers to bypass multipart form body size limits, potentially leading to denial of service.

Any application using wisp versions from 0.2.0 to 2.2.1 is affected by this vulnerability.

You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Visit Vulert Scanner to check if your application is affected.

The CVSS score of this vulnerability is 8.7, indicating a high severity level.

If you cannot update the package, implement a middleware to limit request sizes as a temporary workaround until you can apply the patch.

Related vulnerabilities

Recent vulnerabilities recorded for wisp.

How To Fix

Minimum fixed version

2.2.2

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback