PT-2026-51499 · Plug · Plug

·

CVE-2026-54892

·

Published

2026-06-23

·

Updated

2026-06-23

CVSS v4.0

8.7

High

VectorAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Name of the Vulnerable Software and Affected Versions plug versions 1.15.0 through 1.15.4 plug version 1.16.4 plug version 1.17.2 plug version 1.18.3 plug version 1.19.3
Description Inefficient algorithmic complexity in the nested-parameter decoder allows an unauthenticated remote attacker to cause a denial of service. The functions Plug.Conn.Query.decode/4 and Plug.Conn.Query.decode each/2 parse query strings and application/x-www-form-urlencoded request bodies. When a key contains numerous bracketed segments, the decoder performs a map operation for each nesting level using an ever-growing binary prefix of the key, resulting in a quadratic decode cost. With a default body limit of 1,000,000 bytes, a single request can contain approximately 333,000 nesting levels, saturating a BEAM scheduler for several minutes. A small number of concurrent requests can saturate all schedulers, rendering the server unresponsive. This issue involves the file lib/plug/conn/query.ex and the routines Plug.Conn.Query.decode/4, Plug.Conn.Query.decode each/2, Plug.Conn.Query.split keys/6, Plug.Conn.Query.insert keys/3, and Plug.Conn.Query.finalize pointer/2.
Recommendations Update plug versions 1.15.0 through 1.15.4 to version 1.15.5. Update plug version 1.16.4 to a non-vulnerable version. Update plug version 1.17.2 to a non-vulnerable version. Update plug version 1.18.3 to a non-vulnerable version. Update plug version 1.19.3 to a non-vulnerable version.

Exploit

Fix

DoS

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-54892
GHSA-J43X-5HJQ-RGXF

Affected Products

Plug