Description
uhttpd is a small HTTP server. In unpatched repository snapshots, `client_poll_post_data()` in `client.c` consumes an invalid chunk-length line, such as a size exceeding INT_MAX, then clears `r->content_length` and `r->transfer_chunked` without draining the remaining body or setting `request.connection_close`. The completion check treats the chunked POST as finished and the keep-alive parser returns to `CLIENT_STATE_INIT`. Attacker-controlled body bytes aligned as a complete HTTP request are then parsed and processed as another request on the same connection, causing HTTP request smuggling and request-boundary desynchronization. Commits b78f518478794e16ba3568fc1258e40bf3e8eb3b and 34460b8211d676ef1b9f40d6b775c5e112933690 patch the issue.
Published: 2026-10-30
Score: 3.7 Low
EPSS: n/a
KEV: No
Impact: HTTP request smuggling
Action: Patch
AI Analysis

Impact

The flaw in the uhttpd HTTP server allows an attacker to craft a POST request with an invalid chunk-size line exceeding the maximum signed integer value. When the server consumes this malformed line, it clears its internal content length and chunked transfer flags without draining the body or signaling the connection to close. The parser then believes the chunked request is finished, resets to the initial client state, and interprets the remaining request body as a new, separate HTTP request. This results in request smuggling and desynchronization, potentially enabling malicious payloads to be injected into subsequent requests or bypassing security controls. The weakness is a flaw in input validation and parsing (CWE-444).

Affected Systems

The vulnerable code is part of the openwrt uhttpd component. Any OpenWrt installation running a uhttpd version prior to the two commits referenced in the advisory (b78f518478794e16ba3568fc1258e40bf3e8eb3b and 34460b8211d676ef1b9f40d6b775c5e112933690) is affected. The affected versions are those whose repository snapshots contain the unpatched code. Users should verify that their deployed uhttpd package is updated beyond these commits.

Risk and Exploitability

The CVSS score of 3.7 categorizes this as a low severity vulnerability. The EPSS score is currently not available, and the CVE is not listed in the CISA KEV catalog, indicating no publicly known exploitation. However, the likelihood that an attacker can reach the vulnerable server over an open network connection is high, so the attack vector is inferred to be remote network via HTTP. Exploitation requires sending a specially crafted request, which does not need privileged local access. Because the issue can lead to request smuggling, an attacker could hijack the connection to inject malicious requests or bypass authentication, but such exploitation would likely be limited by the low CVSS. Nevertheless, the attack is possible if the server remains exposed.

Generated by OpenCVE AI on October 31, 2026 at 00:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the uhttpd package to the latest OpenWrt release that includes the patches from commits b78f518478794e16ba3568fc1258e40bf3e8eb3b and 34460b8211d676ef1b9f40d6b775c5e112933690.
  • Configure the firewall to restrict HTTP traffic on the router to trusted sources only, blocking external or untrusted connections that could exploit the server.
  • After applying the patch, restart uhttpd and review access logs for any abnormal request patterns that could indicate attempted smuggling.

Generated by OpenCVE AI on October 31, 2026 at 00:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 22:15:00 +0000

Type Values Removed Values Added
Description uhttpd is a small HTTP server. In unpatched repository snapshots, `client_poll_post_data()` in `client.c` consumes an invalid chunk-length line, such as a size exceeding INT_MAX, then clears `r->content_length` and `r->transfer_chunked` without draining the remaining body or setting `request.connection_close`. The completion check treats the chunked POST as finished and the keep-alive parser returns to `CLIENT_STATE_INIT`. Attacker-controlled body bytes aligned as a complete HTTP request are then parsed and processed as another request on the same connection, causing HTTP request smuggling and request-boundary desynchronization. Commits b78f518478794e16ba3568fc1258e40bf3e8eb3b and 34460b8211d676ef1b9f40d6b775c5e112933690 patch the issue.
Title uhttpd vulnerable to HTTP request smuggling via invalid chunk-length state reset
Weaknesses CWE-444
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T22:00:19.756Z

Reserved: 2026-06-16T23:31:22.445Z

Link: CVE-2026-55612

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T22:16:54.950

Modified: 2026-10-30T22:16:54.950

Link: CVE-2026-55612

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-31T00:30:14Z

Weaknesses
  • CWE-444

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')