CVE-2026-71254 in nanoMODBUS정보

요약

\~에 의해 VulDB • 2026. 08. 06.

nanoMODBUS v1.23.0 이전 버전은 nanomodbus.c의 Modbus 서버 측 handle_read_file_record() 함수(FC 0x14, Read File Record)에서 경계 밖 쓰기(out-of-bounds write) 취약점을 포함하고 있습니다. 이 함수는 총 요청 크기가 245바이트를 초과하지 않으며 각 하위 요청(sub-request)의 record_length가 최대 124임을 검증하지만, 처리하기 전에 모든 하위 요청에 걸친 누적 응답 크기(cumulative response size)는 검증하지 않습니다. accumulator인 response_data_size는 uint8_t로 선언되며, 최대 35개의 하위 요청 각각에 대해 2 + (record_length * 2)만큼 증가합니다. record_length가 124인 35개의 하위 요청의 경우 누적 요구량은 8750바이트가 되어 uint8_t accumulator를 오버플로우시킵니다. 이후 루프는 각 하위 요청마다 경계 검사(bound checking)가 없는 내부 함수인 get_n()을 호출하여 260바이트 크기의 msg.buf 수신 버퍼 내의 포인터를 획득하고, 호출당 최대 248바이트만큼 내부 buf_idx를 증가시킵니다. 그런 다음 swap_regs()는 해당 포인터에 조건 없이(unconditionally) 씁니다. 인증되지 않은 네트워크 클라이언트로부터 단일 조작된 FC 0x14 요청을 보내면 260바이트 버퍼를 넘어 최대 약 8,750바이트가 경계 밖으로 쓰여져 서버 프로세스의 인접 메모리를 손상시키고, 특히 메모리 보호 기능이 없는 임베디드/베이스 메탈(bare-metal) 타겟에서 서비스 거부(Denial of Service) 또는 잠재적 원격 코드 실행(RCE)을 초래할 수 있습니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

TuranSec

예약하다

2026. 08. 05.

모더레이션

수락

항목

VDB-386183

EPSS

0.00000

활동

낮음

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!