The userspace syscall verifier zvrfymboxsend() in drivers/mbox/mboxhandlers.c validated the nested msg->data/msg->size fields by reading them directly out of live userspace memory, and then forwarded the original, still-mutable userspace struct mboxmsg * pointer to zimplmboxsend() and the underlying driver. Between the access check and the driver's use of msg->data, the validated pointer could be replaced, leaving a time-of-check/time-of-use window.
On a system built with CONFIGUSERSPACE, any unprivileged userspace thread may invoke the mboxsend() system call. A second thread sharing the caller's address space can race to overwrite msg->data with a supervisor (kernel) address after the verifier's bounds check has passed but before the driver dereferences it. The driver then reads from the attacker-chosen address in supervisor context (for example memcpy(&data32, msg->data, msg->size) in the NXP mailbox driver, whose bytes are subsequently emitted to the peer mailbox endpoint).
The impact is a userspace-to-supervisor access-control bypass: disclosure of kernel memory contents (high confidentiality impact), or, for an invalid/unmapped target address, a faulting kernel read causing denial of service. The fix snapshots the entire struct mboxmsg into a kernel-stack copy with kusermodefromcopy() and validates and forwards that immutable copy, closing the race.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/9xxx/CVE-2026-9728.json",
"cwe_ids": [
"CWE-367"
],
"cna_assigner": "zephyr"
}[
{
"id": "CVE-2026-9728-5a08503f",
"target": {
"function": "z_vrfy_mbox_send",
"file": "drivers/mbox/mbox_handlers.c"
},
"deprecated": false,
"digest": {
"function_hash": "78517314794259360227183200728440893573",
"length": 356.0
},
"signature_version": "v1",
"source": "https://github.com/zephyrproject-rtos/zephyr/commit/ab35eaccec5976f05c196f176d0c32885754496f",
"signature_type": "Function"
},
{
"id": "CVE-2026-9728-b90c29ea",
"target": {
"file": "drivers/mbox/mbox_handlers.c"
},
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"48515705576277014870705260274146884859",
"30272708634888415703756055476568909417",
"10467468853473895153475323877403802331",
"298860747516236632819268876436740623600",
"233877546415423898461719811669934477499",
"122088841722900251347364245414550966263",
"225778878794975270995344126867722130823",
"74798103472868859033971441157456884466",
"333433743367106105183384230152016745163",
"92686133226536742225501844513463735725"
]
},
"signature_version": "v1",
"source": "https://github.com/zephyrproject-rtos/zephyr/commit/ab35eaccec5976f05c196f176d0c32885754496f",
"signature_type": "Line"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-9728.json"
"2026-08-28T14:32:44Z"