CVE-2020-36780: i2c: sprd: fix reference leak when pm_runtime_get_sync fails
In the Linux kernel, the following vulnerability has been resolved:
i2c: sprd: fix reference leak when pm_runtime_get_sync fails
The PM reference count is not expected to be incremented on
return in sprd_i2c_master_xfer() and sprd_i2c_remove().
However, pm_runtime_get_sync will increment the PM reference
count 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
CVE-2020-36780 is a Linux kernel availability issue in the sprd I2C driver. When a runtime power-management resume call fails, the driver can leave a reference count unbalanced. Over time or under specific failure conditions, this can contribute to denial of service. The cited CVSS score is 4.7, and no source says it is actively exploited.
Executive priority
Handle through normal kernel patch management unless the affected driver is present on systems exposed to untrusted local users or workloads. Business urgency is moderate because impact is denial of service only, but kernel reliability defects can matter on embedded, mobile, or appliance-style platforms.
Technical view
The flaw is a PM runtime reference leak in sprd_i2c_master_xfer() and sprd_i2c_remove(). pm_runtime_get_sync increments the usage counter even on failure; missing the corresponding put operation leaves the counter unbalanced. Stable fixes replace it with pm_runtime_resume_and_get. Impact is availability only, local attack vector, high complexity, and low privileges required.
Likely exposure
Exposure appears limited to Linux systems running affected kernel versions with the sprd I2C driver present or relevant. The bundle lists Linux as affected and provides stable kernel fix commits. Systems without this driver or already carrying the referenced fixes are less likely exposed.
Exploitation context
The CVSS vector is local, high-complexity, low-privilege, no user interaction, and availability-only. KEV is false, and the supplied sources do not report active exploitation or public weaponization. Evidence supports treating this as a reliability and local denial-of-service risk, not a remote compromise issue.
Researcher notes
The key evidence is the upstream fix rationale: pm_runtime_get_sync can increment the PM reference count even when it fails, so the usage counter can leak. The source bundle does not provide exploit details, affected distributions, or non-kernel mitigations. Validate exposure through kernel source/package provenance and driver presence.
Mitigation direction
Apply Linux kernel updates containing the referenced stable fixes.
Confirm downstream vendor kernels have backported the sprd I2C runtime PM fix.
Prioritize systems where local untrusted users or workloads can reach affected kernels.
If no update is available, monitor vendor guidance; no workaround is named in sources.
Validation and detection
Inventory Linux kernel versions against the affected and fixed versions in vendor advisories.
Check whether the deployed kernel includes one of the referenced stable commits.
Determine whether the sprd I2C driver is built, loaded, or used on target systems.
Review vendor kernel changelogs for the pm_runtime_resume_and_get backport.
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-36780 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.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.