Cente IPv6

【脆弱性情報】TCPで不正なMSSオプションを受信すると誤動作する可能性がある

発行番号: Cente001-0074
Rev: 第2版
発行日: 2025/02/12
題名: 【脆弱性情報】TCPで不正なMSSオプションを受信すると誤動作する可能性がある

適用製品
・Cente TCP/IPv4 Ver.1.51およびそれ以前
・Cente TCP/IPv4 SNMPv2 Ver.2.30およびそれ以前
・Cente TCP/IPv4 SNMPv3 Ver.2.30およびそれ以前
・Cente IPv6 Ver.1.60およびそれ以前
・Cente IPv6 SNMPv2 Ver.2.30およびそれ以前
・Cente IPv6 SNMPv3 Ver.2.30およびそれ以前

【該当するユーザ環境】
TCPで不正なMSSオプションを受信するユーザ環境。

【詳細】
TCPのMSSオプションは、「TCPで受信できる最大セグメントサイズ」を相手に通知します。
Centeミドルウェアは、MSSオプションが不正なときにMSSが負値となってしまう場合があり、そのMSSを送信してきた通信相手へのTCP送信処理で、不正なメモリにアクセスをします。
結果として、機器の動作が停止するなどの可能性があります。

【回避方法】
不正なMSSを無視するよう、ソースコードの改変が必要です。
修正箇所については、support_XXXatmarkXXX_cente.jpまでお問い合わせください(XXXatmarkXXXは@にしてください)。

以上。

TCPのハンドシェイクが完了しているにもかかわらずまれに着信に失敗する

発行番号: Cente001-0075
Rev: 第1版
発行日: 2025/01/31
題名: TCPのハンドシェイクが完了しているにもかかわらずまれに着信に失敗する

適用製品
・Cente TCP/IPv4 Ver.1.51およびそれ以前
・Cente TCP/IPv4 SNMPv2 Ver.2.30およびそれ以前
・Cente TCP/IPv4 SNMPv3 Ver.2.30およびそれ以前
・Cente IPv6 Ver.1.60およびそれ以前
・Cente IPv6 SNMPv2 Ver.2.30およびそれ以前
・Cente IPv6 SNMPv3 Ver.2.30およびそれ以前

【該当するユーザ環境】
接続要求待ち関数tcp_acp_cep()、tcp_acp_cep_ip46()をタイムアウト指定で使用しているユーザ。
・製品に同梱されているSSHdのサンプルプログラムは該当します。
・タイムアウトなし(TMO_FEVRを指定)で使用している場合は非該当です。
・BSDソケットAPIのTCP接続受け付け関数ctaccept()は非該当です。

【詳細】
通常、接続要求待ち関数を呼んだ状態で通信相手からの接続を受けるとハンドシェイクが完了した時点で関数から返ります。また、タイムアウトを指定してその時間までに通信相手からの接続を受信しなかった場合はタイムアウトエラーで関数から返ります。
しかし、上記適用製品では通信相手からの接続と関数のタイムアウトが同時に発生した場合、まれに通信相手に対してはハンドシェイク完了(接続成功)となり、関数からはタイムアウトエラーで返る、という不正な状態となっていました。
この状態では、通信相手は接続が完了してデータ通信をしようとしても、こちら側は接続状態となっていないため通信ができない状態となります。

【回避方法】
ソースコードの改変が必要です。
修正箇所については、support_XXXatmarkXXX_cente.jpまでお問い合わせください(XXXatmarkXXXは@にしてください)。

以上。

Cente TCP/IPv4

・Cente WiFi HaLow for MegaChipsを同梱
Cente WiFi HaLow for MegaChipsを同梱した。

UDP,TCPの送信元ポート番号などが予測可能である
(Cente障害情報: 001-0071)

以下のIDを、乱数から生成するように修正した。
・IPv4ヘッダのID
・DHCPのトランザクションID
・TCPのエフェメラルポート番号
・UDPのエフェメラルポート番号

DHCPc動作時、複数の機器に同一のIPv4アドレスが割り当たる可能性がある
(Cente障害情報: 001-0072)

複数の機器が一斉にDHCPcを実行した時、複数の機器に同一のIPv4アドレスが割り当たる可能性があった。これを修正した。

リンクアップ直後にリンクダウンが発生すると、その後リンクアップしても通信できなくなることがまれにある
(Cente障害情報: 001-0073)

リンクアップ直後にリンクダウンが発生すると、その後リンクアップしても通信できなくなることがまれにあった。これを修正した。

・その他
pingサンプルでデフォルトDNSを使用しないようにした。

リンクアップ直後にリンクダウンが発生すると、その後リンクアップしても通信できなくなることがまれにある

発行番号: Cente001-0073
Rev: 第1版
発行日: 2024/04/12
題名: リンクアップ直後にリンクダウンが発生すると、その後リンクアップしても通信できなくなることがまれにある

適用製品
・Cente TCP/IPv4 Ver.1.41およびそれ以前
・Cente TCP/IPv4 SNMPv2 Ver.2.30およびそれ以前
・Cente TCP/IPv4 SNMPv3 Ver.2.30およびそれ以前
・Cente IPv6 Ver.1.51およびそれ以前
・Cente IPv6 SNMPv2 Ver.2.30およびそれ以前
・Cente IPv6 SNMPv3 Ver.2.30およびそれ以前

【該当するユーザ環境】
Cente TCP/IPv4およびCente IPv6で、リンクアップ処理(elap_start()の呼び出し)とリンクダウン処理(elap_stop()の呼び出し)を別タスクから実行する環境が該当します。
ネットワークインタフェースにCente USB Host RNDIS、Cente USB Host CDC-ECMをお使いの場合はこれに該当します。
elap_start()とelap_stop()を同一タスクから実行する環境(CenteパッケージのBSPのLANドライバはこれにあたります)は非該当です。

【詳細】
Centeミドルウェアは、ネットワークのリンクアップ時にはelap_start()を、リンクダウン時にはelap_stop()を、デバイスドライバから実行するという仕様です。これらを別タスクから実行する構成の場合、リンクアップ直後にリンクダウンが発生すると、elap_start()実行中にelap_stop()が割り込む可能性があります。
elap_start()で内部変数のセット待ち処理があり、この待ち処理中にelap_stop()が割り込むと、セットされた変数がクリアされ(その後セットされることはない)、セット待ちが解除されずに、elap_start()からリターンしなくなることがあります。その後リンクダウン・アップが発生しても状態は復旧せず、通信ができなくなります。
elap_start()とelap_stop()を同一タスクから実行する環境では、elap_start()処理中にelap_stop()が割り込むことはないので、問題ありません。

【回避方法】
elap_start()の実行中にelap_stop()が割り込まれても問題なく処理できるよう、ソースコードの改変が必要です。
修正箇所については、support_XXXatmarkXXX_cente.jpまでお問い合わせください(XXXatmarkXXXは@にしてください)。

以上。

DHCPc動作時、複数の機器に同一のIPv4アドレスが割り当たる可能性がある

発行番号: Cente001-0072
Rev: 第1版
発行日: 2024/04/12
題名: DHCPc動作時、複数の機器に同一のIPv4アドレスが割り当たる可能性がある

適用製品
・Cente TCP/IPv4 Ver.1.41およびそれ以前
・Cente TCP/IPv4 SNMPv2 Ver.2.30およびそれ以前
・Cente TCP/IPv4 SNMPv3 Ver.2.30およびそれ以前
・Cente IPv6 Ver.1.51およびそれ以前
・Cente IPv6 SNMPv2 Ver.2.30およびそれ以前
・Cente IPv6 SNMPv3 Ver.2.30およびそれ以前

【該当するユーザ環境】
同一LAN上で、Cente TCP/IPv4およびCente IPv6含めた複数の機器が一斉にDHCPcにてIPv4アドレス取得を実行する環境。

【詳細】
CenteのDHCPcは、DHCPサーバからの応答が自分宛かどうかを、XIDのみで判断しています。
このため、電源一斉投入などで複数の機器が同時にDHCPを実行し、偶然自分のXIDが他機器のXIDと重複した場合、自分宛と誤認識して他機器向けのIPv4アドレスを自らに設定してしまいます。

【回避方法】
受信したDHCPパケットのCHADDRも自分宛か否かの判断に使用するよう、ソースコードの改変が必要です。
修正箇所については、support_XXXatmarkXXX_cente.jpまでお問い合わせください(XXXatmarkXXXは@にしてください)。

以上。

【脆弱性情報】UDP,TCPの送信元ポート番号などが予測可能である

発行番号: Cente001-0071
Rev: 第1版
発行日: 2024/04/01
題名: 【脆弱性情報】UDP,TCPの送信元ポート番号などが予測可能である

適用製品
・Cente TCP/IPv4 Ver.1.41およびそれ以前
・Cente TCP/IPv4 SNMPv2 Ver.2.30およびそれ以前
・Cente TCP/IPv4 SNMPv3 Ver.2.30およびそれ以前
・Cente IPv6 Ver.1.51およびそれ以前
・Cente IPv6 SNMPv2 Ver.2.30およびそれ以前
・Cente IPv6 SNMPv3 Ver.2.30およびそれ以前

【該当するユーザ環境】
Cente TCP/IPv4およびCente IPv6の全てのユーザ。

【詳細】
Cente TCP/IPv4では、以下の値が予測可能となっていました。

  • UDP,TCPの自動割り当てされる送信元ポート番号
  • DHCPv4のトランザクションID
  • IPv4ヘッダのID

予測された値を使用した第三者による通信妨害を受ける可能性があります。

【補足】
本情報はJVN(Japan Vulnerability Notes)サイトに公開済みです。
https://jvn.jp/vu/JVNVU94016877/index.html

【回避方法】
ソースコードの改変が必要です。
修正箇所については、support_XXXatmarkXXX_cente.jpまでお問い合わせください(XXXatmarkXXXは@にしてください)。

Cente TCP/IPv4 SNMPv3

・Cente TCP/IPv4 バージョンアップ
Cente TCP/IPv4 をVer.1.41にバージョンアップした。

・ボードサポートパッケージの変更
ボードサポートパッケージを以下の4機種とした。
・コンピューテックス社 CKB-RZ/A1H
・ルネサスエレクトロニクス社 RSK+RX65N
・ルネサスエレクトロニクス社 RSK+RX71M
・STマイクロエレクトロニクス社 STM32756G-EVAL

・SNMPのipAddressSpinLockのSET動作で値が変化しない(Cente障害情報:004-0010)
IP MIBのipAddressSpinLockのSET動作で1増加させる処理の実装に誤りがあり、2回目以降のSETに失敗していた。これを修正した。

・その他改善
実害はないが意味のないコードを修正した。
環境によってビルドエラーが発生するコードがあったので修正した。

Cente TCP/IPv4 SNMPv2

・Cente TCP/IPv4 バージョンアップ
Cente TCP/IPv4 をVer.1.41にバージョンアップした。

・ボードサポートパッケージの変更
ボードサポートパッケージを以下の4機種とした。
・コンピューテックス社 CKB-RZ/A1H
・ルネサスエレクトロニクス社 RSK+RX65N
・ルネサスエレクトロニクス社 RSK+RX71M
・STマイクロエレクトロニクス社 STM32756G-EVAL

・SNMPのipAddressSpinLockのSET動作で値が変化しない(Cente障害情報:004-0010)
IP MIBのipAddressSpinLockのSET動作で1増加させる処理の実装に誤りがあり、2回目以降のSETに失敗していた。これを修正した。

・その他改善
実害はないが意味のないコードを修正した。
環境によってビルドエラーが発生するコードがあったので修正した。

Cente TCP/IPv4

・SFTPdに対応
SSHファイル転送プロトコルに対応しました。

・FTPdで、LISTコマンドが正常動作しない場合があったのを修正した
FTPdで、ファイルの日付が不正な時(ファイルシステムが壊れている場合)、LISTコマンドが正常動作しない場合があったのを修正した。

・その他改善
環境によってはwarningが発生するコードがあったので修正した。

Page 1 of 12