CVE-2024-35791

NameCVE-2024-35791
DescriptionIn the Linux kernel, the following vulnerability has been resolved: KVM: SVM: Flush pages under kvm->lock to fix UAF in svm_register_enc_region() Do the cache flush of converted pages in svm_register_enc_region() before dropping kvm->lock to fix use-after-free issues where region and/or its array of pages could be freed by a different task, e.g. if userspace has __unregister_enc_region_locked() already queued up for the region. Note, the "obvious" alternative of using local variables doesn't fully resolve the bug, as region->pages is also dynamically allocated. I.e. the region structure itself would be fine, but region->pages could be freed. Flushing multiple pages under kvm->lock is unfortunate, but the entire flow is a rare slow path, and the manual flush is only needed on CPUs that lack coherency for encrypted memory.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3842-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
linux (PTS)bullseye5.10.218-1fixed
bullseye (security)5.10.221-1fixed
bookworm6.1.94-1fixed
bookworm (security)6.1.99-1fixed
trixie6.9.10-1fixed
sid6.9.11-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
linuxsourcebullseye5.10.216-1
linuxsourcebookworm6.1.85-1
linuxsource(unstable)6.7.12-1
linux-5.10sourcebuster5.10.216-1~deb10u1DLA-3842-1

Notes

https://git.kernel.org/linus/5ef1d8c1ddbf696e47b226e11888eaf8d9e8e807 (6.8)

Search for package or bug name: Reporting problems