概要
リモートの SUSE ホストに 1 つ以上のセキュリティ更新がありません。
説明
リモートの SUSE Linux SLES15/ SLES_SAP15 / openSUSE 15 ホストには、SUSE-SU-2024:0643-1 のアドバイザリに記載された複数の脆弱性の影響を受けるパッケージがインストールされています。
- crypto ライブラリの privateDecrypt() API の脆弱性により、PKCS#1 v1.5 パディングエラーの処理中に隠れたタイミングサイドチャネルが引き起こされました。この脆弱性により、有効な暗号文と無効な暗号文の復号化に、重大なタイミングの違いがあることが明らかになりました。特に API エンドポイントが Json Web Encryption メッセージを処理するシナリオでは、攻撃者がこの脆弱性をリモートで悪用して、キャプチャされた RSA 暗号文を復号したり、署名を偽造したりする可能性があるため、これは深刻な脅威となります。影響: この脆弱性を報告してくださった hkario 氏と、修正してくださった Michael Dawson 氏に感謝の意を表します。(CVE-2023-46809)
- Node.js アクセス許可モデルは、ワイルドカードをファイルパスの最後の文字としてのみ使用する必要があることをドキュメント内で明確にしていません。例: ``` --allow-fs-read=/home/node/.ssh/*.pub ``` は「pub」を無視し、「.ssh/」より後のすべてへのアクセスを許可します。この誤解を招く文書は、Node.js 20 および Node.js 21 で実験的なアクセス許可モデルを使用しているすべてのユーザーに影響を与えます。注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。(CVE-2024-21890)
- Node.js は、node:fs 関数に提供されるパスを正規化するために複数の組み込みユーティリティ関数に依存しています。これらはユーザー定義の実装で上書きすることができ、パストラバーサル攻撃を通じてファイルシステムの権限モデルをバイパスする可能性があります。この脆弱性は、Node.js 20 および Node.js 21 で実験的なアクセス許可モデルを使用しているすべてのユーザーに影響を与えます。注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。(CVE-2024-21891)
- Linux では、プロセスが昇格された特権で実行されているときに特権のないユーザーによって設定された可能性がある特定の環境変数が、CAP_NET_BIND_SERVICE を除いて、Node.js によって無視されます。この例外の実装にバグがあるため、特定の他の機能が設定されている場合でも、Node.js がこの例外を不適切に適用します。これにより、権限のないユーザーが、プロセスの昇格した権限を継承するコードを挿入する可能性があります。(CVE-2024-21892)
- アクセス許可モデルは、ユーザーが指定したパスで path.resolve() を呼び出すことで、パストラバーサル攻撃から自身を保護します。パスが Buffer として扱われる場合には、実装は Buffer.from() を使用して、path.resolve() の結果から Buffer を取得します。Buffer internals (Buffer.prototype.utf8Write) にモンキーパッチングを行うことで、アプリケーションが path.resolve() の結果を変更する可能性があり、これは、パストラバーサルの脆弱性につながります。この脆弱性は、Node.js 20 および Node.js 21 で実験的なアクセス許可モデルを使用しているすべてのユーザーに影響を与えます。注意: この CVE が発行された時点では、このアクセス許可は Node.js の実験的な機能です。(CVE-2024-21896)
- setuid() は、setuid() を呼び出す前に初期化されている場合には、libuv の内部 io_uring 操作に影響を与えません。
これにより、プロセスは、setuid() の呼び出しによって権限がドロップされた可能性があるにもかかわらず、権限の必要な操作を実行できます。影響: この脆弱性を報告してくださった valette 氏と、修正してくださった Tobias Nieen 氏に感謝の意を表します。(CVE-2024-22017)
- Node.js の HTTP サーバーの脆弱性により、攻撃者はチャンクエンコーディングを使用した特別に細工された HTTP リクエストを送信し、リソースの枯渇とサービス拒否 (DoS) を引き起こす可能性があります。サーバーは、チャンク拡張バイトに制限がないことを悪用して、1 つの接続から無制限にバイトを読み取ります。この問題により、タイムアウトや本文サイズ制限などの標準的な保護をバイパスして、CPU とネットワークの帯域幅を消費させる可能性があります。(CVE-2024-22019)
- fetch() brotli デコーディングでのリソース枯渇によるサービス拒否。(CVE-2024-22025)
- Undici は、Node.js 用にゼロから書かれた HTTP/1.1 クライアントです。Undici はクロスオリジンリダイレクトで Authorization ヘッダーをすでにクリアしていましたが、「Proxy-Authentication」ヘッダーはクリアしていませんでした。この問題には、バージョン 5.28.3 および 6.6.1 でパッチが適用されています。ユーザーにアップグレードすることを推奨します。この脆弱性に対する既知の回避策はありません。(CVE-2024-24758)
- libuv は、非同期 I/O にフォーカスしたマルチプラットフォームサポートライブラリです。「src/unix/getaddrinfo.c」(およびこれに対応する Windows の「src/win/getaddrinfo.c」) の「uv_getaddrinfo」関数は、「getaddrinfo」を呼び出す前に、ホスト名を 256 文字に切り詰めます。この動作を悪用して、「0x00007f000001」のようなアドレスを作成できます。このアドレスは「getaddrinfo」によって有効とみなされ、攻撃者が開発者のチェックをバイパスして、意図しない IP アドレスに解決されるペイロードを作成する可能性があります。この脆弱性は、「hostname_ascii」変数 (長さ 256 バイト) が「uv_getaddrinfo」、続いて「uv__idna_toascii」で処理される方法が原因で発生します。ホスト名が 256 文字を超えると、null バイトの終端なしで切り捨てられます。その結果、攻撃者は、ユーザーが「username.example.com」ページを持つことを可能にするような内部 API またはウェブサイト (MySpace のような) にアクセスできる可能性があります。悪意のあるユーザーが長くて脆弱なユーザー名を選択すると、これらのユーザーページをクロールまたはキャッシュする内部サービスが、SSRF 攻撃にさらされる可能性があります。
この問題は、リリースバージョン 1.48.0 で対処されています。ユーザーにアップグレードすることを推奨します。この脆弱性に対する既知の回避策はありません。(CVE-2024-24806)
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
影響を受けるパッケージを更新してください。
プラグインの詳細
ファイル名: suse_SU-2024-0643-1.nasl
エージェント: unix
サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C
脆弱性情報
CPE: p-cpe:/a:novell:suse_linux:nodejs20, p-cpe:/a:novell:suse_linux:nodejs20-devel, p-cpe:/a:novell:suse_linux:nodejs20-docs, p-cpe:/a:novell:suse_linux:npm20, cpe:/o:novell:suse_linux:15
必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list
エクスプロイトの容易さ: Exploits are available