Cyber Resilience

CVE-2025-21856

High

Published: 12 March 2025

Published
12 March 2025
Modified
01 October 2025
KEV Added
Patch
CVSS Score v3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.0001 2.7th percentile
Risk Priority 16 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2025-21856 is a high-severity Use After Free (CWE-416) vulnerability in Linux Linux Kernel. Its CVSS base score is 7.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 2.7th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified are NIST 800-53 SI-2 (Flaw Remediation) and RA-5 (Vulnerability Monitoring and Scanning).

Deeper analysis

CVE-2025-21856 is a use-after-free vulnerability (CWE-416) in the Linux kernel's s390/ism subsystem. The issue arises because the code directly frees a struct device after calling device_add() without setting a proper release function, violating kernel expectations in drivers/base/core.c. Without a release function, the device is considered broken, and lingering references—such as those from sysfs—can lead to use-after-free conditions as other kernel components may still hold pointers to the freed memory.

A local attacker with low privileges (AV:L/AC:L/PR:L) can exploit this vulnerability without user interaction (UI:N) in a single-instance context (S:U). Successful exploitation could result in high-impact confidentiality, integrity, and availability violations (C:H/I:H/A:H), with a CVSS v3.1 base score of 7.8, potentially allowing arbitrary code execution or system crashes on affected s390 systems.

Mitigation involves applying upstream kernel patches, as detailed in the referenced stable commits: 0505ff2936f1 (primary fix adding the release function), along with related updates in 915e34d5ad35, 940d15254d22, and e26e8ac27351. Security practitioners should update to kernels incorporating these changes on s390 architectures to address the improper device lifecycle management.

EU & UK References

Vulnerability details

In the Linux kernel, the following vulnerability has been resolved: s390/ism: add release function for struct device According to device_release() in /drivers/base/core.c, a device without a release function is a broken device and must be fixed. The current code directly…

more

frees the device after calling device_add() without waiting for other kernel parts to release their references. Thus, a reference could still be held to a struct device, e.g., by sysfs, leading to potential use-after-free issues if a proper release function is not set.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1068 Exploitation for Privilege Escalation Privilege Escalation
Adversaries may exploit software vulnerabilities in an attempt to elevate privileges.
Why these techniques?

Use-after-free in Linux kernel (local, low-priv) enables arbitrary code execution or crashes, directly facilitating T1068 Exploitation for Privilege Escalation on s390 systems.

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-23111Same product: Linux Linux Kernel
CVE-2026-31530Same product: Linux Linux Kernel
CVE-2026-43019Same product: Linux Linux Kernel
CVE-2026-23158Same product: Linux Linux Kernel
CVE-2025-21893Same product: Linux Linux Kernel
CVE-2026-31446Same product: Linux Linux Kernel
CVE-2026-31650Same product: Linux Linux Kernel
CVE-2026-23001Same product: Linux Linux Kernel
CVE-2024-50051Same product: Linux Linux Kernel
CVE-2025-21759Same product: Linux Linux Kernel

Affected Assets

linux
linux kernel
6.14 · 6.3 — 6.6.80 · 6.7 — 6.12.17 · 6.13 — 6.13.5

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly requires identification, reporting, and correction of flaws like the missing device release function causing use-after-free in the s390/ism kernel subsystem.

detect

Enables vulnerability scanning to identify kernel flaws such as CVE-2025-21856 for subsequent remediation.

prevent

Implements memory protections that mitigate exploitation of use-after-free vulnerabilities by enforcing memory separation and preventing unauthorized code execution.

References