A flaw was found in the KVM's AMD code for supporting SVM nested virtualization. The flaw occurs when processing the VMCB (virtual machine control block) provided by the L1 guest to spawn/handle a nested guest (L2). Due to improper validation of the "virt_ext" field, this issue could allow a malicious L1 to disable both VMLOAD/VMSAVE intercepts and VLS (Virtual VMLOAD/VMSAVE) for the L2 guest. As a result, the L2 guest would be allowed to read/write physical pages of the host, resulting in a crash of the entire system, leak of sensitive data or potential guest-to-host escape.
{
"versions": [
{
"introduced": "0"
},
{
"last_affected": "5.14-NA"
},
{
"introduced": "0"
},
{
"last_affected": "5.14-rc1"
},
{
"introduced": "0"
},
{
"last_affected": "5.14-rc2"
},
{
"introduced": "0"
},
{
"last_affected": "5.14-rc3"
},
{
"introduced": "0"
},
{
"last_affected": "5.14-rc4"
},
{
"introduced": "0"
},
{
"last_affected": "5.14-rc5"
},
{
"introduced": "0"
},
{
"last_affected": "5.14-rc6"
},
{
"introduced": "0"
},
{
"last_affected": "4.0"
}
]
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-3656.json"
[
{
"events": [
{
"introduced": "4.13"
},
{
"fixed": "4.14.245"
}
]
},
{
"events": [
{
"introduced": "4.15"
},
{
"fixed": "4.19.205"
}
]
},
{
"events": [
{
"introduced": "4.20"
},
{
"fixed": "5.4.142"
}
]
},
{
"events": [
{
"introduced": "5.5"
},
{
"fixed": "5.10.60"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.13.12"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "33"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "34"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "13"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.6"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.7"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.6"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.6"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.7"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.6"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.7"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "8.4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "7.0"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "2.0"
}
]
}
]
[
{
"signature_version": "v1",
"target": {
"file": "arch/x86/kvm/svm/nested.c",
"function": "recalc_intercepts"
},
"source": "https://github.com/torvalds/linux/commit/c7dfa4009965a9b2d7b329ee970eb8da0d32f0bc",
"deprecated": false,
"digest": {
"function_hash": "31934316547946372346811025309690440912",
"length": 761.0
},
"id": "CVE-2021-3656-9a342860",
"signature_type": "Function"
},
{
"signature_version": "v1",
"target": {
"file": "arch/x86/kvm/svm/nested.c"
},
"source": "https://github.com/torvalds/linux/commit/c7dfa4009965a9b2d7b329ee970eb8da0d32f0bc",
"deprecated": false,
"digest": {
"line_hashes": [
"74956749579414790742492764322725279414",
"332331082913088300830424822473597857861",
"121753095450480126802101197837449865233",
"67026202717944099078003122025279138760"
],
"threshold": 0.9
},
"id": "CVE-2021-3656-e38d23ad",
"signature_type": "Line"
}
]