<?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 01:27:51 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-21872 — efi: Don't map the entire mokvar table to determine its size</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-21872</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;efi: Don&amp;#39;t map the entire mokvar table to determine its size&lt;/p&gt;
&lt;p&gt;Currently, when validating the mokvar table, we (re)map the entire table
on each iteration of the loop, adding space as we discover new entries.
If the table grows over a certain size, this fails due to limitations of
early_memmap(), and we get a failure and traceback:&lt;/p&gt;
&lt;p&gt;------------[ cut here ]------------
  WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:139 __early_ioremap+0xef/0x220
  ...
  Call Trace:
   &amp;lt;TASK&amp;gt;
   ? __early_ioremap+0xef/0x220
   ? __warn.cold+0x93/0xfa
   ? __early_ioremap+0xef/0x220
   ? report_bug+0xff/0x140
   ? early_fixup_exception+0x5d/0xb0
   ? early_idt_handler_common+0x2f/0x3a
   ? __early_ioremap+0xef/0x220
   ? efi_mokvar_table_init+0xce/0x1d0
   ? setup_arch+0x864/0xc10
   ? start_kernel+0x6b/0xa10
   ? x86_64_start_reservations+0x24/0x30
   ? x86_64_start_kernel+0xed/0xf0
   ? common_startup_64+0x13e/0x141
   &amp;lt;/TASK&amp;gt;
  ---[ end trace 0000000000000000 ]---
  mokvar: Failed to map EFI MOKvar config table pa=0x7c4c3000, size=265187.&lt;/p&gt;
&lt;p&gt;Mapping the entire structure isn&amp;#39;t actually necessary, as we don&amp;#39;t ever
need more than one entry header mapped at once.&lt;/p&gt;
&lt;p&gt;Changes efi_mokvar_table_init() to only map each entry header, not the
entire table, when determining the table size.  Since we&amp;#39;re not mapping
any data past the variable name, it also changes the code to enforce
that each variable name is NUL terminated, rather than at…&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;efi: Don&amp;#39;t map the entire mokvar table to determine its size&lt;/p&gt;
&lt;p&gt;Currently, when validating the mokvar table, we (re)map the entire table
on each iteration of the loop, adding space as we discover new entries.
If the table grows over a certain size, this fails due to limitations of
early_memmap(), and we get a failure and traceback:&lt;/p&gt;
&lt;p&gt;------------[ cut here ]------------
  WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:139 __early_ioremap+0xef/0x220
  ...
  Call Trace:
   &amp;lt;TASK&amp;gt;
   ? __early_ioremap+0xef/0x220
   ? __warn.cold+0x93/0xfa
   ? __early_ioremap+0xef/0x220
   ? report_bug+0xff/0x140
   ? early_fixup_exception+0x5d/0xb0
   ? early_idt_handler_common+0x2f/0x3a
   ? __early_ioremap+0xef/0x220
   ? efi_mokvar_table_init+0xce/0x1d0
   ? setup_arch+0x864/0xc10
   ? start_kernel+0x6b/0xa10
   ? x86_64_start_reservations+0x24/0x30
   ? x86_64_start_kernel+0xed/0xf0
   ? common_startup_64+0x13e/0x141
   &amp;lt;/TASK&amp;gt;
  ---[ end trace 0000000000000000 ]---
  mokvar: Failed to map EFI MOKvar config table pa=0x7c4c3000, size=265187.&lt;/p&gt;
&lt;p&gt;Mapping the entire structure isn&amp;#39;t actually necessary, as we don&amp;#39;t ever
need more than one entry header mapped at once.&lt;/p&gt;
&lt;p&gt;Changes efi_mokvar_table_init() to only map each entry header, not the
entire table, when determining the table size.  Since we&amp;#39;re not mapping
any data past the variable name, it also changes the code to enforce
that each variable name is NUL terminated, rather than at…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-21872</guid>
    </item>
  </channel>
</rss>
