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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-82391— Out-of-bounds write in Zephyr HTTP/2 server static-filesystem handler via corrupted receive-buffer length

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.

Zephyr HTTP 服务器的 HTTP/2 前端将连接接收状态错误地别名化为一个临时输出缓冲区。在 文件的 函数中,代码将 作为 函数的 输出参数传入。 表示固定大小的每连接接收缓冲区 (默认 256 字节)中尚未处理的剩余字节数,这是一个所有帧处理程序和套接字接收路径都依赖的不变量。因此,提供任意静态文件时,该有界值会被替换为文件的磁盘大小,且此后没有任何代码将其重置。 该漏洞可通过未认证的 HTTP/2 GET 请求访问 Web 根目录下的任意文件来触发,前提是该应用程序注册了静态文件系统资源( ),且启用

CVSS 9.1 · Critical
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-82391

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 write in Zephyr HTTP/2 server static-filesystem handler via corrupted receive-buffer length
Source: CVE Program / CVE List V5
Vulnerability Description
The HTTP/2 front-end of the Zephyr HTTP server aliased connection receive state as a scratch output. In subsys/net/lib/http/http_server_http2.c, handle_http2_static_fs_resource() passed &client->data_len as the file_size out-parameter of http_server_find_file(). client->data_len is the count of unprocessed bytes remaining in the fixed-size per-connection receive buffer client->buffer[CONFIG_HTTP_SERVER_CLIENT_BUFFER_SIZE] (256 bytes by default), an invariant every frame handler and the socket receive path rely on. Serving any static file therefore replaced that bounded value with the file's on-disk size, and nothing resets it afterwards. The defect is reached by an unauthenticated HTTP/2 GET for any file under the web root, in applications that register a static-filesystem resource (HTTP_RESOURCE_TYPE_STATIC_FS) with CONFIG_FILE_SYSTEM=y; CONFIG_HTTP_SERVER_VERSION_2 is enabled by default and no TLS or credentials are required on this path. Once client->data_len exceeds the buffer size, the frame dispatch loop in subsys/net/lib/http/http_server_core.c keeps parsing past the end of the received data, and the peer controls the bytes at client->cursor, so it can choose which fabricated frame the state machine consumes next by appending bytes after its request. The inflated length defeats the only guards on the buffer. parse_http_frame_header() and the per-frame handlers read and skip up to a 24-bit frame length beyond the buffer (out-of-bounds read); the compaction memmove(client->buffer, client->cursor, client->data_len) at the end of request handling copies the file-size number of bytes into the 256-byte buffer, overflowing the rest of struct http_client_ctx — including the current_detail/current_stream pointers, the parser_settings function-pointer table and the inactivity_timer work handler — and the adjacent client contexts in static memory; and the subsequent zsock_recv(client->fd, client->buffer + client->data_len, sizeof(client->buffer) - client->data_len, 0) underflows its size argument, writing attacker-supplied data of attacker-chosen length out of bounds. The impact is remote memory corruption in the server's single address space: at minimum a crash or hang of the device, and plausibly control-data overwrite leading to code execution. The HTTP/1 and HTTP/3 static-filesystem handlers already used a local variable and are unaffected; the fix makes the HTTP/2 handler use a local size_t file_size as well.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
跨界内存写
Source: CVE Program / CVE List V5

Affected Products

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

II. Public POCs for CVE-2026-82391

# 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-82391

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

Other References for CVE-2026-82391 (2)

Same Patch Batch · zephyrproject · 2026-11-10 · 6 CVEs total

CVE-2026-77685 8.3 HIGH Bluetooth Classic RFCOMM: integer underflow in the MCC TEST command handler leads to out-o
CVE-2026-90833 7.8 HIGH Signed offset bypasses bounds check in simulated EEPROM driver, allowing out-of-bounds ker
CVE-2026-87042 6.5 MEDIUM Zephyr PTP: unvalidated Delay_Resp message interval lets an on-link peer wedge the PTP thr
CVE-2026-90834 5.5 MEDIUM UART wide-data syscall verifiers check the 8-bit driver op, allowing a user-mode thread to
CVE-2026-90832 4.3 MEDIUM Out-of-bounds read in Bluetooth Host periodic advertising report reassembly due to unvalid

IV. Related Vulnerabilities