Skip to main content
VulnerabilityPublished Updated

CVE-2026-11812: zephyrproject zephyr · Race

Affects zephyrproject zephyrSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 2.5 Low : upgrade to 4.4.2 or 4.3.2 when convenient.

Data as of 7 Nov 2026, 11:40 UTC

CVSS 3.1 base score
2.5Low
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (zephyr)CVSS 3.12.5
EPSS
0.1% chance of exploitation in 30 days – higher than 1% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 4.4.2, 4.3.2
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 10 Aug 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 7 Nov 2026.

What to do

Upgrade zephyrproject zephyr to 4.4.2 or 4.3.2.

Affected software

ProductAffectedFixed in
zephyrprojectzephyrAffected
  • >=4.4.0 <4.4.2
Fixed in
  • 4.4.2
zephyrprojectzephyrAffected
  • >=2.0.0 <4.3.2
Fixed in
  • 4.3.2
GitHubzephyrpkg:github/zephyrOther threatsAffected
  • >=2.0.0 <4.3.2
  • >=4.4.0 <4.4.2
Fixed in
  • 4.3.2
  • 4.4.2

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

The vendor's fix serializes access to the shared context with a mutex and adds bounds checking to prevent out-of-bounds writes. If you cannot patch yet, restrict local access to update operations to trusted users and consider disabling unprivileged userspace threads from invoking update operations if possible.

Description

The UpdateHub management subsystem (subsys/mgmt/updatehub/updatehub.c) drives every update operation through a single file-scope ctx structure that holds the CoAP block context, payload buffer, status code, socket, and a one-element poll-fd array fds[1]. Access to ctx was not serialized, and prepare_fds() wrote ctx.fds[ctx.nfds] and incremented ctx.nfds with no bounds check. Two independent paths mutate ctx concurrently: the background autohandler running on the system workqueue, and user-triggered operations reached through the updatehub run shell command, direct API calls, or — since the operations are exposed as syscalls — userspace threads. When a second flow enters prepare_fds() while ctx.nfds is already 1, the write lands one element past the array; by struct layout it overlaps the adjacent ctx.sock/ctx.nfds members. More broadly, the unsynchronized sharing lets two flows interleave connection setup and teardown, double-closing a socket descriptor or scribbling the shared buffers. The result is corruption of the update subsystem's internal state and denial of service of the firmware-update path; the out-of-bounds write is contained within the ctx structure and there is no demonstrated path to memory outside it or to code execution. Triggering requires a local actor able to invoke update operations (or, with CONFIG_USERSPACE, an unprivileged userspace thread) and to win a timing race against the background handler; remote peers cannot control the race timing. The fix serializes the entry points with a mutex and adds a bounds check to prepare_fds().

References

Community reviews

Loading reviews…