Impact
A double‑free bug in the Linux kernel’s MTD OTP NVMEM subsystem emerges when a factory OTP setup fails after a user OTP NVMEM device has been registered. The routine mtd_otp_nvmem_add() unregisters the device but fails to clear the internal mtd->otp_user_nvmem pointer. A subsequent unregister attempt frees the already freed memory again. This mis‑management of kernel memory placement is classified under CWE-1341 and can corrupt critical kernel data structures.
Affected Systems
All Linux kernel builds that incorporate the MTD OTP NVMEM module are vulnerable, regardless of the exact kernel release. Because the code path exists across multiple kernel configurations, any kernel revision with this module compiled in may allow the double‑free if the conditions above are triggered.
Risk and Exploitability
The CVSS score of 4.1 indicates moderate severity, and the EPSS score of less than 1% suggests a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA KEV catalog. The probable attack vector is local or privileged: an actor who can induce a factory OTP setup failure or otherwise trigger the double‑unregister sequence can corrupt kernel memory, potentially leading to a denial‑of‑service or, under specific conditions, arbitrary code execution.
OpenCVE Enrichment