SUSE SLES15: tomcat / tomcat-admin-webapps / tomcat-docs-webapp / etc (SUSE-SU-2024:4106-1)

critical Nessus プラグイン ID 212591

Language:

概要

リモートの SUSE ホストにセキュリティ更新がありません。

説明

リモートの SUSE Linux SLES15 / SLES_SAP15 / openSUSE 15 ホストには、SUSE-SU-2024:4106-1 のアドバイザリに記載されている脆弱性の影響を受けるパッケージがインストールされています。

- Tomcat 9.0.97 に更新
* 修正済み CVE:
- CVE-2024-52316:Jakarta 認証が例外で失敗する場合は、500 ステータス(bsc#1233434)を設定します
* Catalina
- 追加:新しいサーブレット API メソッド HttpServletResponse.sendEarlyHints() のサポートを追加します。(markt)
- 追加:55470:ダイジェスターまたは Web アプリケーションクラスローダーで ClassNotFoundException が発生した場合にクラスパスを報告するデバッグロギングを追加します。Ralf Hauser 氏によるパッチを基にしました。(markt)
- 更新:69374:DefaultServlet のリストで、テーブルヘッダーと本文を適切に分離します。(michaelo)
- 更新:69373:DefaultServlet の HTML リストファイルの最終変更レンダリングを改善します(柔軟)。(michaelo)
- 更新:DefaultServlet の HTML 出力を改善します。(michaelo)
- コード: RateLimitFilter をリファクタリングして、FilterBase を基本クラスとして使用します。これを行う主な利点は、init-param 値を処理するコードが少ないことです。(markt)
- 更新:69370:DefaultServlet の HTML リストが正しくないラベルを使用しています。
(michaelo)
- 修正:部分的にマップされたリクエストに対する CrawlerSessionManagerValve の NPE を回避します。(REMM)
- 修正:フォルダをロックする際に、応答に欠落している WebDAV Lock-Token ヘッダーを追加します。(REMM)
- 修正:無効な WebDAV ロックリクエストは 400 で拒否する必要があります。(REMM)
- 修正:コレクションのロック解除を試行する際の WebDAV の回帰を修正します。
(remm)
- 修正:WebDAV コピー操作に対して宛先がロックされていないことを確認します。
(remm)
- 修正:リクエスト本文を含む WebDAV MKCOL 操作に 415 応答を送信します。これはオプションでサポートされていないためです。(REMM)
- 修正:WebDAV XML 要素に DAV: 名前空間を強制します。(REMM)
- 修正:親コレクションがロックされている場合、子リソースでの新しい WebDAV ロックを許可しません(RFC 4918 セクション 6.1)。(REMM)
- 修正:WebDAV の削除では、正常に削除されたリソースの既存のロックを削除する必要があります。(REMM)
- 更新:RFC 4918 セクション 7.3 および附属書 D に従って WebDAV ロックの null サポートを削除します。代わりに、存在しないリソースへのロックは、通常のロックでロックされた空のファイルを作成します。(REMM)
- 更新:RFC 4918 に準拠するために WebDAV 共有ロックの実装を書き直します。(REMM)
- 更新:Apache Jackrabbit プロジェクトのコードを使用して WebDAV If ヘッダーを実装します。(REMM)
- 追加: WebDAV サーブレットに PropertyStore インタフェースを追加して、デッド・プロパティ・ストレージの実装を可能にします。使用されるストアは、WebDAV サーブレットの「propertyStore」init パラメーターを使用して構成することができます。カスタムストアが構成されていない場合は、単純な非永続的な実装が使用されます。(REMM)
- 更新:新しく追加された PropertyStore を使用して WebDAV PROPPATCH メソッドを実装します。(REMM)
- 修正:Web アプリケーションクラスローダーリソースを検索する際に、キャッシュが見つからない結果。これは、状況によって同一クラスを繰り返し検索する java.sql.DriverManager などのコンポーネントによって引き起こされるパフォーマンス問題に対処します。大規模な Web アプリケーションでは、これによりパフォーマンスの問題が発生する可能性があります。キャッシュのサイズは、StandardContext の新しい notFoundClassResourceCacheSize によって制御できます。(markt)
- 修正:init の後にサブコンポーネントが FAILED 状態になる可能性があるため、INITIALIZED 状態の後の停止は noop である必要があります。(remm) + 修正:同じリソースに同時 PUT リクエストと DELETE リクエストがある場合に、不適切な Web リソースキャッシュサイズの計算を修正します。(markt) + 追加:Web リソースキャッシュのデバッグロギングを追加して、リソースの追加および削除時の現在のサイズを追跡できるようにします。(markt) + 更新:RFC 4918 で推奨されているように、ロックトークンに対するレガシー WebDAV opaquelocktoken: スキームを urn:uuid: で置換し、秘密の init パラメーターを削除します。(remm) + 修正:同じパスでの同時読み取りと書き込み(例:GET と PUT / DELETE)により、FileResource の破損を引き起こしていました。この状況では、フィールドの一部がファイルが存在するかのように、一部のフィールドが存在しないように設定されていました。これにより、メタデータに一貫性がなくなりました。(markt) + 修正:69415:ExpiresFilter が GET および HEAD リクエストでキャッシュヘッダーのみを設定するようにします。また、アプリケーションが Cache-Control: no-store を設定しているリクエストもスキップします。(markt) + 修正:69419:ネスト化されたインクルードのレベルが複数ある場合の ServletRequest.getAttribute() のパフォーマンスを向上します。John Engebretson 氏から提供されたパッチに基づく。(markt) + 追加:すべてのアプリケーションは、ステータスコード 103 の HttpServletResponse.sendError() を呼び出して、早期のヒント情報応答を送信します。
(schultz) + 修正:Jakarta Authentication CallbackHandler がサブジェクトに 1 つの GenericPrincipal だけを作成するようにします。(markt) + 修正:Jakarta 認証プロセスが例外で失敗する場合は、ServerAuthContext が設定していない可能性があるため、明示的に HTTP 応答ステータスを 500 に設定します。(markt) + 修正:Jakarta 認証プロバイダー構成を永続化する場合、まだ存在しない必要な親ディレクトリを作成します。
(markt) + 修正:Jakarta Authentication プロバイダー構成の永続化に関連する一時ファイルを削除する際に、エラーを検出するために使用されるロジックを修正します。(markt) + 修正:Jakarta 認証コールバックを処理する際、CallerPrincipalCallback がプリンシパルを提供しない場合、PasswordValidationCallback から取得したプリンシパルを null で上書きしないでください。(markt) + 修正:1 つの構成を 1 秒に複数回保存する場合の保存構成バックアップの損失を回避します。(remm) + 修正:69359:WebdavServlet が、不適切な Javadoc を持つスーパークラスから getRelativePath() メソッドを重複します。(michaelo) + 修正:69360:WebdavServlet と DefaultServlet の間で一貫性のない DELETE 動作。(michaelo) + 修正:リソースの削除が許可されていないとき、WebdavServlet が Allow ヘッダーを適切に返すようにします。(michaelo) + 修正:ワイルドカードでないマッピングが WebdavServlet で使用される場合のログ警告を追加します。(remm) + 修正:69361:WebDAV に対するマルチステータス応答のエントリの順序が、リソースが処理された順序と一致することを保証します。(markt) + 修正:69362:WebDAV を介するコレクションの削除の失敗時に、より優れたマルチステータス応答を提供します。削除できない空のディレクトリが応答に含まれるようになりました。(markt) + 修正:69363:WebDAV サーブレットが Web アプリケーション内のサブパスにマウントされる際に正しいパスが使用されるように、WebDAV サーブレットで getPathPrefix() を一貫して使用します。(markt) + 修正:ApplicationHttpRequest.parseParameters() のパフォーマンスを向上します。
John Engebretson 氏から提供されたサンプルコードおよびテストケースに基づきます。
(markt) + 追加:RFC 8297 のサポートを追加します(初期のヒント)。アプリケーションは、HttpServletResponse を org.apache.catalina.connector.Reponse にキャストしてからメソッドを void sendEarlyHints() を呼び出すことで、この機能を使用できます。このメソッドは、サーブレット 6.2 以降のサーブレットAPIに追加されます(キャストの必要性が不要になります)。(markt) + 修正:69214:POST を使用するが、content-type ヘッダーを含まない CORS リクエストを拒否しません。現在、Tomcat は、これを単純な CORS リクエストとして正しく処理します。thebluemountain によって提案されたパッチに基づいています。
(markt) + 修正:利用可能な場合は Subject.doAs() ではなく Subject.callAs() を使用するように SpnegoAuthenticator をリファクタリングします。(markt)
* Coyote + 修正:SSL 実装から返されたゼロレングスバイト配列で NULL の SSL セッション ID を戻します。(remm) + 修正:サポートされていないために、BoringSSL を伴う OpenSSLConf をスキップします。(remm) + 修正:AbstractHttp11Protocol にない場合、Http11Processor に HttpParser を作成し、通常の HTTP/1.1 に対するライフサイクルの堅牢性を向上させます。この新しい動作は、HTTP/2 のパフォーマンスを向上させるために以前のリファクタリングで導入されました。(remm) + 修正:init メソッドで何か問題が発生したことが判明した場合、OpenSSLContext が KeyManagementException をスローするようになりました。これは、javax.net.ssl.SSLContext.init で文書化されている挙動です。これにより、エラー処理の一貫性が向上します。(remm) + 修正:69316:FastHttpDateFormat#getCurrentDate()(HTTP 応答の日付ヘッダーを生成するために使用)が、与えられた入力に対して正しい文字列を生成するようにします。この変更前は、場合によっては出力が 1 秒間違っていた可能性があります。プルリクエスト #751 Chenjp により提供されています。
(markt) + 追加: サーバーと serverRemoveAppProvidedValues を、HTTP/2 プロトコルがネストされている HTTP/1.1 コネクタから継承する属性のリストに追加します。(markt) + 修正:APR が終了した後に GC を通じて SSLContext オブジェクトを破壊することで発生する、Apache Tomcat Native を使用する際に起こり得るクラッシュを回避します。
(remm) + 修正:リクエスト用トレーラーフィールドの HTTP/2 処理を改善します。トレーラーフィールドは、後続のストリームのヘッダーの前に受信する必要がなくなり、トレーラーフィールドが受信される前にコネクタが一時停止された場合に、進行中のストリームのトレーラーフィールドが飲み込まれる必要もなくなりました。(markt) + 修正:着信 HTTP/2 フレームの処理中にストリームレベルエラーが検出された場合、リクエストと応答が HTTP/2 ストリームに対して早すぎるリサイクルが行われないようにします。これにより、アクセスログに不適切な処理時間が表示される可能性があります。(markt) + 修正:69320 の修正の回帰、つまり、クライアントが HTTP/2 リセットフレームを送信すると、HTTP/2 処理がすべてのクライアントで中断する可能性が高いことを意味していました。(markt) + 修正:チャンクリクエスト本文のノンブロッキング読み取りの修正にある回帰を訂正します。この問題では、読み込むデータがない場合に InputStream.available() がゼロ以外の値を返していました。状況によっては、これにより、すでに受信したデータを返す代わりに、追加のデータの待機をブロックするためのブロッキング読み込みが発生する可能性があります。(markt) + 追加:新しい属性 cookiesWithoutEquals を rfc6265CookieProcessor に追加します。
デフォルトの動作に変更はありません。(markt) + 修正:OpenSSLImplementation 使用時に、クライアントからメッセージを受信した後、Tomcat がTLS close_notifyメッセージを送信するようにします。(markt) + 修正:69301:アクセスログに応答ヘッダーを書き込む際に、トレーラーヘッダーが非トレーラーヘッダーを置き換えるのを修正します。hypnoce が提供するパッチおよびテストケースをベースとします。(markt) + 修正:69302: リクエスト本文が完全に書き込まれる前に HTTP/2 クライアントがストリームをリセットする場合は、ReadListener.onErrror() への呼び出しを介してすべての ReadListener に通知されるようにしてください。(markt) + 修正:coyote のリクエストと HTTP/2 処理への応答のリサイクルを追加したリファクタリングの回帰を修正します。(markt) + 追加:Tomcat Native ではなく、FFM API を使用する OpenSSL 統合を追加します。
OpenSSL サポートは、Java 22 以降を使用している場合に、サーバー要素に org.apache.catalina.core.OpenSSLLifecycleListener リスナーを追加することで有効にできます。(remm) + 修正:読み込むリクエスト本文がある場合にのみ、HTTP/2 ストリーム入力バッファが作成されるようにしてください。(markt) + コード:パーサー構成がプロトコルに依存しており、パーサーがステートレスであるため、HttpParser インスタンスの作成をプロセッサレベルからプロトコルレベルへリファクタリングします。(markt) + 追加:HTTP/2 を HTTP/1.1 に揃え、コンテナ内部リクエストおよび応答処理オブジェクトをデフォルトでリサイクルします。この動作は、HTTP/2 アップグレードプロトコルの新しい discardRequestsAndResponses 属性によって制御できます。(markt)
* jasper + 修正:以前に生成されたコードとの互換性のために、ランタイムで廃止されたタグリリースメソッドを元に戻します。(remm) + 修正:69399:改善 69333 によって生じた回帰を修正します。この回帰では、タグプーリングを使用している場合はタグリリースが呼び出され、使用していないときはスキップされていました。Michal Sobkiewicz 氏によって提出されたパッチ。(remm) + 修正:69381:式言語のメソッド検索パフォーマンスを改善します。
必要なメソッドに引数がない場合は、キャストや強制を考慮する必要がなく、メソッドの検索プロセスを簡略化できます。
John Engebretson 氏によるプルリクエスト #770 に基づく。
+ 修正:69382:比較的高価なメソッド呼び出しの結果を、生成されたコードを繰り返すのではなく再利用することで、JSP include アクションのパフォーマンスを改善します。John Engebretson 氏が提供するパッチ。
(markt) + 修正:69398:PageContextImp における不要なオブジェクト割り当てを回避します。
John Engebretson 氏による提案に基づいています。(markt) + 修正:69406:StringInterpreterEnum を使用する場合、無効な Enum に遭遇したときに IllegalArgumentException をスローしません。代わりに、実行時に値を解決します。John Engebretson 氏が提供するパッチ。
(markt) + 修正:69429:パラメーターを一切受け付けないメソッドに対するメソッドパラメーターの EL 評価を最適化します。John Engebretson 氏が提供するパッチ。
(markt) + 修正:69333:生成された JSP から不要なコードを削除します。 (markt) + 修正:69338:2 つ以上のオペランドを持つ AND または OR 演算を含む式、および not empty を使用する式の処理のパフォーマンスを向上します。(markt) + 修正:69348:lambda 引数を追跡するために使用されるデータ構造の遅延初期化を使用することで、ELContext におけるメモリ消費を削減します。
(markt) + 修正:TldScanner をトレースレベルではなくデバッグレベルでの詳細なスキャン結果のログに戻すように切り替えます。(markt)
* Web アプリケーション + 修正:OpenSSL が使用されている場合に、マネージャ webapp が再び証明書にアクセスできるようになります。(remm) + 修正:ドキュメンテーション。ログ記録設定ドキュメントを現在のデフォルトに合わせます。(markt)
* WebSocket + 修正:ブロッキングメッセージの書き込みがタイムアウトを超えた場合、例外をスローする前に再度書き込みを試みないでください。(markt) + 修正:メッセージの書き込み中に EncodeException がスローされると、接続が自動的に閉じないようにする必要があります。アプリケーションは例外を処理し、接続を閉じるかどうかを決定する必要があります。(markt)
* jdbc-pool + 修正:69255:アプリケーションが元の SQLException を見るのではなく、ステートメントを実行する例外が java.lang.reflect.UndeclaredThrowableException でラップされることを意味していた 69206 の修正にある回帰を修正します。Michael Clarke 氏提供のプルリクエスト #744 により修正されました。(markt) + 修正:69279:69206 の修正にある回帰を修正します。この回帰は、以前は null の結果セットを返していたメソッドが、null デリゲートでプロキシを返していました。Huub de Beer 氏が提供するプルリクエスト #745 により修正されました。
(markt) + 修正:69206:Statement メソッドの executeQuery()、getResultSet()、および getGeneratedKeys() から返されたステートメントが、呼び出し側に返される前に正しくラップされていることを確認してください。Michael Clarke 氏が提供するプルリクエスト #742 に基づきます。
* その他 + 更新:コード署名を行うために、DigiCert ONE から ssl.com eSigner に切り替えます。
(markt) + 更新:byte buddy を 1.15.10 に更新してください。(markt) + 更新:CheckStyle を 10.20.0 に更新します。(markt) + 追加:ドイツ語翻訳の改善。(remm) + 追加:フランス語翻訳を改善します。(remm) + 追加:tak7iji による日本語翻訳を改善します。(markt) + 追加:Ch_jpによる中国語翻訳の改善。(markt) + 追加: デフォルトで JAR スキャンからtomcat-coyote-ffm.jarを除外します。
(markt) + 修正:トレース(FINEST)レベルのロギングを使用するようにロガーが構成されている場合に、デフォルトでログメッセージがドロップされないように、デフォルトのログハンドラーレベルを ALL に変更します。(markt) + 更新:hamcrest を 3.0 に更新します。(markt) + 更新:EasyMock を 5.4.0 に更新します。(markt) + 更新:byte buddy を 1.15.0 に更新してください。(markt) + 更新:CheckStyle を 10.18.0 に更新します。(markt) + 更新:Apache Commons BCEL の内部フォークを 6.10.0 に更新します。
(markt) + 追加:Fernando によるスペイン語翻訳の改善。(markt) + 追加:フランス語翻訳の改善。(remm) + 追加:tak7iji による日本語翻訳を改善します。(markt) + 修正:テスト専用ビルドターゲットの追加後の osgi 情報の欠落によるパッケージ回帰を修正。(remm) + 更新:tomcat native を 1.3.1 に更新します。(markt) + 更新:byte buddy を 1.14.18 に更新してください。(markt) + 追加:フランス語翻訳の改善。(remm) + 追加:tak7iji による日本語翻訳を改善します。(markt)

Tenable は、前述の記述ブロックを SUSE セキュリティアドバイザリから直接抽出しています。

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

ソリューション

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

参考資料

https://bugzilla.suse.com/1233434

https://www.suse.com/security/cve/CVE-2024-52316

http://www.nessus.org/u?167c8abd

プラグインの詳細

深刻度: Critical

ID: 212591

ファイル名: suse_SU-2024-4106-1.nasl

バージョン: 1.3

タイプ: Local

エージェント: unix

公開日: 2024/12/12

更新日: 2026/6/26

サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 4.9

パーセンタイル: 57.43

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 7.4

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

CVSS スコアのソース: CVE-2024-52316

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

脆弱性情報

CPE: p-cpe:/a:novell:suse_linux:tomcat-lib, p-cpe:/a:novell:suse_linux:tomcat-jsp-2_3-api, p-cpe:/a:novell:suse_linux:tomcat-webapps, p-cpe:/a:novell:suse_linux:tomcat-el-3_0-api, p-cpe:/a:novell:suse_linux:tomcat-servlet-4_0-api, cpe:/o:novell:suse_linux:15, p-cpe:/a:novell:suse_linux:tomcat-admin-webapps, p-cpe:/a:novell:suse_linux:tomcat

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

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

パッチ公開日: 2024/11/28

脆弱性公開日: 2024/10/9

参照情報

CVE: CVE-2024-52316

IAVA: 2024-A-0754-S

SuSE: SUSE-SU-2024:4106-1