Shift-out-of-bound Vulnerability in nvmem Package
Summary
GSD-2021-1001953: nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells. Affects Kernel versions >= 69aba7948cbe53f2f1827e84e9dd0ae470a5072e, < 2df6c023050205c4d04ffc121bc549f65cb8d1df. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The nvmem package is a component of the Linux Kernel ecosystem. It provides an interface for accessing non-volatile memory devices. Non-volatile memory (NVM) is a type of computer memory that retains its data even when power is turned off. The nvmem package allows applications to read from and write to NVM devices. It is commonly used in embedded systems and other applications that require persistent storage. However, a vulnerability has been discovered in the nvmem package that can lead to a shift-out-of-bound error.
Vulnerability Detail
The shift-out-of-bound vulnerability in the nvmem package occurs when byte size cells are used. This vulnerability was introduced in version v4.3 of the Linux Kernel by commit 69aba7948cbe53f2f1827e84e9dd0ae470a5072e and was fixed in version v4.14.252 by commit 2df6c023050205c4d04ffc121bc549f65cb8d1df. The vulnerability can result in undefined behavior and potential security risks. Although the actual impact and attack plausibility have not been proven, it is important to address this vulnerability to ensure the security and stability of systems using the nvmem package.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
If updating the Linux Kernel is not feasible, a possible workaround for the shift-out-of-bound vulnerability in the nvmem package is to avoid using byte size cells. Instead, use cells with larger sizes to ensure that the shift operation stays within bounds. Here is an example of how to define a cell with a larger size:
struct nvmem_cell {
u32 data[4]; // Use a larger size, such as 4 bytes
};
Conclusion
The shift-out-of-bound vulnerability in the nvmem package can lead to undefined behavior and potential security risks. It is important to update the Linux Kernel to the fixed version or apply the recommended workaround to mitigate this vulnerability. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The nvmem package is a component of the Linux Kernel ecosystem that provides an interface for accessing non-volatile memory devices.
A shift-out-of-bound vulnerability occurs when a shift operation exceeds the bounds of a data structure or memory region, resulting in undefined behavior and potential security risks.
The shift-out-of-bound vulnerability in the nvmem package was introduced in version v4.3 of the Linux Kernel by commit 69aba7948cbe53f2f1827e84e9dd0ae470a5072e.
The actual impact and attack plausibility of the shift-out-of-bound vulnerability in the nvmem package have not been proven. However, it is important to address this vulnerability to ensure the security and stability of systems using the nvmem package.
To fix the shift-out-of-bound vulnerability, it is recommended to update the Linux Kernel to version v4.14.252 or later. Alternatively, you can use cells with larger sizes to avoid the shift-out-of-bound operation.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.