CVE-2026-116531 in HTTP::Bodyinfo

Summary

by MITRE • 10/28/2026

HTTP::Body versions before 1.23_01 for Perl lose track of chunk boundaries in chunked request bodies when a read ends inside a chunk.

In chunked mode, used when no content length is given, add() treats a chunk as complete once the buffer is as long as the chunk's declared size, but the buffer still holds the chunk-size line. When a read ends in the last bytes of a chunk, add() takes the chunk short and parses the leftover data as the next chunk-size line.

A remote attacker can make a chunked body never complete, hanging a server that reads until the body is done, and may make it complete early, leaving the remaining bytes to be read as the next request.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 10/28/2026

The vulnerability identified in HTTP::Body versions prior to 1.23_01 for Perl represents a critical parsing logic error within the handling of chunked transfer encoding. This module is commonly used by web servers and proxies written in Perl to process incoming HTTP requests, particularly those utilizing the chunked coding mechanism defined in RFC 7230. In this mode, data is sent in a series of chunks rather than as a single continuous stream with a known total length. The core technical flaw arises from an off-by-one or state management error where the parser fails to correctly distinguish between the end of one chunk's payload and the beginning of the next chunk's header line. Specifically, when a read operation concludes within the final bytes of a declared chunk size, the add() method incorrectly treats the current buffer as containing only part of that chunk while leaving residual data in the internal buffer state. This leftover data, which should be interpreted as the start of the subsequent chunk-size field, is instead misinterpreted or causes the parser to lose synchronization with the stream boundaries.

This desynchronization leads to two distinct and severe operational impacts depending on how the malformed input is constructed by an attacker. In one scenario, a remote attacker can craft a request where the read boundary aligns such that the parser never correctly identifies the end of the chunked body. This results in the server hanging indefinitely as it waits for more data that will never arrive or be properly parsed, effectively creating a Denial of Service condition. The server resource remains occupied by this stalled connection, preventing it from serving legitimate traffic and potentially exhausting available worker threads or file descriptors. In an alternative scenario, the parsing error causes the body to complete prematurely. This leaves remaining bytes in the buffer that are subsequently misinterpreted as part of the next HTTP request header or message.

The consequence of premature completion is particularly dangerous as it facilitates Request Smuggling attacks. By manipulating where chunk boundaries fall relative to network read buffers, an attacker can inject malicious requests into a backend server's input stream while the frontend proxy believes the original request has ended. This allows for bypassing access controls, stealing session cookies, or poisoning caches because the internal state of the parser diverges from the actual data flow. Such behavior aligns with CWE-20 Improper Input Validation and CWE-841 Improper Enforcement of Message Boundaries. From a threat intelligence perspective, this vulnerability is exploitable via ATT&CK technique T1190 Exploit Public-Facing Application, specifically leveraging HTTP request smuggling capabilities to bypass security controls or perform unauthorized actions against backend infrastructure.

Mitigation for this issue requires immediate upgrading to version 1.23_01 or later of the HTTP::Body module, where the parsing logic has been corrected to properly handle buffer boundaries and chunk state transitions. Organizations relying on Perl-based web services should verify their dependency versions through automated software composition analysis tools. Additionally, implementing strict input validation at the network perimeter using Web Application Firewalls can help detect anomalous chunked request patterns that deviate from standard RFC 7230 compliance, providing a layer of defense-in-depth against exploitation attempts while patching is applied to the underlying application code.

Responsible

CPANSec

Reservation

10/26/2026

Disclosure

10/28/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!