Shift-out-of-bound Vulnerability in nvmem Package

Kernel Updated 02 Oct 2025

Summary

14/11/2021
N/A
No i
Unrated
Not published

GSD-2021-1002084: nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells. Affects Kernel versions >= 69aba7948cbe53f2f1827e84e9dd0ae470a5072e, < 0e822e5413da1af28cca350cb1cb42b6133bdcae. No fix is published. How to fix ↓

Free scan

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.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

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, enabling persistent storage of data. However, a vulnerability has been discovered in the nvmem package that can lead to a shift-out-of-bound issue.

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 affects all subsequent versions until v5.14.14, where it was fixed by commit 0e822e5413da1af28cca350cb1cb42b6133bdcae. The vulnerability can result in undefined behavior and potential security risks. An attacker could potentially exploit this vulnerability to execute arbitrary code or cause a denial-of-service (DoS) condition.

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 immediately feasible, a possible workaround is to avoid using byte size cells in the nvmem package. Instead, consider using larger cell sizes or alternative methods for accessing non-volatile memory devices. Here is an example of how to use a larger cell size:

#include <linux/nvmem-consumer.h>

struct nvmem_cell *cell;

void read_from_nvmem(void)
{
    int value;
    nvmem_cell_read(cell, 0, &value, sizeof(int));
    // Process the read value
}

Conclusion

In conclusion, the nvmem package in the Linux Kernel is vulnerable to a shift-out-of-bound issue when byte size cells are used. This vulnerability can have serious security implications and should be addressed by updating the Linux Kernel to version v5.14.14 or later. If immediate updating is not possible, consider implementing the provided workaround. For further assistance and support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

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 is performed on a value that exceeds the bounds of the data type or buffer, leading to undefined behavior and potential security risks.

An attacker could potentially exploit this vulnerability to execute arbitrary code or cause a denial-of-service (DoS) condition.

To fix this vulnerability, it is recommended to update the Linux Kernel to version v5.14.14 or later.

If updating the Linux Kernel is not immediately feasible, a possible workaround is to avoid using byte size cells in the nvmem package.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

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 →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback