Oracle Linux 8: Squid: 4 (ELSA-2020-4743)

critical Nessus プラグイン ID 180917

概要

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

説明

リモートの Oracle Linux 8 ホストに、ELSA-2020-4743 のアドバイザリに記載されている複数の脆弱性の影響を受けるパッケージがインストールされています。

- 4.10 より前の Squid で問題が発見されました。これにより、細工されたFTPサーバーが、他のユーザーのセッションやSquid以外のプロセスに関連付けられた情報など、ヒープメモリからの機密情報の漏洩をトリガーする可能性があります。 (CVE-2019-12528 )

- 4.10 より前の Squid で問題が発見されました。バッファ管理が不適切なため、リモートクライアントが、リバースプロキシとして動作しているSquidインスタンスでバッファオーバーフローを引き起こす可能性があります。 (CVE-2020-8450 )

- 4.12の前のSquidと5.0.3の前の5.xのhttp/ContentLengthInterpreter.ccで問題が発見されました。HTTPキャッシュに対するリクエストスマグリングおよびポイズニング攻撃が成功する可能性があります。クライアントは、+\- を含む Content-Length ヘッダーまたは length フィールド値への一般的でないシェル空白文字プレフィックスを含む HTTP リクエストを送信します。(CVE-2020-15049)

- 4.13 の前の Squid と 5.0.4 の前の 5.x では、信頼できるピアが、細工された Cache Digest 応答メッセージの処理中に利用可能なすべての CPU サイクルを消費することで、サービス拒否を実行する可能性があります。これは、cache_peerをキャッシュダイジェスト機能と併用した場合にのみ発生します。この問題は、peer_digest.cc内のpeerDigestHandleReply()のライブロックがEOFを正しく処理しないために発生します。(CVE-2020-24606)

- 4.10 より前の Squid で問題が発見されました。入力が不適切に検証されるため、細工されたHTTPリクエストを予期しない方法で解釈し、以前のセキュリティフィルターで禁止されていたサーバーリソースにアクセスする可能性があります。
(CVE-2020-8449)

- 4.7 以前の Squid で問題が発見されました。Squid が ESI を解析するとき、ESIContext の ESI 要素が保持されます。ESIContext には、ESIElements のスタックを保持するためのバッファが含まれています。新しい ESIElement が解析されると、addStackElement を使用して追加されます。addStackElement はこのバッファの要素数をチェックしますが、1 だけ外れており、1 要素のヒープオーバーフローを引き起こします。オーバーフローは同じ構造名であるため、隣接するメモリブロックには影響せず、単に処理中のクラッシュにつながります。
(CVE-2019-12521)

- 4.9 より前の Squid で問題が発見されました。URN リクエストを処理する際、対応する HTTP リクエストが行われます。この HTTP リクエストは、着信 HTTP リクエストが通過するアクセスチェックを通過しません。これにより、すべてのアクセスチェックがバイパスされ、制限された HTTP サーバーへのアクセスが可能になります。たとえば、攻撃者は localhost でのみリッスンする HTTP サーバーに接続できます。 (CVE-2019-12523)

- 4.7 以前の Squid で問題が発見されました。ユーザーからのリクエストを処理するとき、Squid はルールをチェックして、リクエストを拒否する必要があるかどうかを確認します。Squid にはデフォルトで、キャッシュマネージャーへのアクセスをブロックするルールが付属しており、メンテナー向けの詳細なサーバー情報を提供します。このルールは、url_regex を介して実装されます。url_regex ルール URL のハンドラーは、着信リクエストをデコードします。これにより、攻撃者が URL をエンコードして url_regex チェックをバイパスし、ブロックされたリソースへのアクセス権を取得する可能性があります。(CVE-2019-12524)

- 4.9 より前の Squid で問題が発見されました。Squid の URN 応答処理は、ヒープベースのバッファオーバーフローの影響を受けます。URN リクエストへの応答としてリモートサーバーからデータを受信する際、Squid は応答がバッファ内に収まるかどうかを確認できません。これにより、攻撃者がコントロールするヒープ内データのオーバーフローが発生します。(CVE-2019-12526)

- Squid 2.x ~ 2.7.STABLE9、3.x ~ 3.5.28、および 4.x ~ 4.7 で問題が発見されました。Squid は、基本認証を使用するように構成されているとき、uudecode コードを介して Proxy-Authorization ヘッダーを解析します。
uudecode は、入力を反復し、そのテーブルをチェックすることで、デコードするバイト数を決定します。この長さは、文字列のデコードを開始するために使用されます。計算された長さが入力バッファより長くないことを確認するチェックはありません。これにより、隣接するメモリもデコードされます。Squid のメンテナーがエラーページでユーザー名の表示を構成しない限り、攻撃者はデコードされたデータを取得できません。(CVE-2019-12529)

- 4.9より前の Squid は、特定の Web ブラウザが使用されると、cachemgr.cgi に対するホスト (別名ホスト名) パラメーターで HTML を不適切に処理します。(CVE-2019-18860)

- 4.12 の前の Squid と 5.0.3 の前の 5.x で問題が発見されました。- 潜在的に危険な関数の使用により、Squid およびデフォルトの証明書検証ヘルパーは、攻撃者が制御する HTTPS 用サーバーへの TLS 接続を開く際、TLS 証明書を処理する際のサービス拒否に対して脆弱です。これは、認識されないエラー値が NULL にマップされるために発生しますが、その後のコードは、各エラー値が有効なエラー文字列にマップされることを期待します。(CVE-2020-14058)

- Squid 4.7 以前と 5 に問題が見つかりました。リクエストを受信すると、Squid はキャッシュをチェックして、応答を提供できるかどうかを確認します。これは、リクエストの絶対 URL の MD5 ハッシュを作成することで行われます。
見つかった場合、リクエストを処理します。絶対 URL には、特定のプロトコルのデコードされた UserInfo (ユーザー名とパスワード) を含めることができます。このデコードされた情報は、ドメインの先頭に追加されます。これにより、攻撃者は、ドメインを区切る特別な文字を含むユーザー名を提供し、URL の残りの部分をパスまたはクエリ文字列として扱うことができます。攻撃者はまず、エンコードされたユーザー名を使用してドメインにリクエストを行い、ターゲットドメインのリクエストが受信され、正確な URL にデコードされると、実際の HTML ではなく攻撃者の HTML を処理する可能性があります。これにより、リバースプロキシとしても機能する Squid サーバーで、攻撃者が、リバースプロキシのみが使用できる機能 (ESI など) にアクセスする可能性があります。(CVE-2019-12520)

- 文字列の終了が正しくないため、4.0 から 4.7 までの Squid cachemgr.cgi は、割り当てられていないメモリにアクセスする可能性があります。メモリアクセスが保護されているシステムでは、これにより CGI プロセスが予期せず終了し、それを使用するすべてのクライアントでサービス拒否が発生する可能性があります。(CVE-2019-12854)

- Squid 3.x および 4.x から 4.8 までに問題が見つかりました。不適切な入力検証により、ヒープベースのバッファオーバーフローがあり、プロキシを使用するすべてのクライアントに対してサービス拒否が発生する可能性があります。この脆弱性は通常のセキュリティチェックの前に発生するため、重要度は高です。プロキシポートに到達できるリモートクライアントは、細工された URI スキームを介して簡単に攻撃を実行できます。(CVE-2019-18676)

- append_domain 設定が使用される場合、Squid 3.x および 4.x ~ 4.8 で問題が発見されました (追加された文字がホスト名の長さ制限と適切に相互作用しないため)。メッセージ処理が不適切なため、トラフィックが配信されるべきでないオリジンに不適切にリダイレクトされる可能性があります。
(CVE-2019-18677)

- Squid 3.x および 4.x から 4.8 までに問題が見つかりました。それにより、攻撃者がフロントエンドソフトウェアを通じて HTTP リクエストを Squid インスタンスにスマグリングし、HTTP リクエストパイプラインの分割方法を変える可能性があります。結果として生じる応答メッセージにより、任意の URL にあって攻撃者が制御するコンテンツにより (クライアントと Squid 間の) キャッシュが破損します。その影響を受けるのは、攻撃者のクライアントと Squid の間のソフトウェアに限られます。Squid 自体にも、アップストリームサーバーにも影響はありません。この問題は、ヘッダー名とコロンの間に空白があるリクエストヘッダーに関連しています。(CVE-2019-18678)

- Squid 2.x、3.x、および 4.x~4.8 で問題が発見されました。データ管理が不適切なため、これらの Squid は、HTTP ダイジェスト認証を処理するときの情報漏洩に対して脆弱です。Nonce トークンには、ヒープメモリ割り当て内に存在するポインターの生のバイト値が含まれています。この情報は、ASLR 保護を低下させ、攻撃者がメモリ領域を特定して、リモートコード実行攻撃の標的にするために使用する可能性があります。
(CVE-2019-18679)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。

ソリューション

影響を受ける libecap、libecap-devel、および / または squid パッケージを更新してください。

参考資料

https://linux.oracle.com/errata/ELSA-2020-4743.html

プラグインの詳細

深刻度: Critical

ID: 180917

ファイル名: oraclelinux_ELSA-2020-4743.nasl

バージョン: 1.0

タイプ: local

エージェント: unix

公開日: 2023/9/7

更新日: 2023/9/7

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

リスク情報

VPR

リスクファクター: Medium

スコア: 5.9

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 5.5

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

CVSS スコアのソース: CVE-2020-8450

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.5

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

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

CVSS スコアのソース: CVE-2019-12526

脆弱性情報

CPE: cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:libecap, p-cpe:/a:oracle:linux:libecap-devel, p-cpe:/a:oracle:linux:squid

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

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2020/11/10

脆弱性公開日: 2019/7/11

参照情報

CVE: CVE-2019-12520, CVE-2019-12521, CVE-2019-12523, CVE-2019-12524, CVE-2019-12526, CVE-2019-12528, CVE-2019-12529, CVE-2019-12854, CVE-2019-18676, CVE-2019-18677, CVE-2019-18678, CVE-2019-18679, CVE-2019-18860, CVE-2020-14058, CVE-2020-15049, CVE-2020-24606, CVE-2020-8449, CVE-2020-8450