Skip to main content

Linux Kernel CVE-2026-89957

| EUVDEUVD-2026-80557 HIGH
2026-09-16 Linux GHSA-pgcj-5wj3-jcmr
8.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Guest assigned single AP adapter/domain via vfio-ap mdev
  2. Delivery
    Host operator removes last adapter/domain from AP config
  3. Exploit
    bitmap_andnot() returns false on empty result, do_hotplug stays 0
  4. Execution
    Guest APCB update skipped
  5. Impact
    Guest retains stale crypto hardware access

Vulnerability Assessment

Exploitation Conditions

Requires the s390 vfio-ap driver in use with a KVM guest assigned AP crypto resources via an mdev, AND a host-side operation that removes the LAST assigned AP adapter, domain, or control domain from the host's AP configuration - that specific 'resulting bitmap becomes empty' case is what triggers the skipped guest APCB update. Limiting factors: exploitation is confined to IBM Z / s390 hardware with crypto adapters (CEX cards) configured for guest passthrough; it is local-only (AV:L), needs privileged host management access to alter the AP configuration, and the guest does not initiate the flaw - it passively retains access. There is no remote or unauthenticated path and no user-interaction vector.

Impact

This is a functional/isolation logic bug in the s390 vfio-ap crypto passthrough driver, not a memory-corruption or remote-code-execution flaw. The vendor CVSS of 8.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) substantially overstates real-world risk. There is NO EPSS score, NO CISA KEV listing, and NO public exploit identified - signals that align far better with a low-urgency internal correctness fix than with a critical, actively-exploited vulnerability. Crucially, the condition is not attacker-triggered: it arises when a host operator removes the LAST AP adapter, domain, or control domain from the host AP configuration, at which point a bitmap_andnot() return-value misuse causes the guest APCB update to be skipped, leaving the KVM guest with stale hardware access to the now-'removed' AP device. The C:H/I:H/A:H claim is unsupported - the actual impact is bounded, unauthorized crypto-device access retained by an already-privileged guest, with no availability/DoS component. The PR:L rating is questionable: reaching this path requires privileged host-side manipulation of the AP configuration (PR:H). The vendor CVSS attack complexity/privilege signals conflict with the description - verify PR level with vendor, as this is an operator-dependent isolation gap rather than a low-privilege remote exploit.

Exploit ScenarioDerived

A host administrator removes the last AP crypto adapter or domain assigned to a guest's mdev from the host AP configuration (e.g. to reassign the crypto resource to a different guest), expecting the device to be hot-unplugged. Due to the bitmap_andnot() return-value bug the guest's shadow APCB is never pushed to KVM, so the guest silently retains hardware access to the crypto device it should no longer reach, breaking isolation between the guest and reassigned/removed crypto resources. No public exploit code exists and this requires the specific host management action to occur.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

Stale hardware access to unplugged crypto resources in Linux KVM guests on IBM Z (s390) stems from a logic error in the vfio-ap mediated-device driver: when the last AP adapter, domain, or control domain is removed from the host's AP configuration, the shadow APCB is cleared but the bitmap_andnot() return value is false for an empty result, so the do_hotplug flag never gets set and the guest's APCB is never refreshed. Only s390 hosts with CEX crypto adapters configured for guest passthrough are affected, exploitation is local and requires privileged host management access to modify the AP configuration, and no public exploit code has been identified at time of analysis. The practical consequence is a crypto-resource isolation failure in which the guest passively retains access to AP devices the administrator believes were unplugged, not memory corruption or code execution.

RemediationAI

Apply the vendor-released kernel fixes: upgrade to Linux 6.1.188, 6.6.157, 6.12.110, 6.18.51, 7.2.5, or 7.3-rc1 (or later), or cherry-pick the relevant stable commit for your branch - f58e824de8577fe411f6199d659731a0f86a7275, 3a9b049bbdc40165d7f3e20b818eec95e5694d96, 753aa3bb1273bc0d36adb013d5915cc8ff6b72a9, c45753c32d452d10d8efaeb52587e9e6e8126e33, 04b35dd88c108b2d2ceaaa396aba1cb4049d5831, or 917f509bfb88048094dbb85c4e9dbc4d6fe4a886, per https://git.kernel.org/stable/. Because the defect only manifests when the last assigned AP adapter, domain, or control domain is removed while an mdev is live, an operational workaround is to avoid host AP configuration changes that empty a guest's assignment: instead, first stop or undeploy the guest (or remove and re-create the vfio-ap mdev so a fresh APCB is built), make the host AP change, then start the guest again - the trade-off is guest downtime instead of a silent over-privilege. Alternatively, keep at least one AP resource assigned to the mdev across changes and issue a full mdev unbind/rebind to force vfio_ap_mdev_update_guest_apcb() to run, accepting that this interrupts guest crypto workloads. Restrict host AP-configuration modification to privileged, audited maintenance windows, and monitor for guests that still show AP queues after their host assignment was cleared, since detection relies on configuration drift rather than a runtime error.

Affected VersionsENISA

Linux patch: 6.18.51
Linux patch: 0
Linux eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 <04b35dd88c108b2d2ceaaa396aba1cb4049d5831
Linux eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 <753aa3bb1273bc0d36adb013d5915cc8ff6b72a9
Linux patch: 6.6.157
Linux patch: 7.2.5
Linux eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 <c45753c32d452d10d8efaeb52587e9e6e8126e33
Linux eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 <917f509bfb88048094dbb85c4e9dbc4d6fe4a886
Linux patch: 6.1.188
Linux patch: 7.3-rc1
Linux eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 <3a9b049bbdc40165d7f3e20b818eec95e5694d96
Linux patch: 6.12.110
Linux eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 <f58e824de8577fe411f6199d659731a0f86a7275
Linux 6.0

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is in vfio_ap_mdev_hot_unplug_cfg(), part of the vfio-ap driver that lets a KVM guest on IBM Z (s390) be assigned AP (Adjunct Processor) crypto resources - adapters, domains, and control domains backed by CEX crypto cards - through a mediated device (mdev). Each mdev maintains a shadow AP Configuration Block (APCB) that is handed to the guest to define which AP queues it may use, and vfio_ap_mdev_update_guest_apcb() is responsible for pushing that updated APCB into the running guest when the host's AP configuration changes. The update path is gated by a do_hotplug flag whose value is derived from the return of bitmap_andnot(), which computes the shadow APCB minus the removal mask. bitmap_andnot() returns the number of bits set in the resulting destination bitmap, so when the removal mask covers every bit currently assigned to the mdev - that is, the last adapter, domain, or control domain is removed - the destination bitmap is empty and the function returns zero/false. The bit clearing side effect still happens, but do_hotplug stays 0, the guest APCB update call is skipped, and KVM continues to present (and the guest continues to use) AP devices that no longer exist in the host configuration. The corrective upstream change replaces the return-value test with bitmap_intersects() to detect overlap with the removal mask, then calls bitmap_andnot() purely for its clearing side effect and unconditionally sets do_hotplug. No CWE is assigned in the supplied data; the root-cause class is a faulty control-flow/return-value assumption about a bitmap helper (in the family of 'incorrect check of function return value'), producing an improper-access-control/isolation outcome rather than a memory-safety defect.

Know when KVM gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 4.6 MEDIUM

Triggered only by privileged host AP-config removal (PR:H, AV:L); scope changes to the KVM guest (S:C) which retains bounded unauthorized crypto access (C:L/I:L); no availability/DoS impact (A:N).

3.1 AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N
4.0 AV:L/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
SUSE 8.4 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
Red Hat 7.0 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 16, 2026 - 15:22 NVD
8.8 (HIGH)
Patch available
Sep 16, 2026 - 11:03 EUVD
CVE Published
Sep 16, 2026 - 10:32 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 16, 2026 - 10:32 cve.org
HIGH 8.8

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

s390/vfio-ap: Fix hot-unplug skipped when last AP adapter or domain removed

The vfio_ap_mdev_hot_unplug_cfg() function uses the return value of bitmap_andnot() to determine whether the guest APCB needs to be updated. However, bitmap_andnot() returns false when the resulting destination bitmap is empty. This means that if the only adapter, domain or control domain assigned to an mdev is removed from the host's AP configuration, the bit is correctly cleared from the shadow APCB, but bitmap_andnot() returns false because the result is an empty bitmap. Consequently, do_hotplug remains 0 and vfio_ap_mdev_update_guest_apcb() is never called, leaving the KVM guest with stale hardware access to the unplugged AP devices.

Fix this by replacing the bitmap_andnot() return value check with bitmap_intersects() to determine whether the shadow APCB actually overlaps with the removal mask. If there is an intersection, call bitmap_andnot() solely for its side effect of clearing the bits, then unconditionally set do_hotplug to trigger the guest APCB update.

Executive ViewAI

Why It Matters

Organizations running Linux KVM guests on IBM Z (s390) with CEX crypto adapters configured for passthrough are affected by a high-severity vulnerability (CVE-2026-89957) that can prevent the proper revocation of cryptographic resources from guests. This could allow a guest to retain access to crypto adapters even after an administrator believes they have been unplugged, potentially exposing sensitive cryptographic operations or keys to unauthorized parties. While exploitation requires privileged host management access and no public exploit identified at time of analysis, leadership should ensure timely patching to maintain crypto isolation and regulatory compliance.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Rare
niche IBM Z (s390) mainframe AP crypto adapter passthrough to KVM guests
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in KVM

View all
CVE-2026-27211 CRITICAL
10.0 Feb 21

Arbitrary host file exfiltration from Cloud Hypervisor VMM versions 34.0-50.0. CVSS 10.0. Patch available.

CVE-2026-89930 CRITICAL
9.3 Sep 16

Incorrect handling of queued local TLB flushes in the Linux kernel's KVM nested-VMX (nVMX) implementation can leave stal

CVE-2026-89918 CRITICAL
9.3 Sep 16

Address-rollover bug in the Linux kernel's KVM/arm64 TLB-by-VA invalidation path causes the hypervisor to silently skip

CVE-2026-89916 CRITICAL
9.3 Sep 16

Race conditions in the arm64 KVM path that invalidates VNCR translations can leave a stale stage-1 TLB entry installed f

CVE-2026-89915 CRITICAL
9.3 Sep 16

Missed TLB invalidations in the arm64 KVM nested-virtualization path of the Linux kernel can leave stale translations fo

CVE-2026-89914 CRITICAL
9.3 Sep 16

Range-based TLB invalidation in the arm64 KVM hypervisor of the Linux kernel is computed against the wrong address range

CVE-2026-89913 HIGH
8.8 Sep 16

A use-after-free race in the arm64 KVM vGICv3 code path of the Linux kernel (vgic_v3_save_pending_tables) allows a local

CVE-2026-89959 HIGH
8.8 Sep 16

The s390 vfio-ap mediated device (mdev) driver in the Linux kernel fails to actually revoke crypto control-domain access

CVE-2026-89932 HIGH
8.8 Sep 16

Stale TLB entries can be reused by an L2 guest in the Linux kernel's KVM nested virtualization (nVMX) implementation on

CVE-2026-89929 HIGH
8.8 Sep 16

Linux kernel's KVM nested-VMX (nVMX) emulation can leave stale L2 guest TLB entries on a physical CPU, because KVM execu

CVE-2026-89908 HIGH
8.8 Sep 16

On LoongArch hosts running KVM, a memory-slot update that changes only flags (KVM_MR_FLAGS_ONLY, most notably toggling K

CVE-2026-89960 HIGH
8.8 Sep 16

A use-after-free (CWE-416) in the Linux kernel's s390/vfio-ap AP crypto passthrough driver allows a local attacker with

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy