ZephyrProject Zephyr up to 4.4.x I2C Slave Interrupt drivers/i2c/i2c_dw.c i2c_dw_slave_read_clear_intr_bits state improper synchronization
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.3 | $0-$5k | 2.19 |
Summary
A vulnerability classified as critical has been found in ZephyrProject Zephyr up to 4.4.x. The affected element is the function i2c_dw_slave_read_clear_intr_bits of the file drivers/i2c/i2c_dw.c of the component I2C Slave Interrupt Handler. The manipulation of the argument state leads to improper synchronization.
This vulnerability is listed as CVE-2026-10683. The attack must be carried out locally. There is no available exploit.
Details
A vulnerability was found in ZephyrProject Zephyr up to 4.4.x. It has been rated as critical. This issue affects the function i2c_dw_slave_read_clear_intr_bits of the file drivers/i2c/i2c_dw.c of the component I2C Slave Interrupt Handler. The manipulation of the argument state with an unknown input leads to a improper synchronization vulnerability. Using CWE to declare the problem leads to CWE-662. The product utilizes multiple threads or processes to allow temporary access to a shared resource that can only be exclusive to one process at a time, but it does not properly synchronize these actions, which might cause simultaneous accesses of this resource by multiple threads or processes. Impacted is availability. The summary by CVE is:
In the Synopsys DesignWare I2C driver (drivers/i2c/i2c_dw.c) operating in target/slave mode, the rx_full interrupt handler gates the write_requested() callback on dw->state != CMD_SEND, and dw->state is only reset to READY on a STOP interrupt. The START_DET interrupt, whose handler in i2c_dw_slave_read_clear_intr_bits() would reset the state on every (re)START, was never added to the enabled interrupt mask in i2c_dw_slave_register(), so that recovery path was dead code. As a result, if the STOP interrupt is lost (bus glitch/reset, or a concurrent master driving STOP) or the bus master issues a legal WRITE-repeated-START-WRITE sequence with the same direction, the driver remains in CMD_SEND permanently and never invokes write_requested() again for the life of the target. An I2C master on the same physical bus can deliberately trigger this, causing the I2C target function to malfunction for all subsequent write transactions and desynchronizing consumer framing state (e.g. MCTP-over-I2C), a recoverable-by-reset denial of service of the target peripheral. The fix unmasks START_DET so the state is reset at every bus (re)START. Impact is availability-only over a local board-level bus; no memory corruption results in the in-tree consumer, whose per-byte buffer write is independently bounds-checked.
It is possible to read the advisory at github.com. The identification of this vulnerability is CVE-2026-10683 since 06/02/2026. The exploitation is known to be easy. Attacking locally is a requirement. Technical details of the vulnerability are known, but there is no available exploit.
Upgrading to version 4.5.0 eliminates this vulnerability. Applying the patch 06e2053efe0e324d71cc29cdd95160fff643730a is able to eliminate this problem.
Be aware that VulDB is the high quality source for vulnerability data.
Product
Type
Vendor
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.5VulDB Meta Temp Score: 5.3
VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Improper synchronizationCWE: CWE-662
CAPEC: 🔒
ATT&CK: 🔒
Physical: Partially
Local: Yes
Remote: No
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Zephyr 4.5.0
Patch: 06e2053efe0e324d71cc29cdd95160fff643730a
Timeline
06/02/2026 CVE reserved07/27/2026 Advisory disclosed
07/27/2026 VulDB entry created
07/27/2026 VulDB entry last update
Sources
Advisory: github.comStatus: Confirmed
CVE: CVE-2026-10683 (🔒)
GCVE (CVE): GCVE-0-2026-10683
GCVE (VulDB): GCVE-100-383543
Entry
Created: 07/27/2026 20:59Changes: 07/27/2026 20:59 (24), 07/27/2026 21:00 (36)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.