<?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://db.gcve.eu</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>Thu, 05 Nov 2026 19:34:56 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-99154 — scsi: libiscsi: Reject a negative task index from parse_pdu_itt</title>
      <link>https://db.gcve.eu/vuln/cve-2026-99154</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: libiscsi: Reject a negative task index from parse_pdu_itt&lt;/p&gt;
&lt;p&gt;A transport that implements parse_pdu_itt hands libiscsi an index taken
from the PDU, and both lookups bound it from above only:&lt;/p&gt;
&lt;p&gt;if (i &amp;gt;= session-&amp;gt;cmds_max)&lt;/p&gt;
&lt;p&gt;i and cmds_max are both int, so a negative index passes and
session-&amp;gt;cmds[i] is read from before the array.&lt;/p&gt;
&lt;p&gt;be2iscsi produces one. beiscsi_parse_pdu() assigns the raw tag,&lt;/p&gt;
&lt;p&gt;*index = (int)itt;&lt;/p&gt;
&lt;p&gt;and beiscsi_complete_pdu() forwards an unsolicited NOP-In from the
hardware async ring without replacing its ITT, so the value is the
target&amp;#39;s. It also reports the session&amp;#39;s own age rather than the one in
the tag, which leaves the age comparison in iscsi_verify_itt() with
nothing to reject.&lt;/p&gt;
&lt;p&gt;Bound the index from below in both lookups.&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: libiscsi: Reject a negative task index from parse_pdu_itt&lt;/p&gt;
&lt;p&gt;A transport that implements parse_pdu_itt hands libiscsi an index taken
from the PDU, and both lookups bound it from above only:&lt;/p&gt;
&lt;p&gt;if (i &amp;gt;= session-&amp;gt;cmds_max)&lt;/p&gt;
&lt;p&gt;i and cmds_max are both int, so a negative index passes and
session-&amp;gt;cmds[i] is read from before the array.&lt;/p&gt;
&lt;p&gt;be2iscsi produces one. beiscsi_parse_pdu() assigns the raw tag,&lt;/p&gt;
&lt;p&gt;*index = (int)itt;&lt;/p&gt;
&lt;p&gt;and beiscsi_complete_pdu() forwards an unsolicited NOP-In from the
hardware async ring without replacing its ITT, so the value is the
target&amp;#39;s. It also reports the session&amp;#39;s own age rather than the one in
the tag, which leaves the age comparison in iscsi_verify_itt() with
nothing to reject.&lt;/p&gt;
&lt;p&gt;Bound the index from below in both lookups.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-99154</guid>
    </item>
  </channel>
</rss>
