<?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>Tue, 29 Sep 2026 03:31:49 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-31561 — x86/cpu: Remove X86_CR4_FRED from the CR4 pinned bits mask</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-31561</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;x86/cpu: Remove X86_CR4_FRED from the CR4 pinned bits mask&lt;/p&gt;
&lt;p&gt;Commit in Fixes added the FRED CR4 bit to the CR4 pinned bits mask so
that whenever something else modifies CR4, that bit remains set. Which
in itself is a perfectly fine idea.&lt;/p&gt;
&lt;p&gt;However, there&amp;#39;s an issue when during boot FRED is initialized: first on
the BSP and later on the APs. Thus, there&amp;#39;s a window in time when
exceptions cannot be handled.&lt;/p&gt;
&lt;p&gt;This becomes particularly nasty when running as SEV-{ES,SNP} or TDX
guests which, when they manage to trigger exceptions during that short
window described above, triple fault due to FRED MSRs not being set up
yet.&lt;/p&gt;
&lt;p&gt;See Link tag below for a much more detailed explanation of the
situation.&lt;/p&gt;
&lt;p&gt;So, as a result, the commit in that Link URL tried to address this
shortcoming by temporarily disabling CR4 pinning when an AP is not
online yet.&lt;/p&gt;
&lt;p&gt;However, that is a problem in itself because in this case, an attack on
the kernel needs to only modify the online bit - a single bit in RW
memory - and then disable CR4 pinning and then disable SM*P, leading to
more and worse things to happen to the system.&lt;/p&gt;
&lt;p&gt;So, instead, remove the FRED bit from the CR4 pinning mask, thus
obviating the need to temporarily disable CR4 pinning.&lt;/p&gt;
&lt;p&gt;If someone manages to disable FRED when poking at CR4, then
idt_invalidate() would make sure the system would crash&amp;#39;n&amp;#39;burn on the
first exception triggered, which is a much better outcome security-wise.&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;x86/cpu: Remove X86_CR4_FRED from the CR4 pinned bits mask&lt;/p&gt;
&lt;p&gt;Commit in Fixes added the FRED CR4 bit to the CR4 pinned bits mask so
that whenever something else modifies CR4, that bit remains set. Which
in itself is a perfectly fine idea.&lt;/p&gt;
&lt;p&gt;However, there&amp;#39;s an issue when during boot FRED is initialized: first on
the BSP and later on the APs. Thus, there&amp;#39;s a window in time when
exceptions cannot be handled.&lt;/p&gt;
&lt;p&gt;This becomes particularly nasty when running as SEV-{ES,SNP} or TDX
guests which, when they manage to trigger exceptions during that short
window described above, triple fault due to FRED MSRs not being set up
yet.&lt;/p&gt;
&lt;p&gt;See Link tag below for a much more detailed explanation of the
situation.&lt;/p&gt;
&lt;p&gt;So, as a result, the commit in that Link URL tried to address this
shortcoming by temporarily disabling CR4 pinning when an AP is not
online yet.&lt;/p&gt;
&lt;p&gt;However, that is a problem in itself because in this case, an attack on
the kernel needs to only modify the online bit - a single bit in RW
memory - and then disable CR4 pinning and then disable SM*P, leading to
more and worse things to happen to the system.&lt;/p&gt;
&lt;p&gt;So, instead, remove the FRED bit from the CR4 pinning mask, thus
obviating the need to temporarily disable CR4 pinning.&lt;/p&gt;
&lt;p&gt;If someone manages to disable FRED when poking at CR4, then
idt_invalidate() would make sure the system would crash&amp;#39;n&amp;#39;burn on the
first exception triggered, which is a much better outcome security-wise.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-31561</guid>
    </item>
  </channel>
</rss>
