CVE-2026-102713
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Serwer TFTP akceptuje datagram DATA o dowolnym rozmiarze. Dyspozytor odrzuca datagramy krótsze niż
cztery bajty (nxd_tftp_server.c:1037) i nic nigdzie nie sprawdza górnej granicy, w szczególności nie
w stosunku do protokołu maksymalnie 4 + NX_TFTP_FILE_TRANSFER_MAX. Z tego wynikają dwie rzeczy
brakujące sprawdzenie, oba osiągalne przed jakimkolwiek uwierzytelnieniem, ponieważ TFTP go nie posiada.
Procedura obsługi przekazuje `nx_packet_length - 4` bezpośrednio do FileX:
```c
/* dodatki/tftp/nxd_tftp_server.c:1863, 1889 */
status = nx_packet_copy(packet_ptr, &temp_ptr,
serwer_ptr -> nx_tftp_server_packet_pool_ptr, NX_WAIT_FOREVER);
...
fx_file_write(&(client_request_ptr -> nx_tftp_client_request_file),
pakiet_ptr -> nx_packet_prepend_ptr + 4,
pakiet_ptr -> nx_długość_pakietu - 4);
```
`nx_packet_length` to długość łańcucha, a nie jednego ciągłego bufora, więc FileX kopiuje poza
koniec pierwszego pakietu:
```
BŁĄD: AddressSanitizer: przepełnienie bufora sterty
ODCZYT rozmiaru 1280 pod gwintem 0x621000001108 T5
#0 __interceptor_memcpy
#1 _fx_utility_memory_copy filex/common/src/fx_utility_memory_copy.c:78
0x621000001108 to 0 bajtów na prawo od regionu 4104-bajtowego
```
Te bajty są zapisywane w pliku przesyłanym przez osobę atakującą i przekazywane są przez żądanie odczytu TFTP
wstecz, więc jest to ujawnienie pamięci z wygodnym kanałem wyszukiwania.
Ten sam datagram klinuje również serwer. `nx_packet_copy` w: 1863 potrzeb
ceil(nx_packet_length /pool_payload) pakiety i pyta o nie za pomocą NX_WAIT_FOREVER, więc gdy
atakujący przekracza rozmiar datagramu przekraczający wielkość puli, wątek serwera zawiesza się i nigdy
powraca. Sonda na żywo po przekroczeniu limitu czasu jednego takiego datagramu z pulą wynoszącą 0 z 12 pakietów i
wątek serwera zawieszony i żaden późniejszy klient nie jest obsługiwany.
Odrzuć `nx_packet_length > 4 + NX_TFTP_FILE_TRANSFER_MAX` w gałęzi DATA przed którymkolwiek wywołaniem,
i użyj ograniczonego oczekiwania zamiast NX_WAIT_FOREVER dla kopii.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org