Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-90588— Out-of-bounds read in Zephyr HTTP client debug logging of response header fields

Quick assessment

Affected
zephyrproject zephyr
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 中,HTTP 客户端的调试辅助函数 使用 格式转换来格式化 数据回调的切片: 。解析器在调用回调时,会传入指向调用方接收缓冲区的指针及其长度,但这些字节并未以空字符(NUL)结尾。 的 参数仅限制目标缓冲区的大小,而 转换会先测量源字符串长度——当未指定精度时, 会使用 ;而 则无条件地使用 。因此,读取操作会越过标头字段的末尾,甚至越过接收缓冲区的末尾,直到遇到一个零字节为止。 该切片通过 、 和 回调传递给辅助函数,这些回调由解析器在 从套接字直接读取数据并写入应用程序提供的 后触发。因此,恶意或已被攻陷的

CVSS 3.7 · Low
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-90588

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Out-of-bounds read in Zephyr HTTP client debug logging of response header fields
Source: CVE Program / CVE List V5
Vulnerability Description
The HTTP client's debug helper print_header_field() in subsys/net/lib/http/http_client.c formatted an http_parser data-callback slice with a %s conversion: snprintk(output, len + 1, "%s", str). The parser hands its callbacks a pointer and a length into the caller's receive buffer, and those bytes are not NUL terminated. The size argument of snprintk() bounds only the destination, while the %s conversion measures the source first — lib/os/cbprintf_complete.c uses strlen() when no precision is given, and lib/os/cbprintf_nano.c uses strlen() unconditionally — so the read walks past the end of the header field and past the end of the receive buffer until it finds a zero byte. The slice reaches the helper from on_url(), on_header_field() and on_header_value(), which the parser invokes on bytes that http_wait_data() read straight off the socket into the application-supplied recv_buf. A malicious or compromised HTTP server, or an attacker able to answer a plaintext request, therefore controls both the header field and the bytes that follow it in the buffer, and can guarantee that no zero byte appears before the buffer ends, forcing the over-read. The in-tree tests/net/lib/http_client suite reproduces the over-read under CONFIG_ASAN=y on an ordinary GET. The impact is bounded. The whole helper body is compiled only when the HTTP client log module is explicitly set to Debug (CONFIG_NET_HTTP_LOG_LEVEL_DBG=y, which the global CONFIG_LOG_DEFAULT_LEVEL does not set), so default builds are unaffected. No out-of-bounds write occurs and none of the over-read bytes are emitted into the log, so there is no information disclosure; the consequence is an out-of-bounds read that can fault and panic the device where the buffer abuts an unmapped or MPU/MMU-protected region. The fix copies exactly the len bytes the parser offered with memcpy() and terminates them, instead of relying on a %s conversion (a %.*s precision would not have sufficed, since cbprintf_nano.c measures the source in full before applying it).
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Source: CVE Program / CVE List V5
Vulnerability Type
跨界内存读
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
zephyrproject zephyr 2.1.0 ~ 4.3.2 -

II. Public POCs for CVE-2026-90588

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-90588

请登录查看更多情报信息。

Other References for CVE-2026-90588 (2)

Same Patch Batch · zephyrproject · 2026-11-09 · 7 CVEs total

CVE-2026-90586 7.8 HIGH Xtensa MMU userspace: uninitialized thread page-table pointer leads to out-of-bounds super
CVE-2026-90591 7.5 HIGH NXP ENET-QOS Ethernet driver re-arms RX descriptors with a clobbered DMA buffer address on
CVE-2026-90590 6.5 MEDIUM Permanent loss of transmit capability in the NXP ENET QoS Ethernet driver after an Etherne
CVE-2026-90589 5.5 MEDIUM Memory-mapped thread stack is never unmapped when a thread is aborted by another thread, e
CVE-2026-90587 4.6 MEDIUM NULL pointer dereference in the Zephyr USB host stack when a device reports zero configura
CVE-2026-90585 4.6 MEDIUM Renesas RA SCI UART driver: unacknowledged receive-error interrupt causes a permanent inte

IV. Related Vulnerabilities