<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-30T23:04:24.782880+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-102721</id>
    <title>fkie_cve-2026-102721</title>
    <updated>2026-09-30T23:04:25.150949+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p>A TFTP server that answers with a short ERROR packet makes the client read up to 64 bytes past the</p>
<p>received datagram.</p>
<p>Each receive path checks only that the datagram is at least four bytes long (nxd_tftp_client.c:1229,</p>
<p>1521, 1984). When the opcode is NX_TFTP_CODE_ERROR the message string is copied with a loop whose</p>
<p>only limits are the destination buffer and a NUL byte:</p>
<p>```c</p>
<p>/* addons/tftp/nxd_tftp_client.c:1769 */</p>
<p>for (i = 0; (i &lt; (sizeof(tftp_client_ptr -&gt; nx_tftp_client_error_string) - 1)) &amp;&amp; (*buffer_ptr); i++)</p>
<p>```</p>
<p>Nothing compares `buffer_ptr` against `nx_packet_append_ptr`. An ERROR packet that carries no</p>
<p>terminating NUL, which a server controls completely, walks the loop off the end of the packet until</p>
<p>it happens to meet a zero byte or fills the 64 byte destination.</p>
<p>```</p>
<p>ERROR: AddressSanitizer: heap-buffer-overflow</p>
<p>READ of size 1 at 0x60d0000000c8 thread T4</p>
<p>#0 _nxd_tftp_client_file_read  addons/tftp/nxd_tftp_client.c:1769</p>
<p>0x60d0000000c8 is 0 bytes to the right of 136-byte region</p>
<p>```</p>
<p>The open path has the same loop at :1327 and reports the same way. What is read lands in</p>
<p>`nx_tftp_client_error_string`, which the application is expected to display or log, so adjacent</p>
<p>packet pool memory ends up in whatever the device does with the error text.</p>
<p>Add `(buffer_ptr &lt; packet_ptr -&gt; nx_packet_append_ptr)` to the loop condition in all three paths.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-102721"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-5cxq-44w6-64mx</id>
    <title>GHSA-5cxq-44w6-64mx</title>
    <updated>2026-09-30T23:04:25.151206+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p>A TFTP server that answers with a short ERROR packet makes the client read up to 64 bytes past the</p>
<p>received datagram.</p>
<p>Each receive path checks only that the datagram is at least four bytes long (nxd_tftp_client.c:1229,</p>
<p>1521, 1984). When the opcode is NX_TFTP_CODE_ERROR the message string is copied with a loop whose</p>
<p>only limits are the destination buffer and a NUL byte:</p>
<p>```c</p>
<p>/* addons/tftp/nxd_tftp_client.c:1769 */</p>
<p>for (i = 0; (i &lt; (sizeof(tftp_client_ptr -&gt; nx_tftp_client_error_string) - 1)) &amp;&amp; (*buffer_ptr); i++)</p>
<p>```</p>
<p>Nothing compares `buffer_ptr` against `nx_packet_append_ptr`. An ERROR packet that carries no</p>
<p>terminating NUL, which a server controls completely, walks the loop off the end of the packet until</p>
<p>it happens to meet a zero byte or fills the 64 byte destination.</p>
<p>```</p>
<p>ERROR: AddressSanitizer: heap-buffer-overflow</p>
<p>READ of size 1 at 0x60d0000000c8 thread T4</p>
<p>#0 _nxd_tftp_client_file_read  addons/tftp/nxd_tftp_client.c:1769</p>
<p>0x60d0000000c8 is 0 bytes to the right of 136-byte region</p>
<p>```</p>
<p>The open path has the same loop at :1327 and reports the same way. What is read lands in</p>
<p>`nx_tftp_client_error_string`, which the application is expected to display or log, so adjacent</p>
<p>packet pool memory ends up in whatever the device does with the error text.</p>
<p>Add `(buffer_ptr &lt; packet_ptr -&gt; nx_packet_append_ptr)` to the loop condition in all three paths.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-5cxq-44w6-64mx"/>
  </entry>
</feed>
