<?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>Mon, 05 Oct 2026 12:57:41 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-43331 — x86/kexec: Disable KCOV instrumentation after load_segments()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-43331</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/kexec: Disable KCOV instrumentation after load_segments()&lt;/p&gt;
&lt;p&gt;The load_segments() function changes segment registers, invalidating GS base
(which KCOV relies on for per-cpu data). When CONFIG_KCOV is enabled, any
subsequent instrumented C code call (e.g. native_gdt_invalidate()) begins
crashing the kernel in an endless loop.&lt;/p&gt;
&lt;p&gt;To reproduce the problem, it&amp;#39;s sufficient to do kexec on a KCOV-instrumented
kernel:&lt;/p&gt;
&lt;p&gt;$ kexec -l /boot/otherKernel
  $ kexec -e&lt;/p&gt;
&lt;p&gt;The real-world context for this problem is enabling crash dump collection in
syzkaller. For this, the tool loads a panic kernel before fuzzing and then
calls makedumpfile after the panic. This workflow requires both CONFIG_KEXEC
and CONFIG_KCOV to be enabled simultaneously.&lt;/p&gt;
&lt;p&gt;Adding safeguards directly to the KCOV fast-path (__sanitizer_cov_trace_pc())
is also undesirable as it would introduce an extra performance overhead.&lt;/p&gt;
&lt;p&gt;Disabling instrumentation for the individual functions would be too fragile,
so disable KCOV instrumentation for the entire machine_kexec_64.c and
physaddr.c. If coverage-guided fuzzing ever needs these components in the
future, other approaches should be considered.&lt;/p&gt;
&lt;p&gt;The problem is not relevant for 32 bit kernels as CONFIG_KCOV is not supported
there.&lt;/p&gt;
&lt;p&gt;[ bp: Space out comment for better readability. ]&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/kexec: Disable KCOV instrumentation after load_segments()&lt;/p&gt;
&lt;p&gt;The load_segments() function changes segment registers, invalidating GS base
(which KCOV relies on for per-cpu data). When CONFIG_KCOV is enabled, any
subsequent instrumented C code call (e.g. native_gdt_invalidate()) begins
crashing the kernel in an endless loop.&lt;/p&gt;
&lt;p&gt;To reproduce the problem, it&amp;#39;s sufficient to do kexec on a KCOV-instrumented
kernel:&lt;/p&gt;
&lt;p&gt;$ kexec -l /boot/otherKernel
  $ kexec -e&lt;/p&gt;
&lt;p&gt;The real-world context for this problem is enabling crash dump collection in
syzkaller. For this, the tool loads a panic kernel before fuzzing and then
calls makedumpfile after the panic. This workflow requires both CONFIG_KEXEC
and CONFIG_KCOV to be enabled simultaneously.&lt;/p&gt;
&lt;p&gt;Adding safeguards directly to the KCOV fast-path (__sanitizer_cov_trace_pc())
is also undesirable as it would introduce an extra performance overhead.&lt;/p&gt;
&lt;p&gt;Disabling instrumentation for the individual functions would be too fragile,
so disable KCOV instrumentation for the entire machine_kexec_64.c and
physaddr.c. If coverage-guided fuzzing ever needs these components in the
future, other approaches should be considered.&lt;/p&gt;
&lt;p&gt;The problem is not relevant for 32 bit kernels as CONFIG_KCOV is not supported
there.&lt;/p&gt;
&lt;p&gt;[ bp: Space out comment for better readability. ]&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-43331</guid>
    </item>
  </channel>
</rss>
