CVE-2026-74607
In the Linux kernel, the following vulnerability has been resolved:
KVM: SVM: Serialize accesses to the owner and mirror list with separate lock
Interaction between KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM and KVM_CAP_VM_COPY_ENC_CONTEXT_FROM can cause two separate issues:
The second issue needs particular care because the owner could disappear altogether (even though the race window is impossibly small) between reading it and locking it. There is thus no way to perform the checks under the owner lock without putting struct kvm under SLAB_TYPESAFE_BY_RCU (which would allow kvm_get_kvm_safe() under RCU critical section).
Leer descripción completaMostrar menos
It is much simpler to just use a global lock, since the critical sections are so small and the new lock is always a leaf lock.
Detalles técnicos trazas, registros y código del informe original
- in sev_migrate_from(), when the destination KVM is a mirror, the mirror entry is moved from the source's list to the owner's mirror_vms list, without holding the owner's lock unlike other writers of the owner's mirror list (sev_vm_copy_enc_context_from(), sev_vm_destroy()). A concurrent COPY or destroy can race with sev_migrate_from() and corrupt the list. - In sev_vm_destroy(), the *owner* is still active and could receive concurrently a KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM that causes sev->enc_context_owner to change. In this case the incorrect VM receives kvm_put_kvm().
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Puntuación base: 8.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.18%
- Percentil entre todas las CVEs puntuadas: 6
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1068Exploitation for Privilege Escalationprivilege escalation85 % - Impacto principal
T1499.004Application or System Exploitationimpact75 % - Impacto secundario
T1565.001Stored Data Manipulationimpact70 %
Vulnerabilidad de race condition en kernel Linux con acceso local (AV:L, PR:L) que permite escalada de privilegios y corrupción de memoria; impacta disponibilidad y integridad de datos.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
- https://git.kernel.org/stable/c/1d78d33275ef2a16c6d080910b291d0a97a0e613
- https://git.kernel.org/stable/c/28afde1edbd8b20058cbf4d75fb57876471ec334
- https://git.kernel.org/stable/c/328ab4fabe05af004d886659f8744076e320ddce
- https://git.kernel.org/stable/c/47976eaaf0a4eb46dade48b3246779090db9e3ec
- https://git.kernel.org/stable/c/7943ec3a6d0e7e0a2eb4943300bce089ac3e8c3e
- https://git.kernel.org/stable/c/d728baba0f20e49439fc7831bf3e4e7dee82161a
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-74607",
"cveTags": [],
"metrics": {
"cvssMetricV31": [
{
"type": "Secondary",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 6,
"exploitabilityScore": 2
}
]
},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "b2125513dfc0dd0ec5a9605138a3c356592cfb73",
"lessThan": "7943ec3a6d0e7e0a2eb4943300bce089ac3e8c3e",
"versionType": "git"
},
{
"status": "affected",
"version": "b2125513dfc0dd0ec5a9605138a3c356592cfb73",
"lessThan": "28afde1edbd8b20058cbf4d75fb57876471ec334",
"versionType": "git"
},
{
"status": "affected",
"version": "b2125513dfc0dd0ec5a9605138a3c356592cfb73",
"lessThan": "328ab4fabe05af004d886659f8744076e320ddce",
"versionType": "git"
},
{
"status": "affected",
"version": "b2125513dfc0dd0ec5a9605138a3c356592cfb73",
"lessThan": "47976eaaf0a4eb46dade48b3246779090db9e3ec",
"versionType": "git"
},
{
"status": "affected",
"version": "b2125513dfc0dd0ec5a9605138a3c356592cfb73",
"lessThan": "d728baba0f20e49439fc7831bf3e4e7dee82161a",
"versionType": "git"
},
{
"status": "affected",
"version": "b2125513dfc0dd0ec5a9605138a3c356592cfb73",
"lessThan": "1d78d33275ef2a16c6d080910b291d0a97a0e613",
"versionType": "git"
}
],
"programFiles": [
"arch/x86/kvm/svm/sev.c",
"arch/x86/kvm/svm/svm.h"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5.18"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "5.18",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.1.184",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.153",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.105",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.45",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver",
"lessThanOrEqual": "7.1.*"
},
{
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"arch/x86/kvm/svm/sev.c",
"arch/x86/kvm/svm/svm.h"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-08-22T16:16:33.183",
"references": [
{
"url": "https://git.kernel.org/stable/c/1d78d33275ef2a16c6d080910b291d0a97a0e613",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/28afde1edbd8b20058cbf4d75fb57876471ec334",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/328ab4fabe05af004d886659f8744076e320ddce",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/47976eaaf0a4eb46dade48b3246779090db9e3ec",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/7943ec3a6d0e7e0a2eb4943300bce089ac3e8c3e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d728baba0f20e49439fc7831bf3e4e7dee82161a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: SVM: Serialize accesses to the owner and mirror list with separate lock\n\nInteraction between KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM and\nKVM_CAP_VM_COPY_ENC_CONTEXT_FROM can cause two separate issues:\n\n- in sev_migrate_from(), when the destination KVM is a mirror, the mirror\n entry is moved from the source's list to the owner's mirror_vms list,\n without holding the owner's lock unlike other writers of the owner's\n mirror list (sev_vm_copy_enc_context_from(), sev_vm_destroy()).\n A concurrent COPY or destroy can race with sev_migrate_from() and\n corrupt the list.\n\n- In sev_vm_destroy(), the *owner* is still active and could receive\n concurrently a KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM that causes\n sev->enc_context_owner to change. In this case the incorrect VM\n receives kvm_put_kvm().\n\nThe second issue needs particular care because the owner could disappear\naltogether (even though the race window is impossibly small) between\nreading it and locking it. There is thus no way to perform the checks\nunder the owner lock without putting struct kvm under SLAB_TYPESAFE_BY_RCU\n(which would allow kvm_get_kvm_safe() under RCU critical section).\n\nIt is much simpler to just use a global lock, since the critical\nsections are so small and the new lock is always a leaf lock."
}
],
"lastModified": "2026-08-25T06:18:37.403",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}