uhttpd: HTTP request smuggling via ubus POST body parse-error desync
Impact
uhttpd, a small HTTP server, has a vulnerability in versions before 7b1bec45826bd78c8afc993435bdc0f1df2fe399, where an attacker with network access can smuggle HTTP requests via ubus POST body parse errors, potentially processing embedded requests on the same connection. The issue affects deployments with ubus enabled, including default OpenWrt configurations.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
openwrt · GitHub_M
uhttpd
1 range
openwrt · GitHub_M
uhttpd
Compare with this publisher’s ranges. This does not inspect your installation.
affected
< 7b1bec45826bd78c8afc993435bdc0f1df2fe399
Other versions: unknown
Original source description
uhttpd is a small HTTP server. In unpatched repository snapshots, uh_ubus_data_send() in ubus.c can desynchronize HTTP request boundaries when a POST /ubus JSON body arrives in multiple TCP segments. An initial segment completing a JSON object sets du->jsobj; a later segment takes the existing-object parse-error path and returns zero bytes consumed. The caller neither drains the remaining declared Content-Length nor sets connection_close. An HTTP request embedded in the unread body suffix is consequently processed as a new request on the same keep-alive connection. The reported reproducer returned a JSON-RPC parse error followed by a second HTTP response. This application-layer body-handler flaw is distinct from Transfer-Encoding header case handling and chunk-length state reset, and affects deployments enabling ubus, including the default OpenWrt configuration and potential proxy/CDN deployments. Repository patches 7b1bec45826bd78c8afc993435bdc0f1df2fe399 and b2285de129b9adc8b12f84f9a27c16c21f2b57a5 address this issue.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-55613View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 1
Assigning organization
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.