openSUSEセキュリティ更新プログラム:strongswan(openSUSE-2020-403)

high Nessus プラグイン ID 135007

Language:

概要

リモートのopenSUSEホストに、セキュリティ更新プログラムがありません。

説明

このstrongswanの更新では、次の問題を修正します:

strongswanがバージョン5.8.2に更新しました (jsc#SLE-11370)。

修正されたセキュリティ問題:

- CVE-2018-6459:不十分な入力検証によって生じていたPKCS#1 RSASSA-PSS署名パーサーにおけるDoSの脆弱性を修正しました(bsc#1079548)。

完全な変更ログ:

バージョン 5.8.2

- リモートピアの証明書チェーンに特定のIDを持つCA証明書が含まれることを強制する、IDベースのCA制約がvici/swanctl.confを介してサポートされます。これは、既存のCA制約に似ていますが、ピアから受信した中間CA証明書などのCA証明書がローカルにインストールされている必要はありません。ワイルドカードのID照合(..., OU=Research, CN=*など)も後者に使用できますが、正当なサブジェクトDNを持つ証明書のみを発行するためには中間CAの信頼が必要です(例:'Sales' CAはOU=Researchで証明書を発行しないようにする必要があります)。長さがパス長と同じである必要はないという新しい制約を含む基本制約(pki --issue用の--pathlen)によって、さらに中間CAを発行する必要がなくなります。

- 中間CA証明書は、親CA用のベースURLを構成することで、hash-and-URLエンコーディングで送信できるようになりました(#3234、swanctl/rw-hash-and-url-multi-level)。

- AES-CTRモードとSHA2-HMACモードに基づくNIST SP-800-90A決定論的乱数生成器(DRBG)を実装しました。
現在は、gmpプラグインとntruプラグインで使用されています。

- OCSPリクエストで送信されたランダムノンスは、対応するOCSPレスポンスで期待されるようになりました。

- kernel-netlinkプラグインは、MOBIKE用の廃止されたIPv6アドレスを無視するようになりました。一時的または恒久的なIPv6アドレスのどちらを含めるかが、charon.prefer_temporary_addrs設定に依存するようになりました(#3192)。

- 拡張シーケンス番号(ESN)が、カーネルでサポートされている場合に、PF_KEYを介して構成されます。

- カーネルが送信するメッセージの多くがブロードキャストとしてすべてのPF_KEYソケットに送信されるため、kernel-pfkeyプラグイン内のPF_KEYソケットの受信バッファが、リクエストを送信する前にクリアされるようになりました。IPsecに関係のないSA/ポリシーを管理するために外部ツールが使用される場合は、これが問題になります(#3225)。

- viciプラグインは、child-updownイベント内のCHILD_SAsに一意のセクション名を使用するようになりました(7c74ce9190)。

- 個別に削除されたCHILD_SA(特にIKEv1の場合)に対して、viciの子アップダウンイベントに、トラフィック統計などのCHILD_SAに関する詳細情報が含まれるようになりました(#3198)。

- ストロークログレベルを介してログレベルが変更された場合は、カスタムロガーが正しく再登録されます(#3182)。

- OpenSSL 1.1.1の使用時の低エントロピーシステム上の起動中のロックアップを回避します(095a2c2eac)。

- 基礎となるハッシュアルゴリズム(FIPSモードのMD5など)がサポートされていない場合は、後でキーの設定時に失敗するのではなく、opensslプラグイン経由のHMACの作成が即座に失敗するようになったため、他のプラグインへのフォールバックが正しく機能します(#3284)。

- SAPIを介してTPM 2.0から読み取られたRSAキーの指数が正しく変換されます(8ee1242f1438)。

- Linux上のカスタムルートで、255を超えるルーティングテーブルIDがサポートされます。

- 競合を回避するために、kernel-netlinkプラグイン内のハードウェアオフロードサポートのチェックが、プラグインの初期化中に実行されます(a605452c03)。

- charon-nm用のD-Bus configファイルが、システム管理者のオーバーライドを想定して、$(sysconfdir)/dbus-1/system.dではなく、$(datadir)/dbus-1/system.dにインストールされるようになりました。INVALID_MAJOR_VERSION通知が、リクエストと同じ交換タイプで、リクエストと同じメッセージIDのメッセージで正しく送信されるようになりました。

- 認証されたメッセージでINVALID_SYNTAX通知が送受信されたときに、IKEv2 SAが即座に破棄されるようになりました。

- リポジトリから作業している開発者のために、GNU gperfが見つからない場合は、構成スクリプトが中止するようになりました。

バージョン 5.8.1

- X.509証明書のDN内のRDNが、より厳密でない条件で任意に一致するようになりました。グローバルなstrongswan.confオプションのcharon.rdn_matchingは2つの代替値を取ります。これにより、照合アルゴリズムは、一致したRDNの順序を無視する(並べ替えられる)か、設定よりも多くのRDNを含むDNを追加で受け入れます(緩和される)(一致しないRDNは、ワイルドカードの一致として扱われます)。

- updownプラグインは、自動的にインストールされるルートにも使用される同じインターフェイスをインターフェイスに渡します。つまり、ローカルアドレスが見つかったインターフェイスの代わりに、ピアが到達するインターフェイスでした(#3095)。

- 複数のIKE_SAが同じ秘密キーを同時に使用する場合の問題を防ぐために、TPM 2.0コンテキストがmutexによって保護されるようになりました(4b25885025)。

- 3つ目のQMメッセージが受信された後に、キー再生成チェックを行います(#3060)。

- 利用可能な場合は、explicit_bzero()が、独自の実装の代わりにmemwipe()として使用されるようになりました。

- 主に、Githubが適切なインデントでファイルを表示するように、.editorconfigファイルが追加されました(68346b6962)。

- load-testerプラグインの内部証明書が変更され、5.6.3以降のend-entity証明書として再び使用できるようになりました(#3139)。

- 受信したCOOKIE通知の最大データ長(64バイト)が強制されるようになりました(#3160)。

バージョン 5.8.0

- systemdサービスユニットの名前が変更されました。strongswan-swanctlと呼ばれていた最新のユニットが、strongswanと呼ばれるようになりました(以前の名前はユニット内のエイリアスとして構成され、ユニットが有効になったときにシンボリックリンクが作成されます)。レガシーユニットは、strongswan-starterと呼ばれるようになりました。

- VTIデバイスを置き換えることを目的とした、XFRMインターフェイス(Linux 4.19以降で利用可能)のサポートが追加されました(これらは似ていますが、アドレスまたはアドレスファミリーにバインドされないなど、いくつかのメリットがあります)。

- IPsec SAおよびポリシーは、swanctl.confで構成可能なインターフェイスIDを介して、このようなインターフェイスに関連付けられます(動的IDは、SAや方向ごとにオプションで割り当てることができます)。受信トラフィックと送信トラフィックに別々のインターフェイスを使用することができます(または、あるインターフェイスをある方向に使用し、通常のポリシーを別の方向に使用します)。

- インターフェイスは、updown/viciスクリプトで動的に作成することも、SAの確立前後に静的に作成することもできます。必要に応じてルートを手動で追加する必要があります(デーモンはインターフェイスIDを持つアウトバウンドポリシー用のルートをインストールしません)。

- XFRMインターフェイスを他のネットワーク名前空間に移動する場合は、オリジナルの名前空間にインストールされているSAとポリシーへのアクセスが保持されます。これにより、IPsecキーまたはIKE認証情報へのアクセス権を付与しなくても、他のネットワーク名前空間内のプロセスにIPsecトンネルを提供することができます。詳細情報については、ルートベースのVPNに関するページを参照してください。

- 子のないIKE_SAの開始がサポートされます(RFC 6023)。
応答者によって有効にされ、サポートされている場合は、どのCHILD_SAもIKE_AUTH中に確立されません。代わりに、すべてのCHILD_SAがCREATE_CHILD_SA交換で作成されます。これにより、最初のCHILD_SAにも別のDH交換を使用できます。このCHILD_SAは、IKE_SAのキーマテリアルから派生したキーを使用してIKE_AUTH中に作成されます。

- --childが省略され、ピアがこの拡張機能をサポートしている場合は、swanctl --initiateコマンドを使用して、--ikeオプションを介してIKE_SAのみを開始できます。

- NetworkManagerバックエンドおよびプラグインがIPv6をサポートします。

- 新しいwolfsslプラグインは、wolfSSL cryptoライブラリのラッパーです。wolfSSL Inc.のSean Parkinson氏に
を最初のパッチに対して感謝の意を表します。

- IKE SPIは、オプションで、strongswan.conf内のcharon.spi_mask|labelオプションを介してラベルを付けることができます。この機能は、charon-tkmから抽出されましたが、現在はネットワーク順でマスク/ラベルを適用します。

- OpenSSLを使用してビルドされた場合は、opensslプラグインがChaCha20-Poly1305をサポートします 1.1.0。

- CRETRYまたはSRETRYのいずれかのバッチを送信するときに、RFC 5793のセクション3.2に記載されているPB-TNC有限状態マシンが正しく実装されませんでした。これらのバッチは「Decided」状態でのみ送信でき、CRETRYバッチは、通常、CDATAバッチによって転送されるすべてのメッセージを即座に伝送できます。PT-TLS転送用の全二重モードがサポートされていないため、今はSRETRYバッチを送信することができません。

- IPv6仮想IPを廃止としてマークする代わりに、kernel-netlinkプラグインがアドレスラベルを使用して、このようなアドレスが非VPNトラフィックに使用されることを回避するようになりました(00a953d090)。

- エージェントプラグインが、ssh/gpg-agentへのソケットを動的に作成し、ソケットを開いたままにしないようになりました。そうしないと、エージェントの終了が妨げられる可能性があります。

- ブロードキャストループを回避するために、予測プラグインが、マークされたパケットまたは構成済みのインターフェイスから受信したパケットのみを再挿入するようになりました。

- UTF-8でエンコードされたパスワードが、NTハッシュを計算するために内部でUTF-16LEエンコーディングを使用するEAP-MSCHAPv2を介してサポートされています(#3014)。

- 5.6.2以降で破損した手動の優先度が使用されている場合に、一時ドロップポリシー(SAのIPアドレスの更新時に使用される)を適切に削除します(8e31d65730)。

- viciプラグインの無活動タイムアウトを解析する場合に、start_actionの上書きを回避します(#2954)。

- start_action=startでリロードされたvici接続の自動終了を修正しました。これは、5.6.3以来破損していました(71b22c250f)。

- sqlプラグインを介したIKEv1 SAの共有シークレットの検索は、より適切に機能するようになりました(6ec9f68f32)。

- ポリシーのインストールと削除間のトラップマネージャー内の競合状態を修正しました(69cbe2ca3f)。

- starterでのIPsecスタック検出とモジュールのロードが削除されました(強制されていたわけでもなく、モジュールのロードの必要性もないように思われます。また、KLIPSは長期間サポートされておらず、PF_KEYは最終的にLinuxカーネルから削除される予定です、ba817d2917)。

- いくつかのIKEv2プロトコルの詳細が、より厳格に処理されるようになりました:リクエストされていない仮想IPは無視され、CFG_REQUESTペイロードが送信されなかった場合はCFG_REPLYペイロードが無視され、応答者から受信したUSETRANSPORT_MODE通知がローカル構成に対してチェックされます。

- テスト環境内のシナリオで使用されるキーと証明書が、動的に生成されるようになりました。
ベースイメージとrootイメージの作成後にtesting/scripts/build-certsスクリプトを実行すると、後者にインストールされているpkiユーティリティが使用され、すべてのCAと場合によっては個々のシナリオのキーと証明書が作成されます。これらの認証情報は、イメージではなくソースツリーに保存されるため、イメージが後で再ビルドされる場合でも、これを一度だけ呼び出す必要があります。このスクリプトは、新しいCRLを生成し、DNSゾーンに署名するため、ゲストイメージを自動的に再ビルドします。現在生成されないキー/証明書は、ikev2/rw-eap-tls-fragmentsシナリオで使用される非常に大きなキー/証明書のみです。

バージョン 5.7.2

- PSSパディングを使用したRSAの場合は、TPM 2.0仕様によって最大ソルト長(キーとハッシュの長さで定義)が規定されています。ただし、TPMがFIPS-168-4に準拠している場合は、ソルト長がハッシュ長と一致します。これは、FIPS-140-2準拠のTPMに対して想定されていますが、当てはまらない場合は、TPMが最大ソルト長を使用しない場合に、charon.plugins.tpm.fips_186_4を手動で有効にする必要があります。

- swanctlによってロードされる認証情報用のディレクトリが、
--file引数を介してカスタムロケーションからロードされる場合に、ロードされたswanctl.confファイルに相対してアクセスされるようになりました。

- swanctl.confのカスタムロケーションが指定されていない場合に使用されるベースディレクトリも、SWANCTL_DIR環境変数を介してランタイム時に構成できるようになりました。

- RADIUSアカウンティングが有効な場合は、eap-radiusプラグインが、セッションID(Acct-Session-Id)をAccess-Requestメッセージに追加します。これにより、たとえば、IPリースとアカウンティングのデータベースエントリとセッションの関連付けが簡略化されます(IKE_SAがキー更新されてもセッションIDは変わりません、#2853)。

- クライアントが要求していない場合でも、RADIUSサーバーによって割り当てられたすべてのIPアドレスがAccounting-Stopメッセージに含まれます。これにより、接続エラーが発生した場合にそれらを早期に解放できます(#2856)。

- IPアドレスが変更され(MOBIKEを介してなど)、それがセレクターの一部であった場合は、kernel-netlinkプラグインによって転送モードSAにインストールされたセレクターが更新されるようになりました。

- キー更新されたCHILD_SAの有効期限が切れた場合に、deleteが送信されなくなりました(#2815)。

- bypass-lanプラグインがインターフェイスを追跡して、インターフェイス間を移動するサブネットを処理し、関連するルートを適切に更新するようになりました(#2820)。

- 有効で想定されたインバウンドIKEv2メッセージのみが、最後に受信されたメッセージのタイムスタンプを更新するために使用されます(以前は、再送信も更新をトリガーしていました)。

- IKE_SAが完全に確立されるまで、レスポンダーからのIKEv2リクエストは無視されます(例:IKE_AUTH応答が到着する前にピアからのDPDリクエストが到着した場合、46bea1add9)。すでに受信済みのCOOKIE通知を伴うIKE_SA_INITレスポンスの遅延が無視されます。以前は、IKE_SAの別のリセットを引き起こしていました(#2837)。

- 多数のCHILD_SAの作成中にピアがIKEv1 SAを再認証する場合に、アクティブでキューに入っているクイックモードタスクが採用されるようになりました。

- 新しいバージョンのFreeBSDカーネルは、SADB_X_EXT_SA2拡張をSADB_ACQUIREメッセージに追加します。これにより、過去にデーモンによってインストールされていない場合でもkernel-pfkeyプラグインがポリシーのreqidを判断することができます(ポリシーを自動的にインストールするFreeBSDのif_ipsec(4) VTIを使用する場合など、872b9b3e8d)。

- SHA-256とSHA-512を使用したRSA署名のサポートをエージェントプラグインに追加しました。SHA-1のみをサポートするssh/gpg-agentの古いバージョンの場合は、IKEv2署名認証をcharon.signature_authenticationを介して無効にする必要があります。

- sshkeyプラグインとエージェントプラグインは、Ed25519 / Ed448 SSHの鍵および署名をサポートします。

- opensslプラグインは、OpenSSL 1.1.1に対してビルドされた場合に、 X25519/X448ディフィー・ヘルマンとEd25519/Ed448のキーと署名をサポートします。

- Ed25519、ChaCha20/Poly1305、SHA-3、およびAES-CCMのサポートが、botanプラグインに追加されました。

- mysqlプラグインが、高負荷のトランザクションを伴うデータベース接続を適切に処理するようになりました(#2779)。

- haプール内のIPアドレスが、すべてのセグメントに均等に分散されるようになりました(#2828)。

- 秘密キーの実装が、オプションで、サポートされている署名スキームのリストを提供することがあります。これは、前述したように、TPM 2.0上のキーごとにハッシュアルゴリズムが事前に定義され、RSAにはパディングスキームも事前に定義されているため、tpmプラグインで使用されます。

- テスト環境が、デフォルトでDebian 9(stretch)に基づくようになりました。これには、FreeRADIUS 3.xへの更新(TNC@FHHのパッチとシナリオを放棄するように強制する、2fbe44bef3)やOpenSSLのFIPS有効化バージョンの削除(FIPSモジュールはOpenSSL 1.0.2のみをサポートする)などのいくつかの変更が必要でした。

- ほとんどのテストシナリオがswanctlに移行されました。

バージョン 5.7.1

- 係数が非常に小さいRSAキーで細工された証明書によってトリガーされるgmpプラグイン内の脆弱性を修正します。このような鍵を使用して署名を検証すると、CVE-2018-16151/2の修正でパッチされたコードで、整数アンダーフローとその後ヒープバッファオーバーフローが発生し、デーモンがクラッシュしました。

- この脆弱性は、CVE-2018-17540として登録されています。

バージョン 5.7.0

- PKCS#1 v1.5署名の検証が緩すぎるために発生する、gmpプラグイン内の潜在的な認証バイパスの脆弱性を修正します。Bleichenbacherスタイルの攻撃によっていくつかの欠陥が悪用され、低指数のキー(e=3など)の署名が偽造される可能性がありました。

- CVE-2018-16151は、そのような署名内のハッシュ関数のOIDの後にランダムバイトを受け入れる問題に割り当てられており、CVE-2018-16152は、ASN.1 algorithmIdentitifer構造体内のパラメーターが空であることを検証しない問題に割り当てられています。脆弱性に直接つながらないその他の欠陥(少なくとも8バイトのパディングをチェックしないなど)には、個別のCVEが割り当てられていません。

- swanctl.confとstrongswan.conf内のセクション名にドットが許可されなくなりました。これは、主に、ファイルロガーの構成に影響を与えます。そのようなログファイルのパスにドットが含まれている場合は、filelogセクションの任意に名前が変更されるサブセクション内の新しいパス設定で構成しなければならなくなりました。

- swanctl.confとstrongswan.conf内のセクションが、他のセクションを参照するようになりました。そのようなセクションからすべての設定とサブセクションが継承されます。これにより、冗長な情報を一度指定するだけで、他のセクションに含めることができるため、構成を簡略化できます(例についてはstrongswan.confを参照してください)。

- 最初に選択されるIKE構成(IPとIKEバージョンに基づく)が、照合アルゴリズムの提案が見つからない場合に、変更できるようになりました。このように、構成の順序はそれほど重要ではなく、より弱いアルゴリズムを必要とするクライアントのために個別の構成を指定することが簡単にできます(選択される可能性がある他の構成にそれらを追加する必要はありません)。

- Postquantum Preshared Keys for IKEv2(draft-ietf-ipsecme-qr-ikev2)のサポートが追加されました。例については、swanctl/rw-cert-ppkのシナリオ(またはEAPの使用やPSK認証)を参照してください。

- 新しいbotanプラグインは、Botan C++ cryptoライブラリのラッパーです。これには、Botanのmasterブランチ(または次回の2.8.0リリース)からのかなり最近のビルド
初期パッチを提供してくれたRohde&Schwarz CybersecurityのRené Korthaus氏と彼のチームと、BotanのFFI(C89)インターフェイス

- RFC8412「PA-TNC用のソフトウェアインベントリメッセージと属性(SWIMA)」の実装。

- SWIMAサブスクリプションオプションがapt history.logファイル上でCLOSE_WRITEトリガーを設定するため、ClientRetry PB-TNCバッチが新しい測定サイクルを初期化します。新しいimv/imc-swimaプラグインが、削除された以前のimv/imc-swidプラグインに置き換わりました。

- GoogleのOSS-Fuzzインフラストラクチャで、PA-TNC(RFC 5792)およびPB-TNC(RFC 5793)NEAプロトコルのファジングのサポートを追加しました。

- IntelのTPM2-TSS TGCソフトウェアスタックのバージョン2のサポート。in-kernel/dev/ tpmrm0リソースマネージャーの存在が自動的に検出されます。

- pkiツールは、xmppAddr otherNameを構文--san xmppaddrを使用してsubjectAlternativeNameとして受け入れます:<jid>で無効にすることもできます。

- swanctl.confが、インバウンド/アウトバウンドSAがLinux上の処理後にパケットに適用するマークの構成をサポートします。アウトバウンドSA用のこのようなマークを構成するには、少なくとも4.14カーネルが必要です。インバウンドSA用のマスクを設定し、マーク/マスクを構成する機能は、次回の4.19カーネルで追加される予定です。

- swanctl.confの新しいオプションにより、IPヘッダー内のDF、ECN、およびDSフィールドをIPsec処理中にコピーするかどうかとその方法を構成できます。これを制御できるのは、現在、Linuxのみです。

- IKEv1 DPDS内のシーケンス番号の処理が改善されました(#2714)。

- 競合を回避するために、dhcpプラグインが、明示的に構成されている場合にのみDHCPサーバーポートを使用するようになりました。

バージョン 5.6.3

- opensslプラグインがFIPSモードで使用され、HMAC-MD5がPRFとしてネゴシエートされる場合の、IKEv2キー派生でのDoSの脆弱性を修正しました。この脆弱性は、CVE-2018-10811 として登録されました。

- strokeプラグインの脆弱性を修正しました。この脆弱性は、ソケットからメッセージを読み取る前に受信した長さをチェックしません。グループが構成されていない限り、そのソケットにアクセスするにはroot権限が必要なため、デフォルトの構成では問題になりません。この脆弱性は、CVE-2018-5388 として登録されました。

- 有効期限が切れた証明書が新しいCRLから削除され、失効チェックを行うホスト上のクロックがCRLを発行するホストのクロックより遅れている場合のシナリオの問題を回避するために、まだ有効になっていないCRLが無視されるようになりました。証明書は後続のクロックに従えばまだ有効だが、有効になっていないCRLに含まれていない場合は、上の処理を行わないと、取り消された証明書と失効した証明書が承認される可能性があります。

- フェッチされたCRLの発行者が、チェックされた証明書の発行者と比較されるようになりました(#2608)。

- 取り消し以外のCRL検証結果(CRLをフェッチできないためにチェックがスキップされた場合など)が、end-entity証明書だけでなく、中間CA証明書にも保存されるようになったため、このようなケースでは厳格なCRLポリシーを強制できます。

- RFC 4945のセクション5.1.3.2に準拠して、IKEに使用される証明書は、現在、keyUsage拡張(pkiによって生成される拡張など)を含んでいないか、少なくとも1つのdigitalSignatureまたはnonRepudiationビットがセットされている必要があります。

- vici/swanctlの新しいオプションにより、IKE_SAのローカル終了を強制できます。これは、もう一方の端に到達できないことが判明しているか、すでにIKE_SAが削除されているために、DELETEを再送信してレスポンスを待機するのは無意味な状況で役に立つ可能性があります。

- 強制終了リクエストでタイムアウトをさらに指定することによって、IKE_SAを破棄する前にレスポンスを一定時間(つまり、すべての再送信よりも短い時間)だけ待機することもできます。

- ルートを削除するときに、kernel-netlinkプラグインが、削除するだけでなく、同じ宛先の他のルートを追跡し、インストールされているルートを置き換えるかどうかをチェックするようになりました。インストールでも同じです。以前は、既存のルートが置き換えられませんでした。これにより、Linux上の仮想IPでトラップを使用できるようになるはずです(#2162)。

- identity_lease設定が有効な場合は、dhcpプラグインが、クライアント識別子DHCPオプションのみを送信するようになりました(7b660944b6)。以前の64バイトではなく、最大255バイト長のIDを送信することもできます(30e886fe3b、0e5b94d038)。サーバーアドレスが構成されている場合は、ICMPポートに到達できないことがないように、DHCPリクエストがポート68ではなくポート67から送信されるようになりました(becf027cd9)。

- 障害のあるINVALID_KE_PAYLOAD通知の処理(例:
に提案されていなかったDHグループを含むグループ)が改善されました(#2536)。

- IKEv1 SAに対してRoamイベントが完全に無視されるようになりました(このような変更を適切に処理するMOBIKEはありません)。

- ChaCha20/Poly1305がキー長を使用せずに適切に提案されるようになりました(#2614)。古いリリースとの互換性のために、chacha20poly1305compatキーワードが提案に含まれ、キー長を使用したアルゴリズムも提案することができます(c58434aeff)。

- IPsec SAのハードウェアオフロードの構成がより柔軟になり、カーネルとデバイスの両方でサポートされている場合に自動的にその構成を使用する新しい設定(auto)が可能になりました。hw offloadがyesに設定され、オフロードがサポートされていない場合は、CHILD_SAのインストールが失敗するようになりました。

- kernel-pfkeyプラグインは、内部インターフェイス(ローカルトラフィックセレクターでIPがあるもの)を介してルートを任意でインストールします。FreeBSDで、これを有効にすると、ゲートウェイ自体からパケットを送信するときに正しいソースIPが選択されます(e811659323)。

- SHA-2ベースのPRFが、OpenSSL 1.1で生成されたPKCS#8ファイル内でサポートされます (#2574)。

- pki --verifyツールで、ディレクトリからCA証明書とCRLをロードできます。

- ローカルポートが500である限り、リモートポートが500でない場合(Azureで発生する可能性があるように、リモートがレスポンスを別のポートにマッピングするためなど)は、IKEデーモンがポート4500に切り替えるようになりました(85bfab621d)。

- charon-nmでNetworkManagerに渡されるDNSサーバーに伴う問題を修正しました(ee8c25516a)。

- プロトコルまたはポートのいずれかが設定されている場合は、ログに記録されたトラフィックセレクターに常にプロトコルが含まれるようになりました(a36d8097ed)。

- 所有されているキー更新されたCHILD_SAのIPアドレス変更への対応として、インバウンドSA/ポリシーのみが更新されます。

- strongswan.conf/swanctl.conf用のパーサーが、値を引用符で囲まなくても、値の=文字を受け入れるようになりました(Base64でエンコードされた共有シークレットの場合など)。

開発者向けの注意:

- trap_manager_t:トラップポリシーは、reqidではなく、ピア/子の名前でアンインストールされるようになりました。

- トラップポリシーのインストール時にreqidが返されなくなりました。

- child_sa_t:削除されたがまだ破棄されていない(遅延したパケットを処理するために、キー更新するCHILD_SAがしばらく保持された後で破棄される)CHILD_SAに、新しい状態(CHILD_DELETED)が使用されます。こうして、そのようなCHILD_SAが割り当てられているIKE_SAが削除されると、child_updownイベントがそのようなSAに対してトリガーされなくなります。

バージョン 5.6.2

- 不十分な入力検証によって生じていたPKCS#1 RSASSA-PSS署名パーサーにおけるDoSの脆弱性を修正しました。RSASSA-PSS署名のアルゴリズム識別子構造体の構成可能パラメーターの1つに、マスク生成関数(MGF)があります。現在、この目的のために指定されているのはMGF1のみです。ただし、これは、それ自体で、基礎となるハッシュ関数を指定するパラメーターを取ります。strongSwanのパーサーが、このパラメーターが欠如しているケースを正しく処理しなかったため、未定義データの読み取りを引き起こしていました。この脆弱性は、CVE-2018-6459 として登録されました。

- IKEv2 IKE_SAのキー更新の際は、最初に構成されたグループを使用する代わりに、過去にネゴシエートされたDHグループが再利用されます。これにより、ピアが過去にINVALID_KE_PAYLOAD通知を介して別のDHグループを選択した場合の追加の交換が回避されます。IKE_SAで作成されたCHILD_SAの最初のキー更新を除き、CHILD_SAのキー更新の際にも同じことが行われます。ただし、DHグループはまだネゴシエートされていません。また、このグループのプリファレンスをピアに伝達するために、選択したDHグループが、それを含むすべての送信済みの提案の先頭に移動され、それを含まないすべての提案が後方に移動されます。

- MOBIKEタスクのキューイングの処理が改善されました。特に、アドレスリスト更新またはDPDのみがキューイングされている場合はカーネル内のUDPカプセル化の更新が妨げられる可能性があるため、アドレス更新(NAT-Dペイロードを使用)へのレスポンスが無視されません。

- Linuxでは、オプションで、ルーティングルールの変更によってローミングイベントがトリガーされる可能性があります。これは、ルーティングルール(ルートメトリクスなどの代わり)を使用して、インターフェイス(つまり、ルーティングテーブル)を切り替えるのに役立つことがあります。現在,ルーティングルールはルート検索を行う際に評価されていないため、これはカーネルベースのルート検索が使用される場合にのみ有効です(4664992f7d)。

- インストールされたポリシー内のアドレスの置換時のトラフィックの漏洩を回避するためにインストールされたフォールバックドロップポリシーが、一時ドロップポリシーに置き換えられました。現在は、IPsec SAを削除して再インストールし、そのアドレスを更新しているため、取得も防止できます(35ef1b032d)。

- NVインデックスを介して参照されるTPM 2.0の不揮発性ストレージに保持されているX.509証明書にアクセスします。。
--keyidパラメーターをpki --printに追加することにより、スマートカードまたはTPM 2.0に保存されている秘密キーまたは証明書を出力できます。

- IKE_AUTH中にピアがESP提案でDHグループを正しく送信しない場合や、DHグループがローカルESP提案で構成され、charon.prefer configure_proposalsが無効になっている場合の提案選択を修正しました(d058fd3c32)。

- IKEv1に対するPSKシークレットの検索が、特定のシナリオ用に改善されました(詳細については、#2497を参照してください)。

- RADIUS経由で受信するMSKが、EAP-MSCHAPv2とブロックサイズが64バイト未満のPRFに伴う互換性の問題を回避するために、64バイトになるように調整されました(例:
AES-XCBC-PRF-128、73cbce6013を参照してください)。

- tpm_extendpcrコマンドラインツールがダイジェストをTPM PCRに拡張します。

- NetworkManagerバックエンドを廃止されたlibnm-glibからlibnmに移植しました。

- save-keys debugging/developmentプラグインが、IKEキーやESPキーをWiresharkと互換性のあるファイルに保存します。

バージョン 5.6.1

- いくつかのアルゴリズムが、RFC 8221とRFC 8247にそれぞれ準拠したデフォルトのESP/AH提案とIKE提案から削除されました。デフォルトのESP/AH提案から削除されたのは、3DESおよびBlowfish暗号化アルゴリズムとHMAC-MD5整合性アルゴリズムです。デフォルトのIKE提案からは、HMAC-MD5整合性アルゴリズムとMODP-1024ディフィー・ヘルマングループが削除されました(後者は、デフォルト構成のWindowsクライアントにとって重要です)。これらのアルゴリズムは、カスタム提案で引き続き使用できます。

- RSASSA-PSS署名のサポートが追加されました。以前のリリースとの互換性のために、デフォルトで、charon.rsa_pssを有効にするために自動的に使用されません。IKEv2署名認証(RFC 7427)中にこのような署名を明示的に使用または要求するために、ike:rsa/pss...認証制約が特定の接続に使用される場合があります(上記のstrongswan.confオプションが有効かどうかにかかわらず)。このような制約で指定できるのはハッシュアルゴリズムだけです。MGF1はそのハッシュに基づいており、ソルト長はハッシュ長に等しくなります(ソルト長の検証が強制されない場合)。PKI検証中にこのような署名を強制するには、rsa/pss...
認証制約を使用します。

- 証明書/CRLを作成するすべてのpkiコマンドで、--rsa-padding pssオプションを使用してPKCS#1スキームを分類するのではなく、RSASSA-PSSを使用して署名することができます。認証中の署名と同様に、ハッシュアルゴリズムのみが構成可能であり( --digestオプションを使用)、MGF1はそれに基づいており、ソルト長はハッシュ長に等しくなります。

- これらの署名は、pkcs11(gmp、gcrypt、openssl)を除くすべてのRSAバックエンドでサポートされます。gmpプラグインには、mgf1プラグインが必要です。キー内のRSASSA-PSSアルゴリズム識別子およびパラメーター(証明書内の公開キーまたはPKCS#8ファイル内の秘密キー)は、制約として使用されなくなったことに注意してください。

- sec-updaterツールが、dpkgベースのリポジトリ(Debian/Ubuntuなど)のセキュリティ更新をチェックし、それに応じてIMVポリシーデータベースにセキュリティフラグを設定します。加えて、新しいパッケージバージョンごとに、指定されたOSおよびHWアーキテクチャ用のSWIDタグが作成され、データベースに保存されます。

- sec-updater.shスクリプトテンプレートを使用すると、検索を自動化できます(1時間ごとのcronジョブ経由など)。

- INVALID_KE_PAYLOAD通知を受信した後に(または再送信が多すぎるなどのその他の理由により)IKEv2ネゴシエーションを再起動すると、新しいイニシエーターSPIが割り当てられます。
これにより、IKE_SA_INITメッセージの再送信によって引き起こされる問題が阻止されます。

- 以前は、接続の再起動時にイニシエーターSPIが再利用されていたため、過去の接続の試みに対する遅延したレスポンスが処理され、DHネゴシエーションの失敗またはike-initタスクの内部再試行カウンターが原因で、致命的なエラーを引き起こしていた可能性があります。たとえば、レスポンダーが拒否したDHグループを提案した場合、後で、すでに切り替えたDHグループを含むINVALID_KE_PAYLOAD通知を含む遅延した応答を受信したか、リクエストしたグループでIKE_SA_INITを再送信したが、その後再起動しなければならなかった可能性があります、弊社が提案したグループとは異なるグループを持つKEペイロード。

- IMVデータベーススキームへのファイルバージョンの導入により、ファイル参照ハッシュの測定が中止されました。これは、空のパッケージ名を持つ汎用製品バージョンを作成することで修正されました。

- systime-fixプラグインの新しいタイムアウトオプションは、しばらくしてから定期的なシステム時間のチェックを停止し、証明書の検証を強制します。無効な証明書を持つすべてのSAを終了または再認証します。

- 以前はipsec listcountersコマンドでしか利用できなかったIKEイベントカウンターも、viciと新しいswanctl --countersコマンドを介して問い合わせてリセットできるようになりました。
これらは、オプションのカウンタープラグインによって収集され、提供されます(strokeプラグインがビルドされている場合は、下位互換性のためにデフォルトで有効にされます)。

- RADIUS Access-Acceptメッセージで受信したクラス属性が、オプションで、RADIUSアカウンティングメッセージに追加される場合があります(655924074b)。

- systemdソケットの基本サポートが追加されました。これは、権限分離に使用される可能性があります(59db98fb94)。

- オプションで、swanctl.confでmark_in_saオプションを有効にすることによって、インバウンドマークをSAに再度インストールできるようになりました(5.5.2を使用して削除されました)。

- プールユーティリティを介して構成されたプール内のリースのタイムアウトを時間以外の単位で構成できるようになりました。
INITIAL_CONTACT通知は、neverが一意性ポリシーとして構成されていない場合にのみ省略されるようになりました。

- デフォルトで、シャント用のアウトバウンドFWDポリシーがインストールされなくなりました(5.5.1以降の他のポリシーの場合と同様)。

- CHILD_SAキー更新中のDHグループの不一致をレスポンダーとしての失敗と見なしません(e7276f78aa)。

- libipsec内の断片化されたIPv4パケットとIPv6パケットの処理が改善されました(e138003de9)。

- libipsec内の正しいIPsec SAの有効期限切れイベントをトリガーします(6e861947a0)。

- OpenSSL 1.1を使用したopensslプラグイン経由のCRL検証のクラッシュが修正されました(78acaba6a1)。

- ハードコードされたデフォルトの提案がスターターからstrokeプラグインに渡されなくなりました(IKE提案では、オプションプラグインである5.5.2以降のcurve25519が使用されていました)。

- macOS 10.13(High Sierra)上の仮想IPに伴う問題に対する回避策が追加されました(039b85dd43)。

- charon-tkm内のIKE_SAキー更新の競合の処理が修正されました。

- 失敗するか、何も表示せず何もしないかのどちらかだった単体テストで、特定の状態について警告できるようになりました(テストが外部の依存関係が原因で実行されなかった場合など)。

この更新はSUSEからインポートされました:SLE-15:更新プロジェクトを更新します。

ソリューション

影響を受けるstrongswanパッケージを更新してください。

参考資料

https://bugzilla.opensuse.org/show_bug.cgi?id=1079548

プラグインの詳細

深刻度: High

ID: 135007

ファイル名: openSUSE-2020-403.nasl

バージョン: 1.3

タイプ: local

エージェント: unix

公開日: 2020/3/30

更新日: 2024/3/20

サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 4.4

CVSS v2

リスクファクター: Medium

基本値: 5

現状値: 3.9

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:N

CVSS スコアのソース: CVE-2018-16152

CVSS v3

リスクファクター: High

基本値: 7.5

現状値: 6.7

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C

脆弱性情報

CPE: cpe:/o:novell:opensuse:15.1, p-cpe:/a:novell:opensuse:strongswan-debugsource, p-cpe:/a:novell:opensuse:strongswan-mysql-debuginfo, p-cpe:/a:novell:opensuse:strongswan-ipsec-debuginfo, p-cpe:/a:novell:opensuse:strongswan-mysql, p-cpe:/a:novell:opensuse:strongswan-libs0-debuginfo, p-cpe:/a:novell:opensuse:strongswan-hmac, p-cpe:/a:novell:opensuse:strongswan-nm, p-cpe:/a:novell:opensuse:strongswan-sqlite, p-cpe:/a:novell:opensuse:strongswan-sqlite-debuginfo, p-cpe:/a:novell:opensuse:strongswan, p-cpe:/a:novell:opensuse:strongswan-nm-debuginfo, p-cpe:/a:novell:opensuse:strongswan-debuginfo, p-cpe:/a:novell:opensuse:strongswan-ipsec, p-cpe:/a:novell:opensuse:strongswan-libs0

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2020/3/29

脆弱性公開日: 2018/2/20

参照情報

CVE: CVE-2018-10811, CVE-2018-16151, CVE-2018-16152, CVE-2018-17540, CVE-2018-5388, CVE-2018-6459