CVE-2026-102713 in NetX Duoinformazioni

Riassunto

di VulDB • 29/09/2026

Il server TFTP accetta un datagramma DATA di qualsiasi dimensione. Il dispatcher rifiuta i datagrammi più corti di quattro byte (nxd_tftp_server.c:1037) e nessun controllo verifica un limite superiore, in particolare non rispetto al massimo del protocollo 4 + NX_TFTP_FILE_TRANSFER_MAX. Da questa mancanza di un singolo controllo derivano due conseguenze, entrambe raggiungibili prima di qualsiasi autenticazione poiché TFTP ne è priva.

Il gestore passa `nx_packet_length - 4` direttamente a FileX:

```c /* addons/tftp/nxd_tftp_server.c:1863, 1889 */ status = nx_packet_copy(packet_ptr, &temp_ptr, server_ptr -> nx_tftp_server_packet_pool_ptr, NX_WAIT_FOREVER);


...

fx_file_write(&(client_request_ptr -> nx_tftp_client_request_file), packet_ptr -> nx_packet_prepend_ptr + 4, packet_ptr -> nx_packet_length - 4); ```

`nx_packet_length` è la lunghezza di una catena (chain) e non di un singolo buffer contiguo; pertanto FileX copia oltre la fine del primo pacchetto:

``` ERROR: AddressSanitizer: heap-buffer-overflow READ of size 1280 at 0x621000001108 thread T5 #0 __interceptor_memcpy #1 _fx_utility_memory_copy filex/common/src/fx_utility_memory_copy.c:78

0x621000001108 is 0 bytes to the right of 4104-byte region ```

Questi byte vengono scritti nel file che l'attaccante sta caricando e una richiesta di lettura TFTP li restituisce; si tratta quindi di una disclosure della memoria con un canale di recupero agevole.

Lo stesso datagramma blocca anche il server. `nx_packet_copy` alla riga :1863 richiede ceil(nx_packet_length / pool_payload) pacchetti e li chiede utilizzando NX_WAIT_FOREVER; pertanto, quando l'attaccante dimensiona il datagramma oltre la capacità del pool, il thread del server si sospende senza mai restituire il controllo. Una sonda di disponibilità (liveness probe) dopo un tale datagramma va in timeout con il pool a 0 su 12 pacchetti e il thread del server sospeso, impedendo l'erogazione dei servizi ai successivi client.

Rifiutare `nx_packet_length > 4 + NX_TFTP_FILE_TRANSFER_MAX` nel ramo DATA prima di entrambe le chiamate e utilizzare un'attesa con limite temporale (bounded wait) anziché NX_WAIT_FOREVER per la copia.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

Eclipse

Prenotare

29/09/2026

Divulgazione

29/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!