Splunk Enterprise < 8.1.14、8.2.0 < 8.2.11、9.0.0 < 9.0.5 (SVD-2023-0613)

critical Nessus プラグイン ID 194919

概要

リモートの Web サーバーホストで実行されているアプリケーションは、脆弱性の影響を受けます。

説明

リモートホストにインストールされている Splunk のバージョンは、テスト済みバージョンより前です。したがって、SVD-2023-0613 のアドバイザリに記載されている脆弱性の影響を受けます。

- 2.10.3 より前の libxml2 で問題が発見されました。XML_PARSE_HUGE パーサーオプションを有効にしてマルチギガバイトの XML ドキュメントを解析すると、いくつかの整数カウンターがオーバーフローする可能性があります。これにより、負の 2GB オフセットで配列へのアクセスが試行され、通常はセグメンテーション違反が発生します。(CVE-2022-40303)

- 2.10.3より前の libxml2 で問題が発見されました。特定の無効な XML エンティティ定義により、ハッシュテーブルキーが破損し、後続のロジックエラーが発生する可能性があります。ある場合では、二重解放が引き起こされる可能性があります。(CVE-2022-40304)

- X.509 GeneralName 内の X.400 アドレス処理に関連する型の取り違えの脆弱性があります。
X.400 アドレスは ASN1_STRING として解析されていましたが、GENERAL_NAME のパブリック構造体の定義で x400Address フィールドのタイプが ASN1_TYPE として不適切に指定されていました。このフィールドは、その後、OpenSSL 関数 GENERAL_NAME_cmp によって、ASN1_STRING ではなく ASN1_TYPE として解釈されます。CRL チェックが有効な場合 (アプリケーションが X509_V_FLAG_CRL_CHECK フラグを設定するなど)、この脆弱性により、攻撃者が任意のポインターを memcmp 呼び出しに渡し、メモリの内容を読み取ったり、サービス拒否を引き起こしたりする可能性があります。ほとんどの場合、攻撃者は証明書チェーンと CRL の両方を提供する必要があります。どちらも有効な署名を必要としません。攻撃者がこれらの入力の 1 つのみをコントロールする場合、他の入力には CRL 配布ポイントとして X.400 アドレスがすでに含められている必要がありますが、これはよくあることではありません。このため、この脆弱性の影響を受ける可能性が最も高いのは、ネットワークを介して CRL を取得するための独自の機能を実装しているアプリケーションのみです。(CVE-2023-0286)

- パブリック API 関数 BIO_new_NDEF は、BIO を介して ASN.1 データをストリーミングするために使用されるヘルパー関数です。これは、SMIME、CMS、および PKCS7 ストリーミング機能をサポートするために OpenSSL の内部で主に使用されますが、エンドユーザーのアプリケーションから直接呼び出されることもあります。関数は、呼び出し元から BIO を受け取り、その前に新しい BIO_f_asn1 フィルター BIO を追加して BIO チェーンを形成し、BIO チェーンの新しいヘッドを呼び出し元に返します。特定の状況で、たとえば CMS 受信者の公開鍵が無効な場合、新しいフィルター BIO が解放され、関数は失敗を示す NULL の結果を返します。ただし、この場合、BIO チェーンは適切にクリーンアップされず、呼び出し元によって渡された BIO は、以前に解放されたフィルター BIO への内部ポインターを依然として保持します。呼び出し元が BIO で BIO_pop() を呼び出し続けると、メモリ解放後使用 (Use After Free) が発生します。これはおそらくクラッシュにつながります。このシナリオは、内部関数 B64_write_ASN1() で直接発生します。このため、BIO_new_NDEF() が呼び出され、その後 BIO で BIO_pop() 呼び出される可能性があります。この内部関数は、パブリック API 関数 PEM_write_bio_ASN1_stream、PEM_write_bio_CMS_stream、PEM_write_bio_PKCS7_stream、SMIME_write_ASN1、SMIME_write_CMS および SMIME_write_PKCS7 によって順番に呼び出されます。これにより影響を受ける可能性があるその他のパブリック API 関数には、i2d_ASN1_bio_stream、BIO_new_CMS、BIO_new_PKCS7、i2d_CMS_bio_stream、i2d_PKCS7_bio_stream があります。OpenSSL cms および smime コマンドラインアプリケーションも同様に影響を受けます。(CVE-2023-0215)

- OpenSSL RSA Decryption 実装にタイミングベースのサイドチャネルが存在するため、Bleichenbacher スタイルの攻撃でネットワーク全体の平文を十分に復元できる可能性があります。復号化を成功させるためには、攻撃者が非常に多くの試行メッセージを復号化のために送信できる必要があります。
この脆弱性は、すべての RSA パディングモードに影響します: PKCS#1 v1.5、RSA-OEAP および RSASVE。たとえば、TLS 接続では、暗号化されたプレマスターシークレットをサーバーに送信するために、RSA が一般的にクライアントによって使用されます。クライアントとサーバー間の真の接続を観察した攻撃者が、この欠陥を利用して、試行メッセージをサーバーに送信し、それらの処理にかかった時間を記録する可能性があります。十分な量のメッセージの後、攻撃者が元の接続に使用されていたプレマスターシークレットを復元し、その接続を介して送信されたアプリケーションデータを復号化できる可能性があります。(CVE-2022-4304)

- SSH オプションが変更されて再利用が防止されるはずだったにもかかわらず、v8.0.0 以前の libcurl に認証バイパスの脆弱性があるため、以前に確立された SSH 接続が再利用されます。libcurl は、以前に使用された接続のプールを維持し、設定が一致する場合、その後の転送で再利用します。ただし、2 つの SSH 設定が設定チェックから省略されているため、簡単に一致させることができ、不適切な接続が再利用される可能性があります。(CVE-2023-27538)

- 別々のハンドル間で HSTS データを共有する際に、libcurl <8.0.0 に二重解放の脆弱性が存在します。
この共有は、別のスレッド間でこの共有を行うことを考慮せずに導入されましたが、ドキュメントにはこの事実が示されていませんでした。mutex またはスレッドロックの欠落により、同じ HSTS データを共有する 2 つのスレッドが二重解放またはメモリ解放後使用 (Use After Free) を実行する可能性があります。(CVE-2023-27537)

- 接続再利用機能に libcurl <8.0.0 の認証バイパスの脆弱性が存在します。これにより、CURLOPT_GSSAPI_DELEGATION オプションの変更をチェックできないため、以前に確立された接続を不適切なユーザーアクセス許可で再利用する可能性があります。この脆弱性は、krb5/kerberos/negotiate/GSSAPI 転送に影響を与え、機密情報への不正アクセスを引き起こす可能性があります。CURLOPT_GSSAPI_DELEGATION オプションが変更されている場合、接続を再利用しないことが最も安全なオプションです。(CVE-2023-27536)

- libcurl <8.0.0 の FTP 接続の再利用機能に認証バイパスの脆弱性が存在します。これにより、その後の転送中に誤った認証情報が使用される可能性があります。以前に作成された接続は、現在のセットアップと一致する場合、再利用のために接続プールに保持されます。ただし、CURLOPT_FTP_ACCOUNT、CURLOPT_FTP_ALTERNATIVE_TO_USER、CURLOPT_FTP_SSL_CCC、CURLOPT_USE_SSL などの特定の FTP 設定が設定一致チェックに含まれていないため、これらの一致が簡単になりすぎます。これにより、転送の実行時に libcurl が間違った認証情報を使用することになり、機密情報への不正なアクセスが行われる可能性があります。(CVE-2023-27535)

- curl <8.0.0 にパストラバーサルの脆弱性があります。SFTP の実装により、最初のパス要素でプレフィックスとして使用されると、最初の要素としての意図された使用に加えて、チルダ (~) 文字が誤って置換され、ユーザーのホームディレクトリに対応するパスが示されます。攻撃者はこの欠陥を悪用して、特定のユーザーでサーバーにアクセスしている間に /~2/foo のようなパスを作成することで、フィルタリングをバイパスしたり、任意のコードを実行したりする可能性があります。(CVE-2023-27534)

- TELNET プロトコルを使用する通信中、curl <8.0 に入力検証の脆弱性があるため、攻撃者がサーバーネゴシエーション中に、悪意を持って細工されたユーザー名と telnet オプションを渡す可能性があります。
適切な入力スクラブがないため、攻撃者がアプリケーションの意図なしにコンテンツを送信したり、オプションのネゴシエーションを実行したりする可能性があります。アプリケーションがユーザー入力を許可している場合、この脆弱性が悪用され、攻撃者がシステム上で任意のコードを実行する可能性があります。(CVE-2023-27533)

- 連鎖された HTTP 圧縮アルゴリズムに基づく curl <v7.88.0 には、制限のないリソースの割り当てやスロットリングの脆弱性が存在します。これは、サーバー応答が複数回、場合によっては異なるアルゴリズムで、圧縮される可能性があることを意味します。この展開チェーンの受け入れ可能なリンクの数は制限されていましたが、この制限はヘッダーごとに実装されていたため、悪質なサーバーが多数のヘッダーを使用するだけで、事実上無制限の数の圧縮ステップを挿入する可能性がありました。このような展開チェーンを使用すると、malloc ボムが発生し、curl が割り当てられたヒープメモリを大量に消費、または消費しようとして、メモリ不足エラーを戻す可能性があります。(CVE-2023-23916)

- 機密情報の平文送信の脆弱性が curl <v7.88.0 にあります。これにより、複数の URL が並列にリクエストされると、HSTS 機能の不適切な動作を引き起こします。HSTS サポートを使用すると、HTTP が URL で提供されている場合でも、安全でない平文 HTTP ステップを使用する代わりに HTTPS を使用するよう curl に指示できます。ただし、最近完了した転送で HSTS キャッシュファイルが上書きされるため、複数の転送が並行して行われる場合、この HSTS メカニズムは意外にも失敗します。以前のホスト名への後の HTTP のみの転送は、HSTS に適切にアップグレードされません。
(CVE-2023-23915)

- 機密情報の平文送信の脆弱性が curl <v7.88.0 にあります。これにより、複数の URL が連続的にリクエストされると、HSTS 機能の失敗を引き起こします。HSTS サポートを使用すると、HTTP が URL で提供されている場合でも、安全でない平文 HTTP ステップを使用する代わりに HTTPS を使用するよう curl に指示することができます。ただし、状態が適切に実行されないため、この HSTS メカニズムは同じコマンドラインで実行されると、その後の転送で無視されます。(CVE-2023-23914)

- curl <7.87.0 にメモリ解放後使用 (Use After Free) の脆弱性が存在します。Curl が、HTTP プロキシを介して、サポートするほぼすべてのプロトコルをトンネリングするように要求される可能性があります。HTTP プロキシは、このようなトンネル操作を拒否できます (多くの場合、拒否できます)。
特定のプロトコル SMB または TELNET のトンネリングが拒否されると、curl は、転送シャットダウンコードパスで、解放された後にヒープに割り当てられた構造体を使用します。(CVE-2022-43552)

curl <7.87.0 の HSTS チェックに脆弱性が存在し、バイパスして HTTP を使い続けさせる可能性があります。
HSTS サポートを使用すると、HTTP が URL で提供されている場合でも、安全でない平文 HTTP ステップを使用する代わりに HTTPS を使用するよう curl に指示できます。ただし、指定された URL のホスト名が、IDN 変換の一部として ASCII の文字列に置き換えられる IDN 文字を最初に使用する場合、HSTS メカニズムがバイパスされる可能性があります。一般的な ASCII フルストップ (U+002E) `.` の代わりに UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) 文字を使用するのと同じです。その後のリクエストでは、HSTS 状態が検出されず、平文転送が行われます。IDN エンコードされた情報を保存しますが、IDN デコードされた情報を検索するためです。(CVE-2022-43551)

- 7.86.0より前の curl では、HSTS チェックがバイパスされて、HTTP に留まる可能性があります。HSTS サポートを使用すると、HTTP が URL で提供されている場合でも、curl に (安全でない平文 HTTP ステップを使用する代わりに) 直接 HTTPS を使用するよう指示することができます。特定の URL のホスト名が IDN 変換の一部として ASCII の対応文字列で置換される IDN 文字を使用する場合、このメカニズムはバイパスされる可能性があります。例えば、U+002E(.) の一般的な ASCII を完全に停止する代わりに、文字 UTF-8 U + 3002 (IDEOGRAPHIC FULL STOP) を使用します。
影響を受ける最も古いバージョンは 7.77.02021-05-26 です。(CVE-2022-42916)

- 7.86.0より前の curl には二重解放があります。curl が HTTP(S) 以外の URL との転送に HTTP プロキシを使用するように指示された場合、プロキシに CONNECT リクエストを発行することでリモートサーバーへの接続を設定し、残りのプロトコルをトンネルします。HTTP プロキシがこのリクエストを拒否し (HTTP プロキシは、HTTPS の 443 のような特定のポート番号への送信接続のみを許可することがよくあります)、代わりに非 200 ステータスコードをクライアントに返します。エラー / クリーンアップ処理の欠陥により、転送のための URL で次のスキームの 1 つが使用された場合、curl で二重解放が発生する可能性があります。dict、gopher、gophers、ldap、ldaps、rtmp、rtmps、telnet。影響を受ける最も古いバージョンは 7.77.0 です。(CVE-2022-42915)

- curl は認証情報の「.netrc」ファイルを解析するように指示される可能性があります。もし、そのファイルが 4095 個の非空白文字が連続する行で終わり、改行がない場合、curl はまずスタックベースのバッファの終端を読み、読み込みが成功したら、境界を越えて 0 バイトを書き込みます。ほとんどの場合、セグメンテーションエラーなどが発生しますが、状況によっては異なる結果になることもあります。悪意のあるユーザーが、カスタム netrc ファイルをアプリケーションに提供したり、その内容に影響を与えたりする場合、この欠陥はサービス拒否として利用される可能性があります。(CVE-2022-35260)

- HTTP(S) 転送を行う際に、libcurl は誤ってリード コールバック (「CURLOPT_READFUNCTION」) を使用して送信するデータを求める場合がありました。以前に同じハンドルがそのコールバックを使用する「PUT」リクエストを発行するために使用されていた場合は、「CURLOPT_POSTFIELDS」オプションが設定されている場合でもそうなりました。この欠陥により、アプリケーションが予期しない動作をし、不適切なデータを送信したり、後続の「POST」リクエストでメモリ解放後使用または類似のメモリ使用を引き起こしたりする可能性があります。PUT から POST に変更されたときに、再利用されたハンドルのロジックに問題があります。(CVE-2022-32221)

- HTTP(S) サーバーからクッキーを取得して解析するために curl が使用される場合、制御コードを使用してクッキーが受け入れられ、後で HTTP サーバーに返されると、サーバーが 400 応答を返します。
asister サイトがすべての sibling へのサービスを拒否することを効果的に許可します。(CVE-2022-35252)

- curl < 7.84.0が krb5 によって保護された FTP 転送を行う場合、メッセージ検証の失敗を不適切に処理します。
この欠陥により、中間者攻撃が気付かれずに、データがクライアントに注入される可能性さえあります。(CVE-2022-32208)

- curl < 7.84.0が Cookie、alt-svc、hsts のデータをローカルファイルに保存するとき、一時的な名前から最終的なターゲットファイル名への名前変更で操作をファイナライゼーションすることで、操作をアトミックにします。この名前変更操作で、偶発的に、ターゲットファイルの権限を *拡大* し、意図したよりも多くのユーザーが更新済みファイルにアクセスできるようになる可能性があります。(CVE-2022-32207)

- curl < 7.84.0は、連鎖された HTTP 圧縮アルゴリズムをサポートします。これは、サーバー応答が複数回、場合によっては異なるアルゴリズムで、圧縮される可能性があることを意味します。この解凍チェーンの受け入れ可能なリンクの数が無制限であったため、悪意のあるサーバーが事実上無制限の数の圧縮ステップを挿入することが可能でした。このような解凍チェーンを使用すると、malloc ボムが発生し、curl が割り当てられたヒープメモリを大量に消費したり、メモリエラーを試したり戻したりする可能性があります。(CVE-2022-32206)

- 悪意のあるサーバーは、HTTP 応答で大量の「Set-Cookie:」ヘッダーを curl に提供でき、curl < 7.84.0 ではそのすべてを保存します。十分に大量の (大きな) Cookie により、この後続の HTTP リクエスト、または Cookie が一致する他のサーバーは、異常に大きなリクエスト (1048576 バイト) の送信を回避するために curl が内部で使用する閾値よりも大きなリクエストを作成し、エラーを返します。この拒否状態は、同じ Cookie が保持され、一致しており、期限が切れていない限り維持される可能性があります。Cookie マッチングルールにより、「foo.example.com」上のサーバーは、「bar.example.com」にも一致する Cookie を設定できるため、シスターサーバーがこのメソッドを使用して、同一のセカンドレベルドメイン上の兄弟サイトに対してサービス拒否を効果的に引き起こすことが可能です。(CVE-2022-32205)

- HSTS サポートを使用すると、URL で HTTP が提供されている場合でも、安全でない平文 HTTP ステップを使用する代わりに HTTPS を直接使用するように curl に指示できます。HSTS キャッシュを構築する際に、指定された URL のホスト名がドットを使用せずに、それを使用している場合、このメカニズムがバイパスされる可能性があります。または逆に
- HSTS キャッシュに末尾のドットを配置し、URL の末尾にドットを使用しない*。
(CVE-2022-30115)

- libcurl は TLS または SSH 関連のオプションが変更されているが再利用を禁止している場合でも、以前に作成された接続を再利用します。libcurl は接続プール中の 1 つが設定と一致した場合、接続プール内の subsequenttransfers に対して以前に使用された接続を再利用するために維持します。ただし、いくつかの TLS および SSH 設定は、構成の一致チェックから除外されているため、簡単に一致させることができません。(CVE-2022-27782)

- libcurl は「CURLOPT_CERTINFO」オプションを提供し、アプリケーションがサーバーの証明書チェーンに関する詳細をリクエストできるようにします。誤った関数により、その情報を取得しようと試みる場合、悪意のあるサーバーが NSS で構築された libcurl をスタックさせる可能性があります。
(CVE-2022-27781)

- curl URL パーサーは、URL のホスト名部分をデコードする際に、「/」などのパーセントエンコードされた URL セパレーターを誤って受け入れ、後で取得する際に、間違ったホスト名を使用する *異なる* URL にします。たとえば、「http://example.com%2F127.0.0.1/` のような URL は、パーサーによって許可され、「http://example.com/127.0.0.1/` に置き換えられます。この欠陥は、フィルターやチェックなどを回避するために使用される可能性があります。
(CVE-2022-27780)

- ホスト名に末尾のドットが与えられている場合、libcurl はトップレベルドメイン (TLD) に対して cookies が設定することを許可します。curl に cookies を受け取り、送信するよう指示することができます。curl の cookie エンジンは [Public Suffix List](https://publicsuffix.org/)awareness を使用して、または使用せずに、構築することが可能です。PSL サポートが提供されない場合、少なくとも TLD にクッキーが設定されるのを防ぐために、より初歩的なチェックが存在します。URL のホスト名が末尾にドットを使用している場合、このチェックは不具合を起こしました。これにより、任意のサイトがクッキーを設定し、別の無関係のサイトやドメインにそれを送信することが許容されます。(CVE-2022-27779)

- 「--no-clobber」が「--remove-on-error」と共に使用された場合、7.83.1 で修正された名前が不適切に解決されたという脆弱性を使用することで、間違ったファイルを削除する可能性があります。(CVE-2022-27778)

- curl 7.83.0で修正された認証情報の保護が不十分であるため、同じホストではあるものの、別のポート番号への HTTP リダイレクトの認証または cookie ヘッダーデータが漏洩する可能性があります。(CVE-2022-27776)

- curl 7.65.0から 7.82.0に情報漏洩の脆弱性が存在します。この脆弱性は、接続プールにあるが異なるゾーン ID を持つ IPv6 アドレスを使用することによるもので、代わりに接続を再利用する可能性があります。(CVE-2022-27775)

-curl 4.9から curl 7.82.0に、認証情報の保護が不十分である脆弱性が存在します。これにより、認証で使用される HTTP(S) リダイレクトをフォローする場合、攻撃者は認証情報を抽出し、異なるプロトコルまたはポート番号に存在する他のサービスへ認証情報を漏洩する可能性があります。
(CVE-2022-27774)

- 不適切な認証の脆弱性が curl 7.33.0から 7.82.0までに存在します。これにより、この転送に設定されたものと同じ認証情報で認証されていることを適切に確認せずに、OAUTH2 認証済み接続を再利用することが可能です。これは SASL 有効化プロトコルに影響を与えます: SMPTP (S)、IMAP (S)、POP3 (S) および LDAP (S) (openldap のみ)。(CVE-2022-22576)

-curl> = 7.20.0 および <= 7.78.0 が IMAP または POP3 サーバーに接続し、STARTTLS を使用してデータを取得し、TLS セキュリティにアップグレードする場合、サーバーはその curl キャッシュにすぐに応答し、複数の応答を返すことができます。
その後、curlはTLSにアップグレードしますが、キャッシュされた応答のキュー内をフラッシュせず、TLSハンドシェイクが認証されるかのように、 TLSハンドシェイク*以前に*取得した応答を使用し、信頼し続けます。この欠陥を利用すると、中間攻撃者が、最初に偽の応答を注入し、次に正当なサーバーからのTLSトラフィックをパススルーし、curlをだましてユーザーにデータを返送させます。ユーザーは攻撃者が注入したデータはTLSで保護されたサーバーからのものであると考えます。(CVE-2021-22947)

-ユーザーは、IMAP、POP3またはFTPサーバーと対話する際、にcurl >= 7.20.0 および <= 7.78.0を指示して、TLSへの正常なアップグレードを要求することができます(コマンドラインの「--ssl-reqd」または「CURLOPT_USE_SSL」を「CURLUSESSL_CONTROL」もしくは「CURLUSESSL_ALL」withlibcurlに設定)。サーバーが適切に細工された、しかしながら完全に正当な応答を返す場合、この要件はバイパスされる可能性があります。この欠陥により、curlはサイレントに操作を続行します。
** TLS なし**指示と期待に反し、ネットワーク上で機密データを平文で漏洩する可能性があります。(CVE-2021-22946)

- MQTT サーバーにデータを送信する際、libcurl <= 7.73.0 および 7.78.0 は、状況によっては、すでに解放されているメモリ領域へのポインターを誤って保持し、その後の呼び出しでそれを再び使用してデータを送信し、*再度* 解放する可能性があります。(CVE-2021-22945)

- libcurl を使用するアプリケーションは、転送時に特定のクライアント証明書の使用を要求する可能性があります。これは、「CURLOPT_SSLCERT」オプション (「--cert」コマンドラインツールで使用) で実行されます。libcurl が macOS のネイティブ TLS ライブラリである Secure Transport を使用するようにビルドされている場合、アプリケーションは同じオプションを使用して、名前またはファイル名でクライアント証明書を要求することができます。名前がファイルとして存在する場合、名前の代わりにファイルが使用されます。アプリケーションが他のユーザーによって書き込み可能な現在の作業ディレクトリ (たとえば「/tmp」) で実行されている場合、悪意のあるユーザーはアプリケーションが使用しようとしている名前と同じ名前のファイルを作成し、それによってアプリケーションを騙し、名前で参照される証明書の代わりにファイルベースの証明書を使用させることができます。これにより、libcurl は TLS 接続のハンドシェイクで誤ったクライアント証明書を送信する可能性があります。(CVE-2021-22926)

- curl は、libcurl で「CURLOPT_TELNETOPTIONS」として知られる「-t」コマンドラインオプションをサポートします。このまれに使用されるオプションは、variable=contentペアを TELNET サーバーに送信するために使用されます。「NEW_ENV」変数を送信するためのオプションパーサーの欠陥により、libcurl は、スタックベースのバッファからサーバーに初期化されていないデータを渡すようにできます。したがって、クリアテキストのネットワークプロトコルを使用して、機密の内部情報がサーバーに漏洩する可能性があります。これは、アプリケーションによって提供された文字列を解析するときに curl が sscanf() を正しく呼び出して使用しなかったために発生する可能性があります。(CVE-2021-22925)

-libcurl は、以前に使用された接続の 1 つがセットアップと一致する場合、それらの接続を接続プールに保持して、subsequenttransfers が再利用します。ロジック内のエラーにより、構成マッチング関数は「issuercert」を考慮せず、関係するパスを *大文字と小文字を区別せず* に比較していました。これにより libcurl が不適切な接続を再利用することにつながる可能性があります。ファイルパスは、すべてというわけではありませんし、使用するファイルシステムによっても異なりますが、多くのシステムで大文字と小文字が区別されているか、区別することが可能です。比較には、転送の際にサーバー証明書の検証方法を評価するために設定できる「発行者証明書」も含まれていませんでした。(CVE-2021-22924)

- curl がメタリンク機能を使用してコンテンツを取得するように指示され、ユーザー名とパスワードを使用してメタリンク XML ファイルがダウンロードされると、それらの同じ認証情報が各サーバーに渡され、そこから curl がコンテンツをダウンロードするか、そこからダウンロードを試行します。多くの場合、ユーザーの期待と意図に反し、ユーザーにそれを知らせずにそれを発生させました。(CVE-2021-22923)

- curl がメタリンク機能を使用してコンテンツをダウンロードするように指示されると、コンテンツはメタリンク XML ファイルで提供されるハッシュと照合されて検証されます。メタリンク XML ファイルは、異なるサーバーによりホストされている可能性のある異なる URL のセットから同じコンテンツを入手する方法をクライアントに示します。クライアントは、それらのうち 1 つまたは複数のサーバーからファイルをダウンロードできます。シリアルまたはパラレルの方法。コンテンツをホストしているサーバーの1つが侵害され、そのサーバー上の特定のファイルのコンテンツが変更されたペイロードで置き換えられた場合、ダウンロード完了後にファイルのハッシュが一致しないとき、curlはこれを検出するはずです。
コンテンツを削除し、代わりに別のURLからコンテンツを取得する必要があります。これは実行されず、代わりにそのようなハッシュの不一致はテキストでのみ言及され、悪意のある可能性のあるコンテンツがディスク上のファイルに保持されます。(CVE-2021-22922)

-curl 7.75.0〜7.76.1には、Use-After-Free の脆弱性があり、TLS 1.3セッションチケットが接続により到着したときに、すでに解放されたメモリの使用が引き起こされます。悪意のあるサーバーが、まれにしか起こらない不幸な状況でこれを悪用して、クライアントでリモートでコードを実行する可能性があります。実行中の libcurl が OpenSSL を使用する接続で TLS 1.3セッションチケットのサポートを設定するとき、後でセッションチケットが到着したときに取得できるように、転送メモリ内オブジェクトへのポインターを保存します。接続が複数の転送で使用される場合 (再利用された HTTP/1.1 接続または多重化された HTTP/2接続の場合など) 、その接続で新しいセッションが確立される前に最初の転送オブジェクトが解放される場合があり、その関数は解放される可能性があるメモリバッファにアクセスします。そのメモリを使用するとき、libcurl はオブジェクトの関数ポインターを呼び出すことさえあり、サーバーが細工されたメモリコンテンツをメモリ内の適切な場所に置くことができれば、リモートコード実行が可能になります。(CVE-2021-22901)

- libcurl で「CURLOPT_TELNETOPTIONS」として知られる「-t」コマンドラインオプションを使用して variable=content ペアを TELNET サーバーに送信するとき、curl 7.7〜7.76.1 は情報漏洩の影響を受けます。NEW_ENV 変数を送信するためのオプションパーサーの欠陥により、libcurl がスタックベースのバッファからの初期化されていないデータをサーバーに渡し、平文ネットワークプロトコルを使用しているサーバーに機密の内部情報が漏洩する可能性があります。(CVE-2021-22898)

- libchannel が Schannel TLS ライブラリを使用するように構築されている場合、CURLOPT_SSL_CIPHER_LIST のコードの誤りにより、curl 7.61.0から 7.76.1まではデータ要素が不適切なセッションにさらされることの悪影響を被ります。選択された暗号セットは、ライブラリの単一の静的変数に保存されていました。これには、アプリケーションが複数の同時転送を設定した場合、暗号を設定する最後のものがすべての転送で使用されるセットを誤って制御するという意外な副作用があります。最悪のシナリオでは、これによりトランスポートのセキュリティが大幅に低下します。(CVE-2021-22897)

- 7.63.0 から 7.75.0 を含む curl には脆弱性が含まれており、これにより、TLS 1.3セッションチケットの不適切な処理が原因で、悪意のある HTTPS プロキシが MITM 接続に接続する可能性があります。HTTPS プロキシおよび TLS 1.3を使用する場合、libcurl は HTTPS プロキシから到着するセッションチケットを混同する可能性がありますが、リモートサーバーから到着したかのように動作し、ホストハンドシェイクを誤ってショートカットする可能性があります。チケットを混乱させると、HTTPS プロキシが libcurl を騙して、ホストに対して間違ったセッションチケットレジュームを使用させ、サーバーの TLS 証明書チェックを回避し、MITM 攻撃が気付かれないように実行する可能性があります。注意:このような悪意のある HTTPS プロキシは、curl がサーバー証明書のチェックを無視するように指示されていない限り、攻撃が機能するためには、curl が MITMed サーバーを受け入れる証明書を提供する必要があります。(CVE-2021-22890)

- curl 7.1.1 から 7.75.0 は、HTTP Referer: ヘッダーの認証情報を漏洩することで、認証されていない攻撃者への個人情報の漏洩に対して脆弱です。libcurl は、発信 HTTP リクエストの Referer: HTTP リクエストヘッダーフィールドに自動的にデータを入力するとき、URL からユーザーの認証情報を取り除きません。そのため、2 番目の HTTP リクエストのターゲットであるサーバーに機密データが漏洩するリスクがあります。(CVE-2021-22876)

- curl 7.41.0 〜 7.73.0 は、OCSP 応答の検証が不十分なため、証明書失効の不適切なチェックに対して脆弱です。(CVE-2020-8286)

-curl 7.21.0 から 7.73.0 までは、FTP ワイルドカード一致解析におけるスタックオーバーフローの問題により、制御されていない再帰に対して脆弱です。(CVE-2020-8285)

悪意のあるサーバーが PASV 応答を使用して、curl 7.73.0 以前を所定の IP アドレスとポートに再接続するよう誘導することが可能です。この方法で、ポートスキャンやサービスバナー抽出の実行など、プライベートで開示されていないサービスに関する情報を curl に抽出させる可能性があります。
(CVE-2020-8284)

-ダングリングポインターの使用により、libcurl 7.29.0 〜 7.71.1 は、データ送信時に誤った接続を使用する可能性があります。(CVE-2020-8231)

- 7.20.0 から 7.70.0 の curl は、ファイルおよびその他のリソースの名前の不適切な制限に対して脆弱であり、-J フラグを使用する際にローカルファイルを過度に上書きする可能性があります。(CVE-2020-8177)

- curl 7.62.0 から 7.70.0 は、情報漏洩の脆弱性に脆弱であるため、パスワードの一部がネットワークおよび DNS サーバーに漏洩する可能性があります。(CVE-2020-8169)

- 3.6.2 より前の libarchive で、ソフトウェアが calloc 関数を呼び出した後のエラーチェックを行わないため、関数が失敗した場合に NULL ポインターを返すことがあり、その結果 NULL ポインターデリファレンスが発生する可能性があります。
発見者はこの CWE-476 の発言を引用していますが、サードパーティからはコード実行の影響について異論があります: まれな状況で、NULL が 0x0 メモリアドレスと同等であり、特権コードがそれにアクセスできる場合、メモリの書き込みまたは読み取りが可能となり、コードの実行を引き起こす可能性があります。(CVE-2022-36227)

- アーカイブの抽出中に不適切なリンク解決の欠陥が発生し、アーカイブ外のファイルのモード、時間、アクセスコントロールリスト、フラグが変更される可能性があります。攻撃者が、悪意のあるアーカイブを被害者ユーザーに提供する可能性があります。被害者ユーザーは、アーカイブを抽出しようとする際に、この欠陥を発生させる可能性があります。ローカルの攻撃者がこの欠陥を利用して、システムでより多くの権限を取得する可能性があります。(CVE-2021-31566)

- libarchive 3.4.1から 3.5.1までの間、copy_string (do_uncompress_block および process_block から呼び出されます) にメモリ解放後使用 (Use-After-Free) があります。(CVE-2021-36976)

- lz4 に欠陥が存在します。細工されたファイルをlz4にリンクされたアプリケーションに送信する攻撃者が、整数オーバーフローを発生させ、負のサイズの引数でmemmove()を呼び出し、領域外書き込みやクラッシュを引き起こす可能性があります。この欠陥による最大の影響は、可用性に対するものですが、機密性および整合性に対する影響もいくぶんある可能性があります。(CVE-2021-3520)

- 3.39.2より前の 1.0.12から 3.39.xまでの SQLite では、C API への文字列引数で数十億バイトが使用されると、配列境界のオーバーフローが発生することがあります。(CVE-2022-35737)

- 1.2.12 より前の zlib は、入力に多くの遠方の一致がある場合、デフレート (圧縮) の際にメモリ破損を引き起こす可能性があります。(CVE-2018-25032)

- 1.2.12からの zlib では、大きな gzip ヘッダーの余分なフィールドにより、inflate.c の inflate でヒープベースのバッファオーバーリードまたはバッファオーバーフローが発生します。注意: inflateGetHeader を呼び出すアプリケーションのみが影響を受けます。一部の一般的なアプリケーションは、影響を受ける zlib ソースコードをバンドルしていますが、inflateGetHeader を呼び出すことができない場合があります (例: nodejs / node 参照を参照)。(CVE-2022-37434)

- dojox には、クロスサイトスクリプティングに対して脆弱です。Previewers プラグインの easing Preview には XSS の脆弱性があり、攻撃者が Safari および Internet Explorer で任意のコードを実行する可能性があります。これは、_Previewers_ プラグイン (>=v1.10.0) または _Previewer: Easing_ プラグイン (v1.1.0 から v1.9.0) を使用する、Prism >=v1.1.0 のすべての Safari および Internet Explorer ユーザーに影響します。この問題はバージョン 1.21.0 で修正されます。
アップグレードせずにこの問題を回避するには、影響を受けるすべてのコードブロックでイージングプレビューを無効にします。この回避策を適用するには、Prism v1.10.0 以降である必要があります。(CVE-2020-15138)

- p 変数を介した Node.js の 0.8.3より前の xmldom (@xmldom/xmldom として公開済み) パッケージの dom.js の関数 copy にプロトタイプ汚染の脆弱性が存在します。注意: ベンダーは、弊社がこのレポートを無効とする手続きを行っていると述べています。ただし、一部のサードパーティは、プロトタイプインジェクション/プロトタイプの汚染は、グローバルオブジェクトが再帰マージまたはディープクローンで汚染されるだけでなく、ターゲットオブジェクトが汚染される場合もあると考えています。(CVE-2022-37616)

- Certifi は、TLS ホストの ID を検証する際に、SSL 証明書の信頼性を検証するための、ルート証明書のキュレーションされたコレクションです。Certifi 2022.12.07は、TrustCor のルート証明書をルートストアから削除します。これらを Mozilla のトラストストアから削除中です。
TrustCor のルート証明書は、TrustCor の所有権もスパイウェアを生み出す事業を行っていたとメディアが報告している調査に基づき、削除中です。Mozilla の調査の結論については、リンクされた Google グループのディスカッションをご覧ください。(CVE-2022-23491)

- 正規表現によるサービス拒否 (ReDOS) の脆弱性が、バージョン 1.5.5 以前の Color-String で検出されました。この脆弱性は、アプリケーションが提供され、細工された無効な HWB 文字列をチェックした際に発生します。
(CVE-2021-29060)

- decode-uri-component 0.2.0 は、DoS を引き起こす不適切な入力検証に対して脆弱です。(CVE-2022-38900)

-これは、5.1.2より前のパッケージ glob-parent に影響を与えます。エンクロージャー正規表現は、パスセパレーターを含むエンクロージャーで終わる文字列をチェックするために使用されていました。(CVE-2020-28469)

- JSON5 は、一般的な JSON ファイルフォーマットへの拡張であり、手動での記述およびメンテナンスを容易にすることを目的としています (構成ファイルなど)。バージョン 1.0.1 以前および 2.2.1 以前の JSON5 ライブラリの「parse」メソッドは、「__ proto__」という名前のキーの解析を制限しないので、特別に細工された文字列が結果のオブジェクトのプロトタイプを汚染する可能性があります。この脆弱性は、「JSON5.parse」によって返されたオブジェクトのプロトタイプを汚染します (これは、プロトタイプ汚染の定義として一般に理解されている、グローバルなオブジェクトプロトタイプの汚染ではありません)。しかし、1 つしかオブジェクトのプロトタイプが汚染されないとしても、そのオブジェクトが後で信頼できる操作で使用される場合、アプリケーションに重大なセキュリティ上の影響を与える可能性があります。この脆弱性により、「JSON5.parse」から返されるオブジェクトに攻撃者が任意の予期しないキーを設定する可能性があります。実際の影響は、アプリケーションが返されたオブジェクトをどのように利用し不要なキーをどのようにフィルターするかによって異なりますが、サービス拒否、クロスサイトスクリプティング、権限の昇格、極端な場合にはリモートコードの実行が含まれる可能性があります。「JSON5.parse」は、JSON 文字列をオブジェクトに解析する際に「__ proto__」キーの解析を制限する必要があります。考慮したいのは、JavaScript に含まれている「JSON.parse」メソッドは「__proto__」キーを無視するという点です。上記の例で「JSON5.parse」を「JSON.parse」に変更するだけで、この脆弱性が緩和されます。この脆弱性については、json5 バージョン 1.0.2、2.2.2、およびそれ以降でパッチが提供されています。(CVE-2022-46175)

- 正規表現のサービス拒否 (ReDoS) の欠陥が、interpolateName.js の resourcePath 変数を介して、webpack loader-utils 2.0.0 の interpolateName.js の Function interpolateName で見つかりました。
(CVE-2022-37599)

- webpack loader-utils の parseQuery.js の関数に、name 変数によるプロトタイプ汚染の脆弱性があります。これは、1.4.1 および 2.0.3 より前のすべてのバージョンに影響します。(CVE-2022-37601)

- 正規表現のサービス拒否 (ReDoS) の欠陥が、interpolateName.js の url 変数を介して、webpack loader-utils 2.0.0 の interpolateName.js の Function interpolateName で見つかりました。
(CVE-2022-37603)

- minimatch パッケージに脆弱性が見つかりました。この欠陥により、特定の引数で braceExpand 関数を呼び出す際に、正規表現によるサービス拒否 (ReDoS) が発生し、サービス拒否が発生する可能性があります。(CVE-2022-3517)

- moment は日付を解析、検証、操作、およびフォーマットするための JavaScript 日付ライブラリです。影響を受けるバージョンのモーメントが、非効率的な解析アルゴリズムを使用していることが判明しました。具体的には、moment で string-to-date 解析 (より具体的には、デフォルトで試行される rfc2822 解析) を使用すると、特定の入力が二次 (N^2) の複雑さになります。ユーザーは、10000 文字を超える入力で顕著な減速が見られることに気付く場合があります。ユーザー提供の文字列をサニティ長さをチェックせずにモーメントコンストラクターに渡すユーザーは、(Re) DoS 攻撃に脆弱です。この問題は 2.29.4でパッチされており、このパッチは影響を受けるすべてのバージョンに最小限の調整で適用できます。ユーザーはアップグレードすることをお勧めします。アップグレードできないユーザーは、ユーザー入力から受け入れられる日付の長さを制限することを検討する必要があります。(CVE-2022-31129)

- パッケージ path-parse のすべてのバージョンは、splitDeviceRe、splitTailRe、および splitPathRe 正規表現を介した正規表現のサービス拒否 (ReDoS) に対して脆弱です。ReDoS は、多項式の最悪の場合の時間の複雑さを示しています。(CVE-2021-23343)

- 7.0.0 から 8.2.10 以前の postcss パッケージは、ソースマップ解析中に正規表現におけるサービス拒否 (ReDoS) に対して脆弱です。(CVE-2021-23368)

- 8.2.13 以前の postcss のパッケージは、lib/previous-map.js の getAnnotationURL() および loadAnnotation() を介した正規表現のサービス拒否 (ReDoS) に対して脆弱です。正規表現の脆弱性は、主にサブパターン \/\*\s* sourceMappingURL=(.*) によって引き起こされます。(CVE-2021-23382)

- 2.4.9 までの libexpat では、メモリ不足の状況で、XML_ExternalEntityParserCreate の共有 DTD の過剰な破壊によって引き起こされるメモリ解放後使用 (Use-After Free) があります。(CVE-2022-43680)

- qs 4.17.3 より前の Express およびその他の製品で使用される 6.10.3 より前の qs では、__ proto__キーを使用できるため、攻撃者が Express アプリケーションの Node プロセスをハングさせる可能性があります。多くの一般的な Express の使用例では、認証されていないリモートの攻撃者が、a[__proto__]=b&a[__proto__]&a[length]=100000000 などの、アプリケーションにアクセスするために使用される URL のクエリ文字列に攻撃ペイロードを配置する可能性があります。修正は qs 6.9.7、6.8.3、6.7.3、6.6.1、6.5.3、6.4.1、6.3.3、6.2.4 にバックポートされました (したがって、リリースの説明に deps: [email protected] を記載されている Express 4.17.3 は脆弱ではありません)。(CVE-2022-24999)

- trim パッケージのすべてのバージョンは、trim() を介する正規表現のサービス拒否 (ReDoS) に対して脆弱です。
(CVE-2020-7753)

CVE-2022-25858- terser パッケージ 4.8.1 以前、5.0.0 から 5.14.2 以前は、正規表現の安全でない使用による、正規表現のサービス拒否 (ReDoS) の脆弱性の影響を受けます。

- nth-check は、非効率的な正規表現の複雑性に対して脆弱です (CVE-2021-3803)

- Node.js 用の css-what パッケージ 4.0.0 から 5.0.0 は、属性解析で入力のサイズに対して線形時間複雑性があることを保証しません。(CVE-2021-33587)

4.2.1 以前の dot-prop npm パッケージおよび 5.1.1 以前のバージョン 5.x におけるプロトタイプの汚染の脆弱性により、攻撃者は JavaScript 言語のオブジェクトなどの構造に任意のプロパティを追加できるようになります。
(CVE-2020-8116)

- Node.js 用の Elliptic パッケージ 6.5.2 は、エンコーディングの変化、「\0」バイトのリード、または整数オーバーフローを通じて、ECDSA 署名の可用性を許可しています。アプリケーションが単一の正規署名に依存している場合、セキュリティ関連に影響を与える可能性について考慮する必要があります。(CVE-2020-13822)

-Node.js の [] より前のパッケージ (

ソリューション

Splunk Enterprise の場合、バージョンを 8.1.14、8.2.11、9.0.5 またはそれ以降にアップグレードしてください。

参考資料

https://advisory.splunk.com/advisories/SVD-2023-0613.html

プラグインの詳細

深刻度: Critical

ID: 194919

ファイル名: splunk_905_svd-2023-0613.nasl

バージョン: 1.2

タイプ: combined

エージェント: windows, macosx, unix

ファミリー: CGI abuses

公開日: 2024/5/2

更新日: 2024/5/30

サポートされているセンサー: Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 5.9

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

CVSS スコアのソース: CVE-2022-32207

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.8

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

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

CVSS スコアのソース: CVE-2022-37616

脆弱性情報

CPE: cpe:/a:splunk:splunk

必要な KB アイテム: installed_sw/Splunk

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

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

パッチ公開日: 2023/6/1

脆弱性公開日: 2023/6/1

参照情報

CVE: CVE-2017-16042, CVE-2018-25032, CVE-2019-10744, CVE-2019-10746, CVE-2019-20149, CVE-2020-13822, CVE-2020-15138, CVE-2020-28469, CVE-2020-7662, CVE-2020-7753, CVE-2020-7774, CVE-2020-8116, CVE-2020-8169, CVE-2020-8177, CVE-2020-8203, CVE-2020-8231, CVE-2020-8284, CVE-2020-8285, CVE-2020-8286, CVE-2021-20095, CVE-2021-22876, CVE-2021-22890, CVE-2021-22897, CVE-2021-22898, CVE-2021-22901, CVE-2021-22922, CVE-2021-22923, CVE-2021-22924, CVE-2021-22925, CVE-2021-22926, CVE-2021-22945, CVE-2021-22946, CVE-2021-22947, CVE-2021-23343, CVE-2021-23368, CVE-2021-23382, CVE-2021-27292, CVE-2021-29060, CVE-2021-31566, CVE-2021-33502, CVE-2021-33503, CVE-2021-33587, CVE-2021-3520, CVE-2021-36976, CVE-2021-3803, CVE-2021-43565, CVE-2022-1705, CVE-2022-1962, CVE-2022-22576, CVE-2022-23491, CVE-2022-23772, CVE-2022-23773, CVE-2022-23806, CVE-2022-24675, CVE-2022-24921, CVE-2022-24999, CVE-2022-25858, CVE-2022-27191, CVE-2022-27664, CVE-2022-27774, CVE-2022-27775, CVE-2022-27776, CVE-2022-27778, CVE-2022-27779, CVE-2022-27780, CVE-2022-27781, CVE-2022-27782, CVE-2022-28131, CVE-2022-28327, CVE-2022-2879, CVE-2022-2880, CVE-2022-29526, CVE-2022-29804, CVE-2022-30115, CVE-2022-30580, CVE-2022-30629, CVE-2022-30630, CVE-2022-30631, CVE-2022-30632, CVE-2022-30633, CVE-2022-30634, CVE-2022-30635, CVE-2022-31129, CVE-2022-32148, CVE-2022-32189, CVE-2022-32205, CVE-2022-32206, CVE-2022-32207, CVE-2022-32208, CVE-2022-32221, CVE-2022-33987, CVE-2022-3517, CVE-2022-35252, CVE-2022-35260, CVE-2022-35737, CVE-2022-36227, CVE-2022-37434, CVE-2022-37599, CVE-2022-37601, CVE-2022-37603, CVE-2022-37616, CVE-2022-38900, CVE-2022-40023, CVE-2022-40303, CVE-2022-40304, CVE-2022-41715, CVE-2022-41716, CVE-2022-41720, CVE-2022-4200, CVE-2022-42004, CVE-2022-42915, CVE-2022-42916, CVE-2022-4304, CVE-2022-43551, CVE-2022-43552, CVE-2022-43680, CVE-2022-46175, CVE-2023-0215, CVE-2023-0286, CVE-2023-1370, CVE-2023-23914, CVE-2023-23915, CVE-2023-23916, CVE-2023-27533, CVE-2023-27534, CVE-2023-27535, CVE-2023-27536, CVE-2023-27537, CVE-2023-27538