CVE-2026-71263 in FreeModbus
要約
〜によって VulDB • 2026年08月05日
FreeModbusのLINUXTCPポートには、xMBPortTCPPool() (demo/LINUXTCP/port/porttcp.c) に1バイト境界チェックのエラーが存在します。`if (usTCPFrameBytesLeft > MB_TCP_BUF_SIZE)` というチェックは、263バイトの `MB_TCP_BUF_SIZE` 制限に対して等号を含まない大なり比較を使用しており、本来は以上(greater-than-or-equal)であるべきです。Lengthフィールドが264のMBAPフレームでは、`usTCPFrameBytesLeft` が263となり、この欠陥のあるチェックを通過します。その後続する `recv()` 呼び出しにより、バッファオフセット7から始まる最大263バイトが263バイトの静的配列 `aucTCPBuf` に書き込まれ、隣接する静的変数 `usTCPBufPos` の領域に7バイトあふれます(オーバーフロー)。Modbusには組み込み認証がないため、単一の改ざんされた未認証のModbus TCPパケットでこのオーバーフローをトリガーできます。
If you want to get best quality of vulnerability data, you may have to visit VulDB.