CVE-2026-53116
Low risk· EPSS 4%Exploitation Probability (EPSS)
Low risk4th percentile - higher than 4% of all known CVEs
Summary
In the Linux kernel s390/ap subsystem, a use-after-free (UAF) vulnerability was found when updating AP masks. The issue arises from unsynchronized access to the driver_override field, leading to a race condition and potential security breach.
Risk Assessment
An attacker could exploit this vulnerability for remote code execution or privilege escalation on s390 systems, compromising data confidentiality, integrity, and availability.
Recommendation
Immediately update the Linux kernel to a version containing the fix that uses the generic driver_override infrastructure with an internal spinlock.
Original NVD description (English source)
In the Linux kernel, the following vulnerability has been resolved: s390/ap: use generic driver_override infrastructure When the AP masks are updated via apmask_store() or aqmask_store(), ap_bus_revise_bindings() is called after ap_attr_mutex has been released. This calls __ap_revise_reserved(), which accesses the driver_override field without holding any lock, racing against a concurrent driver_override_store() that may free the old string, resulting in a potential UAF. Fix this by using the driver-core driver_override infrastructure, which protects all accesses with an internal spinlock. Note that unlike most other buses, the AP bus does not check driver_override in its match() callback; the override is checked in ap_device_probe() and __ap_revise_reserved() instead. Also note that we do not enable the driver_override feature of struct bus_type, as AP - in contrast to most other buses - passes "" to sysfs_emit() when the driver_override pointer is NULL. Thus, printing "\n" instead of "(null)\n". Additionally, AP has a custom counter that is modified in the corresponding custom driver_override_store().

