Impact
The mbox_send syscall verifier in Zephyr contains a time‑of‑check/time‑of‑use race. The verifier reads the mbox_msg structure directly from userspace and later forwards the same pointer to the driver. Between the bounds check and the driver read, a competing thread can overwrite msg->data with a kernel address. This allows an unprivileged user to read arbitrary kernel memory or cause a fault for denial of service. The flaw is a classic race condition (CWE‑367) that yields confidentiality compromise and potential service disruption.
Affected Systems
The issue appears in Zephyr projects built with CONFIG_USERSPACE enabled. Any Zephyr installation that supports the mailbox API and permits unprivileged users to call mbox_send is vulnerable. Specific release versions are not listed, but any build containing the unpatched mbox_handlers.c is affected.
Risk and Exploitability
The CVSS score of 6.4 indicates moderate severity. The EPSS score is not available and the vulnerability is not listed in CISA KEV. Exploitation requires an unprivileged userspace thread that invokes mbox_send and a second thread sharing the same address space to overwrite msg->data with a kernel address. The attack is therefore a local circumstance involving shared memory race; an attacker can read kernel memory or trigger a kernel fault, leading to confidentiality loss or service disruption. The patch that copies the mbox_msg into a kernel stack eliminates the race and closes the vulnerability.
OpenCVE Enrichment