Cente IPv6

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

発行番号: 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 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に失敗していた。これを修正した。

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

リトルエンディアンCPU環境ではIGMPv3でマルチキャストグループに参加できない場合がある

発行番号: Cente001-0070
Rev: 第1版
発行日: 2021/04/09
題名: リトルエンディアンCPU環境ではIGMPv3でマルチキャストグループに参加できない場合がある

適用製品
・Cente TCP/IPv4 Ver.1.20 – Ver.1.37
・Cente TCP/IPv4 SNMPv2 Ver.2.00 – Ver.2.22
・Cente TCP/IPv4 SNMPv3 Ver.2.00 – Ver.2.22
・Cente IPv6 Ver.1.20 – Ver.1.46
・Cente IPv6 SNMPv2 Ver.2.00 – Ver.2.22
・Cente IPv6 SNMPv3 Ver.2.00 – Ver.2.22

【該当するユーザ環境】
リトルエンディアンCPU環境で上記適用製品を使用し、IGMPv3でマルチキャストグループに参加するというユーザ。
IGMPv1やIGMPv2で運用している場合は非該当です。

【障害内容】
マルチキャスト対応ルータからIGMPv3 Membership Queryを受信しても正しく解釈できず、マルチキャストグループに参加できない場合があります。
リトルエンディアンCPU環境でのIGMPv3パケット受信時のパース処理に不具合がありました。

【回避方法】
下記いずれかの方法で回避してください。
・IGMPv1もしくはIGMPv2での運用を行う。
・ミドルウェアのソースコードを修正する。
詳細については、営業担当またはsupport_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。

NUL終端のないリクエストでTFTPdが不正メモリアクセスする可能性がある

発行番号: Cente001-0069
Rev: 第1版
発行日: 2021/01/18
題名: NUL終端のないリクエストでTFTPdが不正メモリアクセスする可能性がある

適用製品
・Cente TCP/IPv4 Ver.1.00 – Ver.1.36
・Cente TCP/IPv4 SNMPv2 Ver.1.00 – Ver.2.22
・Cente TCP/IPv4 SNMPv3 Ver.2.00 – Ver.2.22
・Cente IPv6 Ver.1.00 – Ver.1.46
・Cente IPv6 SNMPv2 Ver.1.00 – Ver.2.22
・Cente IPv6 SNMPv3 Ver.2.00 – Ver.2.22

【該当するユーザ環境】
CenteミドルウェアのTFTPdが、ファイル名あるいはモード指定文字列にNUL終端(\0)がない不正なTFTPリクエストを受信する環境。

【障害内容】
CenteミドルウェアのTFTPdは、ファイル名とモード指定文字列のチェックが不十分でした。
このため、NUL終端がない不正なTFTPリクエストを受信した際、文字列処理でNUL終端を見つけるまで、受信データの有効範囲を超えてリード・ライトアクセスする可能性があります。
この不正メモリアクセスにより、例外の発生やプログラムの暴走の可能性があります。

【回避方法】
ミドルウェアのソースコードを修正し、リクエスト内容のチェックを強化します。
詳細については、営業担当またはsupport_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。

不正なDNS応答によって誤動作する可能性がある

発行番号: Cente001-0068
Rev: 第1版
発行日: 2020/12/21
題名: 不正なDNS応答によって誤動作する可能性がある

適用製品
・Cente TCP/IPv4 Ver.1.00 – Ver.1.36
・Cente TCP/IPv4 SNMPv2 Ver.1.00 – Ver.2.22
・Cente TCP/IPv4 SNMPv3 Ver.2.00 – Ver.2.22
・Cente IPv6 Ver.1.00 – Ver.1.46
・Cente IPv6 SNMPv2 Ver.1.00 – Ver.2.22
・Cente IPv6 SNMPv3 Ver.2.00 – Ver.2.22

【該当するユーザ環境】
以下の不正な応答を返すDNSサーバが存在する環境。
– 不正に短い応答をする。
– 偽装したIDで応答する。

【障害内容】
CenteミドルウェアのDNSクライアントは、DNSサーバの応答のチェックに不十分なところがありました。このため、不正に短い応答や、偽装したIDで応答された場合、以下のような誤動作の可能性があります。
– get_ipaddr(), get_ip6addr()が誤ったIPアドレスを返す。
– 不正なメモリ参照を行う。

【回避方法】
ミドルウェアのソースコードを修正し、応答のチェックを強化します。
詳細については、営業担当またはsupport_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。

TFTPcでアスキーモードが使用できない

発行番号: Cente001-0067
Rev: 第1版
発行日: 2020/07/27
題名: TFTPcでアスキーモードが使用できない

適用製品:
・Cente TCP/IPv4 Ver.1.00 – Ver.1.35
・Cente TCP/IPv4 SNMPv2 Ver.1.00 – Ver.2.22
・Cente TCP/IPv4 SNMPv3 Ver.2.00 – Ver.2.22
・Cente IPv6 Ver.1.00 – Ver.1.45
・Cente IPv6 SNMPv2 Ver.1.00 – Ver.2.22
・Cente IPv6 SNMPv3 Ver.2.00 – Ver.2.22

【該当するユーザ環境】
TFTPc(TFTPクライアント)でアスキー(netascii)モードを使用するユーザ。

【障害内容】
TFTPcの動作モードの指定に不具合がありました。tftpc_put(), tftpc_put_ip46(), tftpc_get(), tftpc_get_ip46()の各APIにTFTP_STATUS_ASCIIを渡すと、アスキーモード転送となるのが仕様ですが、バイナリ(octet)モードで動作していました。

【発生理由】
TFTPcのAPIへTFTP_STATUS_ASCIIを渡した場合、TFTPd(TFTPサーバ)へnetasciiモードを指定するのが正しい動作です。しかし、TFTPdへoctetモードを指定していました。

【回避方法】
ミドルウェアのソースコードを修正し、TFTPdへ正しいモードを指定するようにします。
詳細については、営業担当またはsupport_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。

SNMPのipAddressSpinLockのSET動作で値が変化しない

発行日: 2020/07/17
題名: SNMPのipAddressSpinLockのSET動作で値が変化しない

適用製品
・Cente TCP/IPv4 SNMPv2 Ver2.10 – Ver2.22
・Cente TCP/IPv4 SNMPv3 Ver2.10 – Ver2.22
・Cente IPv6 SNMPv2 Ver2.10 – Ver2.22
・Cente IPv6 SNMPv3 Ver2.10 – Ver2.22

【該当するユーザ環境】
SNMPでIP MIBのipAddressSpinLock (OID 1.3.6.1.2.1.4.33)へSETを実行するユーザ。

【障害内容】
ipAddressSpinLockはIP MIBに属する項目です。この項目はSNMPマネージャがこのテーブル内のエントリを生成または変更する際にアクセスし、SETする値と内部で保持している値が一致していた場合に1増加させてOKを返す仕様です。ところが、上記適用製品に記載のあるバージョンでは内部で保持している値が増加していませんでした。2回目以降のSETが失敗します。

【発生理由】
1増加させる処理の実装に誤りがありました。

【回避方法】
ソースコードを修正し、正しく値が増加するよう修正します。
修正箇所については、support_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。

tcp_con_cep()によるTCP発信時に接続相手からRSTを受信すると、まれにtcp_con_cep()から返らないことがある現象について

発行日: 2020/07/15
題名: tcp_con_cep()によるTCP発信時に接続相手からRSTを受信すると、まれにtcp_con_cep()から返らないことがある現象について
適用製品:
・Cente TCP/IPv4 Ver.1.12 – Ver.1.35
・Cente TCP/IPv4 SNMPv2 Ver.1.11 – Ver.2.22
・Cente TCP/IPv4 SNMPv3 Ver.2.00 – Ver.2.22
・Cente IPv6 Ver.1.11 – Ver.1.45
・Cente IPv6 SNMPv2 Ver.1.11 – Ver.2.22
・Cente IPv6 SNMPv3 Ver.2.00 – Ver.2.22

【該当するユーザ環境】
以下の条件のいずれかに該当するユーザ
・ユーザアプリケーションからtcp_con_cep()、tcp_con_cep_ip46()にてTCP発信する
・FTPc、HTTPcなど、CenteパッケージのアプリケーションにてTCP発信する
なお、ctconnect()でTCP発信しているユーザアプリケーションは非該当です。

【障害内容】
通信相手がTCP着信準備ができていない場合、TCP接続のためのSYN送信に対して、RST(着信拒否)が返ります。通常はそれによってtcp_con_cep()からE_CLSが返ります。しかし、通信品質が悪い環境などでRSTの受信とSYNの再送がほぼ同時に発生すると、まれにtcp_con_cep()から返らないことがありました。

【発生理由】
ある限定された条件下において、TCP送信タスクがセマフォを確保したまま処理を終了させていました。それによって、tcp_con_cep()がエラー終了するときのセマフォが確保待ちで停止していました。

【回避方法】
ソースコードの修正が必要です。
TCP送信タスクにおいて、不足していたセマフォ解放処理を追加します。
詳細については、営業担当またはsupport_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。

Page 1 of 8