CVE-2020-36784: i2c: cadence: fix reference leak when pm_runtime_get_sync fails
In the Linux kernel, the following vulnerability has been resolved:
i2c: cadence: fix reference leak when pm_runtime_get_sync fails
The PM reference count is not expected to be incremented on
return in functions cdns_i2c_master_xfer and cdns_reg_slave.
However, pm_runtime_get_sync will increment pm usage counter
even failed. Forgetting to putting operation will result in a
reference leak here.
Replace it with pm_runtime_resume_and_get to keep usage
counter balanced.
Security readout for executives and security teams
Plain-English summary
This CVE describes a Linux kernel driver bug in the Cadence I2C controller. A failed power-management resume path can leave a reference count unbalanced, creating a leak. The provided sources do not assign CVSS severity or confirm active exploitation, so urgency depends on whether exposed systems use this driver and affected kernel builds.
Executive priority
Monitor and patch through normal kernel maintenance unless your environment depends on Cadence I2C hardware in affected Linux builds. There is no source-backed evidence of active exploitation or severe impact, but embedded and appliance fleets should verify exposure.
Technical view
In cdns_i2c_master_xfer and cdns_reg_slave, pm_runtime_get_sync can increment the PM usage counter even when it fails. Without the matching put operation, the Cadence I2C driver can leak a runtime PM reference. Kernel fixes replace that call with pm_runtime_resume_and_get to keep the counter balanced.
Likely exposure
Most relevant to Linux systems, especially embedded or SoC-based platforms, that include and use the Cadence I2C driver on affected kernel versions or vendor-derived kernels. Generic servers without this hardware or driver in use are less likely to be exposed.
Exploitation context
The source bundle does not show KEV listing, public exploit activity, exploit code, or a confirmed attack path. The evidence supports a kernel reliability/resource-management flaw, not remote compromise. Security teams should treat exploitation status as unconfirmed.
Researcher notes
The record is sparse: no CVSS, CWE, exploit evidence, or detailed impact statement is provided. The technical issue is a runtime PM reference leak on failure paths in the Cadence I2C driver. Validation should focus on code lineage and whether the driver is reachable on deployed hardware.
Mitigation direction
Update to a vendor-supported kernel containing the referenced stable fixes.
Check distribution or device-vendor advisories for backported fixes.
Prioritize platforms using Cadence I2C hardware or derived SoC kernels.
Track any vendor-specific operational mitigations if immediate patching is unavailable.
Validation and detection
Inventory kernel versions and vendor kernel branches on relevant Linux systems.
Confirm whether the Cadence I2C driver is built, loaded, or required.
Compare deployed kernel source against the referenced stable fix commits.
Review vendor release notes for CVE-2020-36784 backport status.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2020-36784 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.