PT-2026-56185 · Zephyrproject · Zephyr

Published

2026-07-07

·

Updated

2026-07-07

·

CVE-2026-10659

CVSS v3.1

4.7

Medium

VectorAV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
The Dhara flash translation layer disk driver (drivers/disk/ftl dhara.c) implemented the dhara nand callbacks so that, on a flash error, the error code was written unconditionally through the caller-supplied dhara error t err pointer (e.g. *err = DHARA E ECC in dhara nand read, and similar in dhara nand erase/prog/copy). The upstream Dhara library calls these callbacks with err == NULL along its journal-resume binary search: find last checkblock() invokes find checkblock(j, mid, &found, NULL), which forwards the NULL pointer into dhara nand read(). This path runs during disk ftl access init() -> dhara map resume() whenever the FTL disk is mounted/initialised. If a flash read error (uncorrectable ECC, bad block, controller error) occurs on one of the probed checkpoint pages, the driver dereferences and writes to NULL, faulting the kernel (denial of service). The trigger is conditioned on the NAND medium content/health, which can be influenced by media wear, induced faults, or a corrupted/crafted on-flash image. The fix routes all error assignments through the library's NULL-safe dhara set error() helper. Affects Zephyr v4.4.0, where the driver was introduced.

Fix

NULL Pointer Dereference

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-10659

Affected Products

Zephyr