<?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://cve.radiocsirt.org</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>Wed, 07 Oct 2026 04:38:55 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-89865 — scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-89865</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;scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers&lt;/p&gt;
&lt;p&gt;The FRU and I2C bsg handlers stage their transfer in a DMA_POOL_SIZE
(256-byte) bounce buffer obtained from dma_pool_alloc(), which does not
zero the allocation. They initialize only a few leading bytes before
handing the buffer to qla2x00_write_sfp().&lt;/p&gt;
&lt;p&gt;qla2x00_write_sfp() can override the transfer length with a user-supplied
value:&lt;/p&gt;
&lt;p&gt;if (len == 1)
		opt |= BIT_0;
	if (opt &amp;amp; BIT_0)
		len = *sfp;&lt;/p&gt;
&lt;p&gt;*sfp is the first byte of the (user-controlled) payload, so len can grow
up to 255. The device then DMA-reads len bytes from the 256-byte pool
buffer. Since only a small prefix was written
(e.g. MAX_FRU_SIZE == 36 bytes for a FRU version, one byte for a FRU
status register), the hardware reads past the initialized region and
writes up to ~219 bytes of stale DMA-pool heap memory to the device
flash.&lt;/p&gt;
&lt;p&gt;Allocate the buffer with dma_pool_zalloc() in all five FRU/I2C handlers
so any bytes beyond the initialized data are zero rather than stale heap
contents.&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;scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers&lt;/p&gt;
&lt;p&gt;The FRU and I2C bsg handlers stage their transfer in a DMA_POOL_SIZE
(256-byte) bounce buffer obtained from dma_pool_alloc(), which does not
zero the allocation. They initialize only a few leading bytes before
handing the buffer to qla2x00_write_sfp().&lt;/p&gt;
&lt;p&gt;qla2x00_write_sfp() can override the transfer length with a user-supplied
value:&lt;/p&gt;
&lt;p&gt;if (len == 1)
		opt |= BIT_0;
	if (opt &amp;amp; BIT_0)
		len = *sfp;&lt;/p&gt;
&lt;p&gt;*sfp is the first byte of the (user-controlled) payload, so len can grow
up to 255. The device then DMA-reads len bytes from the 256-byte pool
buffer. Since only a small prefix was written
(e.g. MAX_FRU_SIZE == 36 bytes for a FRU version, one byte for a FRU
status register), the hardware reads past the initialized region and
writes up to ~219 bytes of stale DMA-pool heap memory to the device
flash.&lt;/p&gt;
&lt;p&gt;Allocate the buffer with dma_pool_zalloc() in all five FRU/I2C handlers
so any bytes beyond the initialized data are zero rather than stale heap
contents.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-89865</guid>
    </item>
  </channel>
</rss>
