GHSA-CRQV-C33H-F779
Vulnerability from github – Published: 2026-09-16 12:30 – Updated: 2026-09-16 15:31In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Remove VM-wide VNCR mapping counter
The global VNCR mapping counter is used to decide whether an L1 provided VNCR page is mapped in L0 on any CPU at the point of dealing with a TLB invalidation. It is incremented when a mapping is made in the fixmap, and decremented when unmapped.
As it turns out, this tracking has several flaws:
-
we are trying to invalidate TLBs, and the mapping is only an opportunistic consequence of the TLB. Checking this counter to decide whether a TLB needs to be invalidated may result in missed invalidations.
-
an L1 vcpu invalidating its own TLB (a very likely case) will not succeed in invalidating the VNCR pseudo TLB because that page is not mapped in L0 at this stage.
Given that this tracking fails at delivering the minimum guarantees that are required and is only a performance optimisation, remove it completely.
{
"affected": [],
"aliases": [
"CVE-2026-89915"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-09-16T11:17:00Z",
"severity": "CRITICAL"
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: arm64: Remove VM-wide VNCR mapping counter\n\nThe global VNCR mapping counter is used to decide whether an L1\nprovided VNCR page is mapped in L0 on any CPU at the point of\ndealing with a TLB invalidation. It is incremented when a mapping\nis made in the fixmap, and decremented when unmapped.\n\nAs it turns out, this tracking has several flaws:\n\n- we are trying to invalidate TLBs, and the mapping is only an\n opportunistic consequence of the TLB. Checking this counter to\n decide whether a TLB needs to be invalidated may result in missed\n invalidations.\n\n- an L1 vcpu invalidating its own TLB (a very likely case) will not\n succeed in invalidating the VNCR pseudo TLB because that page is\n not mapped in L0 at this stage.\n\nGiven that this tracking fails at delivering the minimum guarantees\nthat are required and is only a performance optimisation, remove it\ncompletely.",
"id": "GHSA-crqv-c33h-f779",
"modified": "2026-09-16T15:31:02Z",
"published": "2026-09-16T12:30:41Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-89915"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/5453b85c7ebb605febac3df42021f9471663f051"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/87c2bbf189829dce4aaada8f82e3d54ccc037976"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/c55bc773b6e814406658fae7dc5c15f639ed816e"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.