<?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>Thu, 01 Oct 2026 16:13:11 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-43492 — lib/crypto: mpi: Fix integer underflow in mpi_read_raw_from_sgl()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-43492</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP, Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;lib/crypto: mpi: Fix integer underflow in mpi_read_raw_from_sgl()&lt;/p&gt;
&lt;p&gt;Yiming reports an integer underflow in mpi_read_raw_from_sgl() when
subtracting &amp;#34;lzeros&amp;#34; from the unsigned &amp;#34;nbytes&amp;#34;.&lt;/p&gt;
&lt;p&gt;For this to happen, the scatterlist &amp;#34;sgl&amp;#34; needs to occupy more bytes
than the &amp;#34;nbytes&amp;#34; parameter and the first &amp;#34;nbytes + 1&amp;#34; bytes of the
scatterlist must be zero.  Under these conditions, the while loop
iterating over the scatterlist will count more zeroes than &amp;#34;nbytes&amp;#34;,
subtract the number of zeroes from &amp;#34;nbytes&amp;#34; and cause the underflow.&lt;/p&gt;
&lt;p&gt;When commit 2d4d1eea540b (&amp;#34;lib/mpi: Add mpi sgl helpers&amp;#34;) originally
introduced the bug, it couldn&amp;#39;t be triggered because all callers of
mpi_read_raw_from_sgl() passed a scatterlist whose length was equal to
&amp;#34;nbytes&amp;#34;.&lt;/p&gt;
&lt;p&gt;However since commit 63ba4d67594a (&amp;#34;KEYS: asymmetric: Use new crypto
interface without scatterlists&amp;#34;), the underflow can now actually be
triggered.  When invoking a KEYCTL_PKEY_ENCRYPT system call with a
larger &amp;#34;out_len&amp;#34; than &amp;#34;in_len&amp;#34; and filling the &amp;#34;in&amp;#34; buffer with zeroes,
crypto_akcipher_sync_prep() will create an all-zero scatterlist used for
both the &amp;#34;src&amp;#34; and &amp;#34;dst&amp;#34; member of struct akcipher_request and thereby
fulfil the conditions to trigger the bug:&lt;/p&gt;
&lt;p&gt;sys_keyctl()
    keyctl_pkey_e_d_s()
      asymmetric_key_eds_op()
        software_key_eds_op()
          crypto_akcipher_sync_encrypt()
            crypto_akcipher_sync_prep()
              crypto_akcipher_encrypt()…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP, Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;lib/crypto: mpi: Fix integer underflow in mpi_read_raw_from_sgl()&lt;/p&gt;
&lt;p&gt;Yiming reports an integer underflow in mpi_read_raw_from_sgl() when
subtracting &amp;#34;lzeros&amp;#34; from the unsigned &amp;#34;nbytes&amp;#34;.&lt;/p&gt;
&lt;p&gt;For this to happen, the scatterlist &amp;#34;sgl&amp;#34; needs to occupy more bytes
than the &amp;#34;nbytes&amp;#34; parameter and the first &amp;#34;nbytes + 1&amp;#34; bytes of the
scatterlist must be zero.  Under these conditions, the while loop
iterating over the scatterlist will count more zeroes than &amp;#34;nbytes&amp;#34;,
subtract the number of zeroes from &amp;#34;nbytes&amp;#34; and cause the underflow.&lt;/p&gt;
&lt;p&gt;When commit 2d4d1eea540b (&amp;#34;lib/mpi: Add mpi sgl helpers&amp;#34;) originally
introduced the bug, it couldn&amp;#39;t be triggered because all callers of
mpi_read_raw_from_sgl() passed a scatterlist whose length was equal to
&amp;#34;nbytes&amp;#34;.&lt;/p&gt;
&lt;p&gt;However since commit 63ba4d67594a (&amp;#34;KEYS: asymmetric: Use new crypto
interface without scatterlists&amp;#34;), the underflow can now actually be
triggered.  When invoking a KEYCTL_PKEY_ENCRYPT system call with a
larger &amp;#34;out_len&amp;#34; than &amp;#34;in_len&amp;#34; and filling the &amp;#34;in&amp;#34; buffer with zeroes,
crypto_akcipher_sync_prep() will create an all-zero scatterlist used for
both the &amp;#34;src&amp;#34; and &amp;#34;dst&amp;#34; member of struct akcipher_request and thereby
fulfil the conditions to trigger the bug:&lt;/p&gt;
&lt;p&gt;sys_keyctl()
    keyctl_pkey_e_d_s()
      asymmetric_key_eds_op()
        software_key_eds_op()
          crypto_akcipher_sync_encrypt()
            crypto_akcipher_sync_prep()
              crypto_akcipher_encrypt()…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-43492</guid>
    </item>
  </channel>
</rss>
