<?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 04:46:26 +0000</lastBuildDate>
    <item>
      <title>CVE-2023-54137 — vfio/type1: fix cap_migration information leak</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2023-54137</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;vfio/type1: fix cap_migration information leak&lt;/p&gt;
&lt;p&gt;Fix an information leak where an uninitialized hole in struct
vfio_iommu_type1_info_cap_migration on the stack is exposed to userspace.&lt;/p&gt;
&lt;p&gt;The definition of struct vfio_iommu_type1_info_cap_migration contains a hole as
shown in this pahole(1) output:&lt;/p&gt;
&lt;p&gt;struct vfio_iommu_type1_info_cap_migration {
          struct vfio_info_cap_header header;              /*     0     8 */
          __u32                      flags;                /*     8     4 */&lt;/p&gt;
&lt;p&gt;/* XXX 4 bytes hole, try to pack */&lt;/p&gt;
&lt;p&gt;__u64                      pgsize_bitmap;        /*    16     8 */
          __u64                      max_dirty_bitmap_size; /*    24     8 */&lt;/p&gt;
&lt;p&gt;/* size: 32, cachelines: 1, members: 4 */
          /* sum members: 28, holes: 1, sum holes: 4 */
          /* last cacheline: 32 bytes */
  };&lt;/p&gt;
&lt;p&gt;The cap_mig variable is filled in without initializing the hole:&lt;/p&gt;
&lt;p&gt;static int vfio_iommu_migration_build_caps(struct vfio_iommu *iommu,
                         struct vfio_info_cap *caps)
  {
      struct vfio_iommu_type1_info_cap_migration cap_mig;&lt;/p&gt;
&lt;p&gt;cap_mig.header.id = VFIO_IOMMU_TYPE1_INFO_CAP_MIGRATION;
      cap_mig.header.version = 1;&lt;/p&gt;
&lt;p&gt;cap_mig.flags = 0;
      /* support minimum pgsize */
      cap_mig.pgsize_bitmap = (size_t)1 &amp;lt;&amp;lt; __ffs(iommu-&amp;gt;pgsize_bitmap);
      cap_mig.max_dirty_bitmap_size = DIRTY_BITMAP_SIZE_MAX;&lt;/p&gt;
&lt;p&gt;return vfio_info_add_…&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;vfio/type1: fix cap_migration information leak&lt;/p&gt;
&lt;p&gt;Fix an information leak where an uninitialized hole in struct
vfio_iommu_type1_info_cap_migration on the stack is exposed to userspace.&lt;/p&gt;
&lt;p&gt;The definition of struct vfio_iommu_type1_info_cap_migration contains a hole as
shown in this pahole(1) output:&lt;/p&gt;
&lt;p&gt;struct vfio_iommu_type1_info_cap_migration {
          struct vfio_info_cap_header header;              /*     0     8 */
          __u32                      flags;                /*     8     4 */&lt;/p&gt;
&lt;p&gt;/* XXX 4 bytes hole, try to pack */&lt;/p&gt;
&lt;p&gt;__u64                      pgsize_bitmap;        /*    16     8 */
          __u64                      max_dirty_bitmap_size; /*    24     8 */&lt;/p&gt;
&lt;p&gt;/* size: 32, cachelines: 1, members: 4 */
          /* sum members: 28, holes: 1, sum holes: 4 */
          /* last cacheline: 32 bytes */
  };&lt;/p&gt;
&lt;p&gt;The cap_mig variable is filled in without initializing the hole:&lt;/p&gt;
&lt;p&gt;static int vfio_iommu_migration_build_caps(struct vfio_iommu *iommu,
                         struct vfio_info_cap *caps)
  {
      struct vfio_iommu_type1_info_cap_migration cap_mig;&lt;/p&gt;
&lt;p&gt;cap_mig.header.id = VFIO_IOMMU_TYPE1_INFO_CAP_MIGRATION;
      cap_mig.header.version = 1;&lt;/p&gt;
&lt;p&gt;cap_mig.flags = 0;
      /* support minimum pgsize */
      cap_mig.pgsize_bitmap = (size_t)1 &amp;lt;&amp;lt; __ffs(iommu-&amp;gt;pgsize_bitmap);
      cap_mig.max_dirty_bitmap_size = DIRTY_BITMAP_SIZE_MAX;&lt;/p&gt;
&lt;p&gt;return vfio_info_add_…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2023-54137</guid>
    </item>
  </channel>
</rss>
