CVE-2026-102713 in NetX Duo정보

요약

\~에 의해 VulDB • 2026. 09. 29.

TFTP 서버는 임의 크기의 DATA 데이터그램을 허용합니다. 디스패처(nxd_tftp_server.c:1037)는 4바이트보다 짧은 데이터그램은 거부하지만, 상한선은 어디에서도 검증되지 않습니다. 특히 프로토콜 최대 크기인 `4 + NX_TFTP_FILE_TRANSFER_MAX`와 비교하는 검사는 없습니다. 이러한 누락된 체크로 인해 두 가지 문제가 발생하며, TFTP에는 인증 메커니즘이 없으므로 이 모든 취약점은 인증 전에도 공격 가능합니다.

핸들러는 `nx_packet_length - 4`를 그대로 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`는 단일 연속 버퍼의 길이가 아닌 체인의 길이이므로, FileX는 첫 번째 패킷의 끝을 넘어 복사합니다:

``` 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 ```

이 바이트들은 공격자가 업로드하는 파일에 기록되며, TFTP 읽기 요청을 통해 다시 반환되므로 이는 편리한 검색 채널을 갖춘 메모리 누설(memory disclosure) 취약점입니다.

동일한 데이터그램은 서버를 고정(wedges)시킵니다. `nx_packet_copy`(1863번 라인)는 `ceil(nx_packet_length / pool_payload)`개의 패킷이 필요하며, 이를 위해 `NX_WAIT_FOREVER`로 요청합니다. 따라서 공격자가 데이터그램 크기를 풀(pool)이 수용할 수 있는 범위를 초과하도록 설정하면 서버 스레드가 차단되어 절대 반환되지 않습니다. 이러한 데이터그램 하나 이후 라이브니스 프로브(liveness probe)는 풀 상태가 12개 중 0개이고 서버 스레드가 차단된 상태에서 시간 초과되며, 그 후의 클라이언트는 처리되지 않습니다.

DATA 분기에서 두 호출 전에 `nx_packet_length > 4 + NX_TFTP_FILE_TRANSFER_MAX`인 경우 거부하고, 복사 작업 시에는 `NX_WAIT_FOREVER` 대신 제한된 대기(bounded wait)를 사용하십시오.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Eclipse

예약하다

2026. 09. 29.

모더레이션

수락

항목

VDB-411643

EPSS

0.00000

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!