<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 03 Oct 2026 05:36:58 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-72287 — KVM: nVMX: Move vTPR vs. TPR Threshold consistency check into "normal" checks</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-72287</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;KVM: nVMX: Move vTPR vs. TPR Threshold consistency check into &amp;#34;normal&amp;#34; checks&lt;/p&gt;
&lt;p&gt;Move the off-by-default consistency check for vmcs12.tpr_threshold vs.
the virtual APIC vTPR into the &amp;#34;normal&amp;#34; controls checks, as waiting until
KVM has loaded some amount of state is unnecessary and actively dangerous.
Specifically, failure to unwind vmcs01.GUEST_CR3 to KVM&amp;#39;s value when EPT
is disabled results in KVM running L1 with an L1-controlled CR3, not with
KVM&amp;#39;s CR3!&lt;/p&gt;
&lt;p&gt;Alternatively, KVM could simply reset the MMU to force a reload of
vmcs01.GUEST_CR3, but the _only_ reason the check was shoved into a &amp;#34;late&amp;#34;
flow was to wait until the vmcs12 pages were retrieved.  Rather than build
up more crusty code, simply access vTPR using a regular guest memory access
(performance isn&amp;#39;t a concern).  To circumvent the restrictions that led to
KVM deferring nested_get_vmcs12_pages(), (a) use a VM-scoped API to read
guest memory so that it always hits non-SMM memslots (for RSM), and (b)
skip the check (since its off-by-default anyways) when the vCPU doesn&amp;#39;t
want to run, i.e. when userspace is restoring/stuffing state.&lt;/p&gt;
&lt;p&gt;If reading guest memory fails, simply skip the consistency check, as KVM&amp;#39;s
de facto ABI is that VMX instruction accesses to non-existent memory get
PCI Bus Error semantics, where reads return 0xFFs.  And if vTPR=0xFF, then
the vTPR is guaranteed to be greater than or equal to TPR_THRESHOLD.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;KVM: nVMX: Move vTPR vs. TPR Threshold consistency check into &amp;#34;normal&amp;#34; checks&lt;/p&gt;
&lt;p&gt;Move the off-by-default consistency check for vmcs12.tpr_threshold vs.
the virtual APIC vTPR into the &amp;#34;normal&amp;#34; controls checks, as waiting until
KVM has loaded some amount of state is unnecessary and actively dangerous.
Specifically, failure to unwind vmcs01.GUEST_CR3 to KVM&amp;#39;s value when EPT
is disabled results in KVM running L1 with an L1-controlled CR3, not with
KVM&amp;#39;s CR3!&lt;/p&gt;
&lt;p&gt;Alternatively, KVM could simply reset the MMU to force a reload of
vmcs01.GUEST_CR3, but the _only_ reason the check was shoved into a &amp;#34;late&amp;#34;
flow was to wait until the vmcs12 pages were retrieved.  Rather than build
up more crusty code, simply access vTPR using a regular guest memory access
(performance isn&amp;#39;t a concern).  To circumvent the restrictions that led to
KVM deferring nested_get_vmcs12_pages(), (a) use a VM-scoped API to read
guest memory so that it always hits non-SMM memslots (for RSM), and (b)
skip the check (since its off-by-default anyways) when the vCPU doesn&amp;#39;t
want to run, i.e. when userspace is restoring/stuffing state.&lt;/p&gt;
&lt;p&gt;If reading guest memory fails, simply skip the consistency check, as KVM&amp;#39;s
de facto ABI is that VMX instruction accesses to non-existent memory get
PCI Bus Error semantics, where reads return 0xFFs.  And if vTPR=0xFF, then
the vTPR is guaranteed to be greater than or equal to TPR_THRESHOLD.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-72287</guid>
    </item>
  </channel>
</rss>
