Oracle Linux 5 : setroubleshoot (ELSA-2008-0061)

medium Nessus プラグイン ID 180621

概要

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

説明

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

setroubleshoot:
[2.0.5-3.0.1.el5]
- bugzilla.redhat.com への欠落した参照を linux.oracle.com に置き換えます

[2.0.5-3]
- 解決: バグ #436564: ppc の socket.getsockopt() が例外を生成する元の setroubleshoot-get_credentials.patch の誤字を修正

[2.0.5-2]
- 解決: バグ #437857: システムシャットダウンの python エラー
- 解決: バグ #436564: ppc の socket.getsockopt() が例外を生成する

[2.0.5-1]
- 解決: バグ #431768: xmlParseDoc() のパーサーエラー

[2.0.3-3]
- 解決: バグ #429179: 通知が表示から削除されると、通知デーモンがクラッシュする

[2.0.3-2]
- libuser-python の依存関係の削除
- 関連: バグ #224351

[2.0.2-1]
- バグ #428252 の解決: 古いバージョンの更新や削除に関係する問題
- xml データベースのバージョンを検証するコードを追加します。ファイルに互換性がない場合は読み取られず、次にデータベースが書き込まれるときには新しいバージョン形式で書き込まれます。
これは、データベースの内容がデータベースのバージョンアップグレード間で保持されないことを意味します。
- 互換性のないバージョン間でデータベースをクリアするために使用される spec ファイルから postun トリガーを削除します。代わりに、新しいデータベースのバージョンチェックがデータベースの読み込み中に処理されます。
- init スクリプトと rpm スクリプトレットにおいて確実に終了ステータスを取得する
- バグ #247302 を解決: KDE セッションにおいて、setroubleshoots の自動起動用 .desktop ファイルが起動に失敗する
- バグ #376041 を解決: setroubleshoot サービスのステータスを非 root としてチェックできない
- バグ #332281 を解決: 古い翻訳の削除
- バグ #344331 を解決: gnome-session-properties に説明がない
- バグ #358581 を解決: libuser-python の依存関係の欠落
- バグ #426586 を解決: 翻訳 po ファイルの名前を sr@Latn から sr@latin に変更
- バグ #427260 を解決: ドイツ語翻訳
- sealert man ページを強化

[2.0.1-1]
- ブラウザでタイムアウトの代わりに接続エラーメッセージを持続させます
- ブラジルポルトガル語の翻訳を更新: Igor Pires Soares <[email protected]>
- uid、ユーザー名のチェックを実装
- rpc メソッドが認証済み状態をチェックするように変更
- サマリー文字列の html 処理を修正
- ステータスバーに「名前付き」メッセージを追加し、すべてのメッセージがタイムアウトするか、名前が付けられていることを確認
- メニューの順序を修正し、バグ #427418 を解決
- ブラウザの表示フィルタリングに「hide quiet」を追加し、バグ #427421 を解決
- siginfo テキストフォーマットを調整

[2.0.0-1]
- v2 テストリリースの準備
- setroubleshoot のバージョン 2 に対する作業がほぼ完了したため、テストリリースの準備を実施
- Dans の変更をメインラインからインポートし、主に allow_postfix_local_write_mail_spool プラグインを有効にする
- html をエスケープし、siginfo.format_html()、siginfo.format_text() を修正
- async-error シグナルを追加
- ID をユーザー名のみに変更
- set_filter ユーザー検証が機能し、ブラウザでエラーを報告することを確認
- audispd に接続する際の行番号とホストの生成を修正
- permissive 通知を追加し、バグ #231334: permissive モードで文言が変更されない問題を解決
- バグ #244345 を解決: avc パス情報が不完全である
- クライアントがサーバーに接続するときに uid、gid を取得する
- set_filter は、フィルターがユーザーによって所有されているかを検証するように変更
- バグ #288261 を解決: setroubleshoot にユーザー認証が欠如している
- 使用されていないフィルターオプションを削除
- 監査データのホスト名の「@」を「.」に変更
- 再起動ダイアログを削除することで、バグ #321171: 更新後の sealerts ダイアログが非常に分かりづらい問題を解決
- rpc xml 引数を修正
- ホスト値の処理を修正
- 署名に含めるフィールドを調整
- 「avc」オブジェクトにあったデータ項目を siginfo に移動
- siginfo 形式をクリーンアップ
- 新しい監査データパイプラインの大部分の動作、チェックポイント
- xml ツリー生成時の重複した xml ノードを修正
- 監査イベントを xml シリアル化できるようになりました
- 監査レコードタイプの ints の使用から文字列へ切り替え
- 変換の問題や、新しい未知のタイプを変換できない可能性を回避
- XmlSerialize をサブクラス化し、init_from_xml_node をオーバーライドできるようにするロジックを追加
- xml シリアル化クラス AuditEventID、AuditEvent、AuditRecord にサポートを追加
- xml クラス init に対してメタクラスを使用
- 監査データクラスへの xml サポートの追加を開始
- メタクラスを使用してクラス init をラップ
- xml シリアル化コードを signature.py から xml_serialize.py に移動
- シリアル化コードの側面を簡素化
- 構造化されていない xml マッピングを追加し、各 xml 要素名のコンテンツは obj.name にマッピングされるようにする
- xml シリアル化を xml の内容に基づき制御するよう修正
- 一般的なクリーンアップ
- メタクラスを使用するためのシリアル化のチェックポイント変換
- XmlSerializable のクラスやデータ仕様をクリーンアップ
- クライアント rpc テストのサポートを追加
- 変更ログエントリを追加
- 準備として、SubProcess クラスを setroubleshootd に追加
- 結果を収集し、送信した予想されるデータと比較できるように、デーモンをサブプロセスとして実行
- 新しい v2 監査データを使用するためにすべてのプラグインを書き換えます
- デーモンをサブプロセスとして実行するための準備として、setroubleshootd に SubProcess クラスを追加し、結果を収集して、送信した予想データと比較できるようにする
- 新しいテストサポートの追加: 設定セクションに「test」を追加し、テストセクションにブール値「analyze」を追加します。test.analyze が True の場合にインストールされる TestPluginReportReceiver クラスを追加し、分析レポートを出力します。test_setroubleshootd で、AUDIT_EOE を送信して順次イベント処理を確実に実行し、分析結果が test_setroubleshootd によって送信されたイベントと同じ順序になるようにします
- アラート署名にホスト情報が含まれるようになりました。アラートはホスト別にグループ化されます

[1.10.7-1]
- HTML ページを開くための仕様ファイルの require を修正します。configure.ac で、優先順位に従って xdg-open と htmlview を検索し、見つかったものを変数 html_browser_open に設定します。仕様ファイルでは、fedora の場合は xdg-utils、RHEL の場合は htmlview が必要です。
- ブラウザに「ホスト」列を追加し、「列の表示を切り替える」メニューを追加して、任意の列の表示をオンやオフに切り替えることができます
- バグ #310261 を解決: setroubleshoot 通知が制限されない
- AUDIT_EOE がキャッシュされたイベントを即座に発行する場合、イベントの終了である AUDIT_EOE のサポートを追加します。AUDIT_EOE が発生した場合、イベントのフラッシュに使用されるタイムアウトを無効にします。

[1.10.6-1]
- dist タグに固有の spec ファイルで selinx-policy を要求する

[1.10.5-1]
- ブラウザ用に導入された新しいログファイルスキャンコードと連動するように、コマンドラインログファイルスキャンのコードを更新。
- ブルガリア語翻訳の更新 (Doncho N. Gunchev 氏 ([email protected]))
- ポーランド語の翻訳を更新 (Piotr Drag 氏 ([email protected]))
- バグ #239893 を解決: sealert が頻繁に起動する。これは、スレッドおよび pygtks スレッドの信号処理の使用が原因でした。sealert のスレッドの使用はログファイルのスキャンのみで、スキャン中に UI の応答性を維持できます。sealert のスレッドは完全に削除されました。代わりに、メインループから呼び出される gobject idle 関数でスキャン作業が実行されます。アイドル関数は、関数が少量の作業を実行し、実行状態を保存して戻ることを可能にする Python ジェネレーター関数として記述されます。idle 関数は、次回メインループから呼び出されたときに、制御を再び明け渡すことが決定されるまで、最後の状態から実行を再開し続けます。このようにして、アプリケーションがアイドル状態で残りの GUI イベント処理に干渉しない時間帯に、長期間実行されるスキャン/分析を連続する小さな作業単位で実行できます。すべてがイベントループで発生するようになりました。タイムスライスを実行するイベントハンドラーを持つアプリケーションのプロセス/スレッドスケジューラと考えてください。
- 監査入力パイプラインの一部を書き直し、コールバックの代わりにジェネレーターを使用することで、ログファイルスキャンコードがより粒度の高い制御を行えるようになりました。新しいジェネレーターや yield ロジックを使用するように test_setroubleshootd と audisp_listen も更新されました。
- ログファイルのスキャンに使用されるダイアログを書き直しました。プログレスバーの更新がダイアログに含まれるようになりました。スキャンを途中で終了することができます。スキャンからのエラーはポップアップダイアログで報告されます。正常に完了しなかった場合、ユーザーにはキャンセルのオプションのみが残ります。
- バグ #252035 bug #247469を関連付け、SELinux が無効な場合、setroubleshootd および sealert は終了する必要があります。
- ユーティリティ関数 escape_html() および unescape_html() を追加
- ブラウザの初期並べ替え順序を修正し、ブラウザの並べ替え順序を追跡する
-「AVC.get_path()」を修正し、「path」フィールドが設定されている場合にのみ値を返すようにしてください。以前は「name」や「file」フィールドも考慮していましたが、これは誤りでした。また、「get_path()」は、文字列がスラッシュで始まるかを確認し、完全修飾パスであることを判断します。スラッシュで始まらない場合は、「pipe[12345]」や「socket[12345]」のような擬似パスかどうかを確認し、括弧内のインスタンス情報を削除して擬似パスの種類のみを返すようにします。これは、拒否ごとに署名のパス情報が一意にならないようにするためです。

- TimeStamp クラスを修正し、内部の datetime メンバーを非表示にしてください。また、cmp() メソッドを削除し、内部の __cmp__ が自動的に呼び出されるようにします。

- システム dbus の使用を許可するために spec ファイルに selinux ポリシーバージョンが必要です

- バグ #256601 を解決: 拒否リストにコンマ「,」がある場合、audit2allow が正しくない構文を生成する

- po i18n ファイルを更新

- データベースの古さとサイズによるプルーニングサポートを追加

[1.10.4-1]
init スクリプトを修正

[1.10.3-1]
- 新しい audit_data.py 実装を使用するように avc_audit.py を変更

- 監査イベントを、バイナリプロトコルモードで /var/run/audit_events、またはテキストプロトコルモードで /var/run/audisp_events から受信できるようにする

[1.10.2-1]
- コピーされたすべてのコードを test_setroubleshootd から削除し、setroubleshoot からインポートする
- ClientConnectionHandler を rpc.py から基本クラスとしてエクスポートします。
ClientConnectionHandler から SetroubleshootdClientConnectionHandler および AuditClientConnectionHandler を派生させます。
- audisp_listen をテストプログラムとして追加
- src を指す最上位の devel ディレクトリに setroubleshoot シンボリックリンクを作成し、PYTHONPATH=topdir の場合に setroubleshoot.foo をインポートする
- get_option、convert_cfg_type を config.py.in に追加して、オプションの dict を渡して設定ファイルの設定をオーバーライドできるようにする
- log_init() を書き換えて、他のプログラムが使用しやすくし、ログと設定に関するインポートロジックを修正
- test_setroubleshoot からログコードを削除し、setroubleshoot からのインポートのみを実行するようにします。
- test_setroubleshootd は、テキスト形式とバイナリ形式の両方の監査レコードを処理できるようになり、コマンドライン引数で選択できるようになりました。ソケットで接続しているクライアントまたは stdout に出力できるようになりました。N ソケットクライアント接続後にオプションで終了できるようになりました。
- テストデータから非監査レコード行を削除する
- config_init() および log_init() をパッケージ __init__.py から削除。これらを呼び出す場所が間違っていたため、最初の setroubleshoot インポートの前にプロセスが初期化されるときにこれらを呼び出すようにする
- parse_config_setting() および set_config() を設定モジュールに追加
- setroubleshootd が、-c --config コマンドライン引数を受け入れるように変更
- test_sectroubleshoot: err 定義と program_error 例外を追加し、is_valid() テストを追加して、有効な監査レコードを読み取っていることを確認し、認識されない行をログに記録することで、有効でない場合はソケットをクリーンアップして close() を実行する

- 関連するバグ #247056、initscript を LSB 標準に更新。注意: Fedora の LSB initscript にはまだ解決されていない問題がありますが、実装された変更では LSB ブロックを追加し、新しい LSB try-restart および force-reload コマンドをサポートしています。ただし、新しい /lib/lsb/init-functions は、これが不安定な部分であるため、現在使用されていません。

[1.10.1-1]
- BuildRequires perl-XML-Parser を追加

[1.10.0-1]
- すべてのプラグインとその翻訳を独立したパッケージに移動
- try/except 内で XML 生成をラップする
- avc_auparse.py でアクセスリストを取得する方法を修正
- AnalyzeThread.run のトップレベル周辺に try/except を追加し、スレッドの例外が報告され、分析スレッドが停止しないようにします。
- LogfileThread.process_logfile の try/except も追加する
- 新しい関数 emerge_file_ownership_permissions() を追加
- サーバーは、そのデータベースファイルの権限/所有権を強制的に 0600 root:root にするようになりました
- rpm がサーバーのデータベースファイルの権限や所有権を 0600 root:root に強制するように変更
- バグ #251545 を解決: レビューリクエスト: setroubleshoot-plugins - setroubleshoot の分析プラグイン
- setroubleshoot.spec の他のいくつかの rpmlint 警告をクリーンアップ
- setroubleshoot アイコンのインストールの欠落と、それへのシンボリックリンクを修正
- バグ #251551を解決。setroubleshoot が間違ったデスクトップメニューに表示され、rpm インストールで desktop-file-install も実行される
- /etc/dbus-1/system.d/setroubleshootd.conf dbus 設定ファイルを追加
- 依存関係が欠落しているバグ #250979、バグ #250932 を解決
- 何らかの理由で削除された plugins/Makefile.am を復元
- dus.dbus_bindings.bus_name_has_owner() を削除、F7 以降は非推奨
- rpm トランザクションを try/except でラップする

[1.9.7-1]
- バグ# 241739 を解決。このバグは、複数のバグレポートにおける主なバグです。すべて同じ問題の結果であり、コンポーネント間の i18n エンコーディングの非互換性のため、ラテン語以外の言語環境で実行すると setroubleshootd/sealert が発生します。

[1.9.6-1]
- avc_auparse.py を追加。組み込みの監査解析の代わりに監査解析ライブラリを使用するオプションが追加されました。
- ログファイルスキャンおよび詳細表示更新のバグを修正
- バグ# 238516 を解決、python pkg ディレクトリは所有されていない

[1.9.5-1]
- 翻訳の更新
- 誤ってラベル付けされたファイルを修正

[1.9.4-1]
- disable_trans ブーリアンを削除
- chcon -R を提案する前に、ファイルシステム内のパスをチェック
- ローカルポートでリッスンするためにデフォルトを削除

[1.9.3-1]
- /usr/share/icons にアイコンをインストールし、標準 API を使用して名前でアイコンを参照する
- setroubleshoot ブラウザログファイルスキャンのパフォーマンス問題を修正
- setroubleshoot ブラウザのデータやビュー管理コードを大幅に書き直しました。データとビューが明確に分離され、選択とビューの状態を維持しながらデータビューを簡単に切り替えることができ、ステータス領域のステータス情報も適切に更新されます。
- バグ# 227806 を解決: コンテキストメニューを右クリックすると選択がリセットされる
- ログファイルスキャンが独立したスレッドで動作するようになりました、スキャン中のブラウザの適切な非同期更新、ブラウザがハングアップしているように見えました
- バグ# 224340 を解決: glade の代わりに UIManger を使用するようにメニュー/ツールバー/ポップアップを書き換える
- toobar のサポートを追加
- setroubleshoot ブラウザでメール受信者リストを編集するための GUI を実装
- setroubleshoot ブラウザにユーザーヘルプを追加しました
- 関連バグ #224343:デスクトップテーマの変更に応答するために setroubleshoot ブラウザを修正
- sealert のトレースバックエラー報告を改善
- AboutDialog を書き換えて、Grade バージョンを置換
- バグ #229849、バグ#230115、関連バグ #221850 を解決:「_uuid_generate_random」が定義されていないエラーを解決するために uuid コードを修正

[1.9.2-1]
- 監査ライブラリがサポートを終了しているため、AuditMsg を取り込む

[1.9.1-1]
- サーバーパッケージと gui パッケージに分割

[1.8.19-1]
- 不適切な avc メッセージを引き起こしている、uuid の ctypes の使用を削除する

[1.8.18-1]
- Plugin.py から avc を削除する

[1.8.17-1]
- util.py の tempfile 処理を削除する。多数の avcs を引き起こし、使用されない

[1.8.16-1]
- 解決済み: バグ# 224343 sealerts の「Aditional Info:」テキストは白いボックス内に表示される必要がある
- 解決済み: バグ# 224336 sealert にはメニュー表示に GtkRadioButtons が必要
- 関連: バグ #224351 変更する出力カテゴリや出力先のサポートを改善するために、ロギングサポートを一部書き換えます。sealert で -v -V verbose が機能するようになりました。
- バグ # 225161 を解決し、付与された AVC が誤って拒否として識別されました
- ステータスバーにアラートカウントを追加
- [ヘルプ] メニューに「ヘルプ」コマンドを追加し、wiki ユーザー FAQ でウェブブラウザを開きます [Dan Walsh <[email protected]>]
- setroubleshoot.logrotate を適切に作成する

[1.8.15-1]
- po の更新
- 追加のプラグイン
- プラグインのクリーンアップ

[1.8.14-1]
- 解決済み: バグ# 221850 プラグインモジュールの読み込みが Python 2.5 で失敗し、「SystemError: 親モジュール「プラグイン」が読み込まれていません」というメッセージが表示されていました。これは Python 2.4 と 2.5 の間の動作の変更によるものです。Python 2.4 では、親モジュールの欠如が目立たない形で無視されていました。この修正は、最初に plugins.__init__ をロードすることです。

[1.8.13-1]
- 翻訳の更新

- SETroubleshootDatabase を変更し、ファイルによってサポートされる場合はオプションになりました。これにより、永続化を必要としないログファイルをスキャンするときに、一時ファイルが散らかる問題が修正されます。

- ログファイルが開かれていない場合、ログファイルの表示メニュー項目を無効にする

- ログファイルがなく、コンソールフラグが設定されている場合の冗長なログメッセージを修正します。ログファイルがない場合、ロギングモジュールはコンソールストリームを開くため、コンソールフラグによって生成されるコンソールストリームは冗長でした。

- ユーザー名とパスワードのコマンドライン引数を追加し、実際の作業を行う前にすべてのコマンドライン引数が処理されるようにスタートアップロジックを修正

- メール設定を修正し、各メールアドレスにフィルタータイプを関連付けることができるようにします。

最初のアラートが配信された後にフィルタリングする新しい filter_type「最初の警告後は無視する」を追加

- アラートが送信されるメールアドレスを設定するための UI を追加します。
E メールリストを編集するメニュー項目を追加し、E メールリストダイアログを追加します。
「受信者」設定ファイルエントリを削除します。リストが別のファイルに保存されるようになりました。rpc をクエリに追加し、電子メールリストを設定します。GUI はこれを呼び出して、サーバーから現在のリストを取得してサーバーに設定します。ファイルの読み取りと書き込みを行うのはサーバーです。各メールエントリに「有効」フラグを追加します。
アラートを受信したときにサーバーがメーリングリストを反復処理する方法を変更します。アラートを送信済みとしてマークする場合、ユーザー名はメールアドレスですが、同じユーザーのメール以外のフィルタリングオプションと衝突しないように「email:」が先頭に付きます。

[1.8.12-1]
- python 要素ツリーの古い要求を削除

setroubleshoot-plugins:
[2.0.4-2]
- setroubleshoot が必要への変更には、setroubleshoot-server が必要です

[2.0.4-1]
- 解決: バグ #431768: xmlParseDoc() のパーサーエラー

[2.0.3-2]
- policycoreutils の依存関係を削除
- 関連: バグ #224351

[2.0.2-1]
-catchall_boolean.py プラグインを追加

[2.0.1-1]
- バグ #332281 を解決: 古い翻訳の削除
- バグ #426586 を解決: 翻訳 po ファイルの名前を sr@Latn から sr@latin に変更

[2.0.0-1]
- v2 テストリリースの準備

[1.10.4-1]
- allow_postfix_local_write_mail_spool プラグインを追加
- execute typo を修正

[1.10.3-1]
- 新しい v2 監査データを使用するためにすべてのプラグインを書き換えます

[1.10.3-1]
- バグ #231762 を解決: 元の PO 文字列のバグ

[1.10.2-1]
- use_nfs_home_dir の優先度を 55 に変更

[1.10.1-1]
- BuildRequires perl-XML-Parser を追加

[1.10.0-1]
- すべてのプラグインとその翻訳を setroubleshoot-server パッケージからこの新しい独立したパッケージに移動し、プラグインのみをより簡単に更新できるようにします

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

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

ソリューション

影響を受ける setroubleshoot や setroubleshoot-server パッケージを更新します。

参考資料

https://linux.oracle.com/errata/ELSA-2008-0061.html

プラグインの詳細

深刻度: Medium

ID: 180621

ファイル名: oraclelinux_ELSA-2008-0061.nasl

バージョン: 1.3

タイプ: local

エージェント: unix

公開日: 2023/9/7

更新日: 2024/11/1

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

リスク情報

VPR

リスクファクター: Medium

スコア: 5.9

CVSS v2

リスクファクター: Medium

基本値: 4.4

現状値: 3.3

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

CVSS スコアのソース: CVE-2007-5495

CVSS v3

リスクファクター: Medium

基本値: 4.6

現状値: 4

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

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

CVSS スコアのソース: CVE-2007-5496

脆弱性情報

CPE: p-cpe:/a:oracle:linux:setroubleshoot, cpe:/o:oracle:linux:5, p-cpe:/a:oracle:linux:setroubleshoot-server, p-cpe:/a:oracle:linux:setroubleshoot-plugins

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

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

パッチ公開日: 2008/5/30

脆弱性公開日: 2008/5/21

参照情報

CVE: CVE-2007-5495, CVE-2007-5496