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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-90833— Signed offset bypasses bounds check in simulated EEPROM driver, allowing out-of-bounds kernel memory read and write from user mode

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.

模拟 EEPROM 驱动程序在 函数(位于 )中,仅通过单一条件 来验证访问范围。由于 是带符号的 类型,而 是同阶的无符号 类型,两者的加法运算会按无符号算术进行:若 为负数且 足够大以进行补偿,则求和结果会发生回绕,从而落入被接受的范围内。随后, 和 函数通过 宏执行 操作,该宏仅对驱动程序的静态 数组进行简单的指针算术运算,导致复制操作访问了该数组之前的内存区域。 和 是 入口点,其位于 中的验证处理器仅检查设备对象以及调用者自身的数据缓冲区( / ),而 参数未经任何验证便直接传递给驱动程序。当系统启用 、

CVSS 7.8 · High
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-90833

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
Signed offset bypasses bounds check in simulated EEPROM driver, allowing out-of-bounds kernel memory read and write from user mode
Source: CVE Program / CVE List V5
Vulnerability Description
The simulated EEPROM driver validated access ranges in eeprom_range_is_valid() (drivers/eeprom/eeprom_simulator.c) with a single test, (offset + len) <= config->size. Because offset is a signed off_t and len an unsigned size_t of the same rank, the addition is evaluated in unsigned arithmetic: a negative offset combined with a compensating len wraps the sum back into the accepted range. eeprom_sim_read() and eeprom_sim_write() then memcpy() through the EEPROM(addr) macro, which is plain pointer arithmetic on the driver's static mock_eeprom array, so the copy addresses memory located before that array. eeprom_read() and eeprom_write() are __syscall entry points, and their verification handlers in drivers/eeprom/eeprom_handlers.c check only the device object and the caller's own data buffer (K_SYSCALL_MEMORY_READ/K_SYSCALL_MEMORY_WRITE) — the offset argument is passed to the driver unvalidated. With CONFIG_USERSPACE=y, a CONFIG_EEPROM_SIMULATOR device instance, and the device object granted to a user thread (the usage the in-tree tests/drivers/eeprom/api suite exercises from ZTEST_USER threads), an unprivileged thread could supply a negative offset and have the kernel perform the copy on its behalf. The result is an out-of-bounds read of kernel .bss returned into the caller's buffer and, via the write path, an out-of-bounds write of caller-supplied bytes over kernel memory preceding mock_eeprom. Both the start address and the length of the affected span are attacker-selected, so the primitive is sufficient to corrupt adjacent kernel state and escape the user-mode sandbox. Exposure is limited to builds that instantiate the simulated EEPROM (status = "okay" by default on qemu_x86 and native_sim, otherwise added by a devicetree overlay) together with userspace isolation. The fix rejects negative offsets and performs the remaining bound check without overflow.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/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 2.2.0 ~ 4.3.2 -

II. Public POCs for CVE-2026-90833

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

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

Other References for CVE-2026-90833 (2)

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

CVE-2026-82391 9.1 CRITICAL Out-of-bounds write in Zephyr HTTP/2 server static-filesystem handler via corrupted receiv
CVE-2026-77685 8.3 HIGH Bluetooth Classic RFCOMM: integer underflow in the MCC TEST command handler leads to out-o
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