openSUSEセキュリティ更新プログラム:git(openSUSE-2020-598)

critical Nessus プラグイン ID 136311

Language:

概要

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

説明

このgitの更新では、次の問題を修正します:

修正されたセキュリティ問題:

- CVE-2020-11008:特別に細工されたURLにより、使用されているプロトコルと接続しているホストに適さない認証情報を提供するように認証情報ヘルパーがだまされる可能性があります(bsc#1169936)

gitが2.26.1に更新しました(bsc#1169786、jsc#ECO-1628、bsc#1149792)

- sysvinitからsystemdサービスへの変換後に開始しないgit-daemonを修正します(bsc#1169605)。

- CVE-2020-5260:改行文字を含む特別に細工されたURLを使用して、Gitクライアントが間違ったホストに関する認証情報を攻撃者のサイトに送信した可能性があります bsc#1168930

git 2.26.0 (bsc#1167890、jsc#SLE-11608):

- 「git rebase」は、デフォルトで「merge」機構に基づく別のバックエンドを使用するようになりました。「rebase.backend」構成変数が「apply」に設定されたときの以前の動作に戻されました

- スパースチェックアウトの処理を改善しました

- 多数のコマンドと内部機能の改善

git 2.25.2:

- 特定の操作におけるさまざまなサブコマンドに対するバグ修正

git 2.25.1:

- 「git commit」が、advisor.statusHintsを優先するようになりました

- さまざまな更新、バグ修正、およびドキュメント更新

git 2.25.0

- ブランチ記述(「git branch --edit-description」)がformat-patchコマンドによるカバーレターの本文の入力に使用されていました。これが件名も入力できるように強化されました。

- いくつかのコマンドが、「 --pathspec-from-file」オプションを使用して、コマンドライン引数としてではなく、標準入力または指定ファイルからpathspecを取得するようになりました。

- テストがSHA-2移行継続に備えるように更新しました。

- 「git name-rev」をやり直して、再帰呼び出しを回避します。

- 一部のサブディレクトリ内のすべてのファイルの名前がrootディレクトリに変更されると、ディレクトリの名前変更のヒューリスティックが、rootディレクトリへのサブディレクトリの名前変更/マージとしてのその検出に失敗する可能性がありましたが、修正されました。

- HTTPトランスポートに、アロケーター/デアロケーターの不一致の可能性がありましたが、修正されました。

git 2.24.1:

- CVE-2019-1348:高速インポートの--export-marksオプションが、インストリームコマンド機能のexport-marks=...を介しても漏洩し、任意のパスの上書きを可能にします(bsc#1158785)。

- CVE-2019-1349:Windows上でサブモジュールが再帰的に複製される場合に、特定の状況下でGitが同じGitディレクトリを2回使用するようにだまされる可能性のある問題を修正しました(bsc#1158787)。

- CVE-2019-1350:コマンドライン引数の間違った引用により、SSH URLと連結した再帰的な複製中のリモートコード実行につながる可能性がありました(bsc#1158788)

- CVE-2019-1351:Windows上で、相対パスとしての米国英語のアルファベット以外のドライブ文字が間違っています(bsc#1158789)

- CVE-2019-1352:Windows上で、NTFS Alternate Data Streamsが認識されていませんでした(bsc#1158790)

- CVE-2019-1353:正規のWindowsドライブ上の作業ディレクトリにアクセスする際にLinux用Windowsサブシステムで実行したときに、NTFS保護がどれもアクティブになりませんでした(bsc#1158791)

- CVE-2019-1354:Windows上で、ファイル名にバックスラッシュを含む追跡対象ファイルの書き込みが拒否されます(bsc#1158792)

- CVE-2019-1387:サブモジュール名の検証が緩すぎることによる再帰的な複製の脆弱性により、リモートコード実行を介した攻撃の標的になる可能性がありました(bsc#1158793)

- CVE-2019-19604:再帰的な複製とその後のサブモジュールの更新によって、ユーザーが明示的に要求していないにもかかわらず、リポジトリ内に含まれるコードが実行される可能性がありました(bsc#1158795)

git 2.24.0

- コマンドラインパーサーが「--end-of-options」表記を解釈するようになりました。

- 構成変数の(関連)グループのデフォルト設定に影響を与えるメカニズムが導入されました。

- 「git fetch」が、「--set-upstream」オプションを学習して、プッシュ先のプライベートフォークからの初めての複製を支援し、「git remote add」を介して真のアップストリームを追加してから、そこから「git fetch」を実行しました。

- UI、ワークフロー、および機能の修正と改善、bash完了の修正

git 2.23.0:

- 「format-patch」の「--base」オプションでは、前提条件パッチのpatch-idsが不安定な方法で計算されていましたが、「git patch-id

--stable」と互換性のある方法で計算されるように更新しました。

- 「git log」コマンドは、デフォルトで、
--mailmapオプションが指定された場合と同様に動作します。

- UI、ワークフロー、および機能の修正と改善

git 2.22.1

- 「git init --template=<path> <repo>」に指定された相対パス名は、「git init」が呼び出されるディレクトリに関連する必要がありましたが、リポジトリに関連付けられていたため、修正されました。

- 同じリポジトリに接続されている別のワークツリーが破損した場合に「git worktree add」が失敗していましたが、修正されました。

- コミットをツリーのように表示しようとすると「git am -i --resolved」でセグメンテーション違反が発生しましたが、修正されました。

- 「git merge --squash」は、コミットを作成せずに作業ツリーとインデックスを更新するように設計されています。これは、「--commit」オプションを追加することによって対処することができません。
両方のオプションが指定された場合は、コマンドが動作を拒否するようになりました。

- Unicode 12.1の幅テーブルへの更新。

- 「git request-pull」が、ローカルリポジトリと公開されたリポジトリでプルが依頼されたrefが異なる場合に警告するようになりました。

- レイジークローンへの「git fetch」で、シンパックファイル内のデルタを完了するために必要なベースオブジェクトがフェッチされませんでしたが、修正されました。

- URLデコーディングコードが更新され、%-<hex>-<hex>シーケンスの解析中に文字列の最後を越えないようになりました。

- 「git clean」は、lstat()を実行できない場合に、警告なしにパスをスキップしていました。現在は警告を表示するようになりました。

- 競合するパスを解決するための「git rm」で、パスが実際に削除される前に「needs merge」という内部メッセージが漏洩していました。これが、混乱の元になっています。これは修正されました。

- その他の複数のバグ修正とコードのクリーンアップ。

- SuSEfirewall2がfirewalldで置き換えられたことによるSuSEfirewall2サービスの削除。

- 500エラーを表示するgit instawebの部分的な修正(bsc#1112230)

git 2.22.0

- レイジー/部分クローンの作成に使用されたフィルター指定「--filter=sparse:path=<path>」がするために使用されるが削除されました。
スパース仕様としてのプロジェクトの一部であるblobの使用は、「--filter=sparseoid=<blob>」オプションでサポートされています。

- 「git checkout --no-overlay」を使用して、tree-ishからのパスをチェックアウトする新しいモードをトリガーできます。これにより、現在のインデックスと作業ツリー内に存在するが、tree-ish内には存在しないpathspecと一致するパスが可能になります。

- 4つの新しい構成変数{author,committer}.{name,email}が導入され、より具体的なケースでuser.{name,email}がオーバーライドされます。

- 「git branch」に新しいサブコマンド「--show-current」が増えました。

- コマンドラインの完了(contrib/内)が、より多くのサブコマンドパラメーターを完了するようになりました。

- 完了ヘルパーコードは、リポジトリローカルの構成(利用可能な場合)に注意を払うようになりました。これにより、--list-cmdsは、たとえば、complete.commandsのリポジトリ固有の設定を優先することができます。

- 競合するマージの終了中にエディターに表示される競合するパスのリストは、クリーンアップモードが「scissors」に設定されている場合に、ユーザーがマージをより適切に説明可能な更新されたパスのリストやその他の情報のようにコメントアウトされても、scissorsの線上に表示されました。

- Cに再実装された「git rebase」がORIG_HEADを正しく設定しませんでしたが、修正されました。

- 「git worktree add」が、競合状態になりやすい「find an available name with stat and then mkdir」を実行するために使用されていました。これは、mkdirを使用して、ループ内のEEXISTに対処することで修正されました。

- DocBook 5.xに移動します。Asciidoctor 2.xが、レガシーDocBook 4.5形式をサポートしなくなりました。

- bashとtar usrMerge用にgit-web AppArmorプロファイルを更新します(bsc#1132350)

git 2.21.0

- これまでは、マージコミットで作業している場合は、「-m」(メインライン)オプションを「git cherry-pick」と「git revert」にしか使用できませんでした。Gitのこのバージョンは、「-m」オプションに対する引数が1である限り(つまり、親が1つだけで、リクエストがその最初の親に関連して選択するまたは取り消すこと)、単一親コミットで作業している場合に警告やエラーを表示しなくなりました。この変更により、挙動に依存するスクリプトが破損する可能性があります。

- 高速エクスポートと高速インポート用のマイナーな修正と機能。

- 「http.version」構成変数は、cURLライブラリの十分最近のバージョンで使用して、フェッチとプッシュの際にトークに使用されるHTTPのバージョンを強制できます。

- 「git push $there $src:$dst」は、$dstが完全修飾参照名」ではなく、エンドユーザーの意図が明らかでない場合に拒否します。

- アップストリームからの「git multimail」を更新します。

- 現在時刻との差に応じて出力を変形させる新しい日付形式「--date=human」が導入されました。「--date=auto:human」は、出力がページャーやターミナルに送信される場合はこの新しい形式(または既存の形式)を使用し、それ以外の場合はデフォルトの形式を使用するために使用できます。

- ワークツリー作成の競合を修正します(bsc#1114225)。

- -daemonサブパッケージにシャドービルドの依存関係を追加します。

git 2.20.1:

- ポータビリティの修正

‐ 過度に長いエイリアスが定義された場合に、「git help -a」が適切に機能しませんでした

- run_command APIが欠落していたコマンドの実行に失敗した場合に、エラーメッセージが抑制されなくなりました

git 2.20.0

- 「git help -a」で詳細な出力が提供されるようになりました(「git help -av」と同じ)。古い出力が必要な場合は、「git help --no-verbose -a」と指定できます。

- 「git send-email」は、名前が「-by」で終わるトレーラー上でアドレス検索文字列を取得するようになりました。

- 「git format-patch」に、このバージョンと以前のカバーレター内(またはコメントとしての三破線の後ろ)の試みの違いを説明するために、新しい「--interdiff」オプションと「--range-diff」オプションが増えました。

- 開発者は。-Wunused-functionコンパイルオプションを使用するようになりました。

- パスが欠落している(たとえば、手動で削除された)場合に、複数のワークツリーエントリで同じパスが登録される可能性のあるバグを修正します。また、必要に応じて、--forceが適用可能なケースの数を増やします。

- 過度に大きなDocumentation/config.txtファイルは、数百万の小さな断片に分割されました。これにより、個々の断片をより簡単に影響を受けるコマンドのマニュアルページに含めることができます。

- packstream内の無効な形式のデータや細工されたデータにより、コードが、エラーを報告する代わりに、割り当てられたバッファを越えて読み書きして中断させる可能性がありましたが、修正されました。

- 部分的なコミット中に縮小するとインデックスファイルが破損する、長期間存在するバグを修正します。

- 発生していないブランチにマージする「git merge」と「git pull」で、「--verify-signatures」が完全に無視されていましたが、修正されました。

- ...およびその他の複数の機能と修正

git 2.19.2:

- 複数のサブコマンドと操作に関するさまざまなバグ修正

git 2.19.1:

- CVE-2018-17456:- 特別に細工された.gitmodulesファイルにより、リポジトリが--recurse-submodulesを使用して複製された場合に任意コード実行が発生する可能性があります(bsc#1110949)

git 2.19.0:

- 「git diff」はインデックスと作業ツリーを比較します。intent-to-addビットで追加されたパスの場合は、コマンドで追加されたパスの完全な内容が表示されますが、パス自体は新しいファイルとしてマークされませんでした。これらがデフォルトで新規として表示されるようになりました。

- 「git apply」に、「--intent-to-add」オプションが増えたため、パッチの作業ツリー専用アプリケーションが、「intent-to-add」ビットでマークされたインデックスに新しいパスを追加します。

- 「git grep」に、ヒットの行番号だけでなく列番号も提供する「--column」オプションが増えました。

- 「git branch -l」の「-l」オプションは「--create-reflog」の不便な省略表現ですが、新旧両方の多くのユーザーが、おそらく他の何か(「--list」など)であると期待しています。このステップは、「-l」が「--create-reflog」の省略表現として使用された場合に警告を出し、今後はその用途が変更されることを警告します。

- .phpのuserdiffパターンが更新しました。

- 「git send-email」がデフォルトで送出するメッセージのcontent-transfer-encodingは8ビットのため、RFC 5322/2822の制限を守らない過剰に長い行が存在する場合に問題が発生する可能性があります。ペイロード内にそのような行が存在する場合にquoted-printableに自動的に切り替える新しいオプション「auto」が導入されており、これがデフォルトになっています。

- 「git checkout」と「git worktree add」は、同じ名前を共有する追跡ブランチがある複数のリモートからなるリポジトリ内のリモート追跡ブランチからローカルブランチを自動検証するときに、checkout.defaultRemoteを優先するようになりました。(後で8d7b558bae ab/checkout-default-remoteをmaintにマージします)。

- 「git grep」に、「--only-matching」オプションが増えました。

- 「git rebase --rebase-merges」モードで、octopusマージも処理されるようになりました。

- 「git fetch」トランザクション中の共通の祖先の発見中にコミットのたびに1つ前に戻るのではなく、より大きなパックファイル転送を受け入れる可能性のある、より少ない反復回数でより広い履歴の範囲をカバーする試みで、指数関数的/フィボナッチストライドでコミットをスキップするためのサーバー側のノブを追加します。(後で42cc7485a2 jt/fetch-negotiator-skippingをmaintにマージします)。

- 新しい構成変数のcore.usereplacerefsが追加されました。これは、主に、サーバーインストールで置換メカニズムをまとめて無視する場合に役立ちます。

- 「gnupg」を介してopenpgpを使用する代わりに「gpgsm」を介してx.509証明書とCMSを使用できるようにする、いくつかの構成変数(「openpgp」または「x509」に設定可能なgpg.formatと形式を処理するためにどのプログラムを使用するかを指定するためのgpg.<format>.program)を「git tag -s」などに教えます。

- その他の複数の文字列がl10n用に用意されています。

- 「git p4 send」が、送信を続行する必要があるかどうかを独自の事前送信フックに問い合わせるようになりました。

- 不適切なオブジェクトがリポジトリに侵入するのを防ぐために「git push」の受信端で実行されるテストは、receive.fsck.*構成変数を介してカスタマイズできます。
fetch.fsck.*構成変数を使用して「git fetch」側で同じことをするための同等の機能が用意されました。

- 「git pull --rebase=interactive」に、「interactive」の省略表現として「i」が増えました。

- 「git instaweb」が、RedHatベースのディストリビューションでより新しいApacheとより適切に動作するように調整されました。

- 「git range-diff」は、トピックの2回の繰り返しで個々のパッチを比較可能な「git tbdiff」の再実装です。

- サイドバンドコードは、オプションで、受信端での着信行の先頭で選択されたキーワードをペイントするようになりました。

- 「git branch --list」は、「git tag --list」が「tag.sort」を参照するように、「branch.sort」構成変数からデフォルトのソート順を取得するようになりました。

- 「git worktree」コマンドに、冗長性を軽減するための「--quiet」オプションが増えました。

git 2.18.0:

- 名前変更検出ロジックの改善

- より新しいcURLでビルドした場合に、GIT_SSL_VERSIONで「tlsv1.3」をその値として指定できるようになりました。

- 「git mergetools」が、guiffyと対話するようになりました。

- その他のさまざまなワークフローの改善と修正

- パフォーマンスの向上とその他の開発者に見える修正

git 2.17.1

- サブモジュール'names'は信頼できない.gitmodulesファイルに由来しますが、盲目的にそれらを$GIT_DIR/modulesに追加してオンディスクリポジトリパスを作成します。これは、名前に「../」を付加することで、不適切な操作を実行できることを意味します。Gitにこのような悪意のある名前を無視させるサブモジュール名のルールを強制するようにしました(CVE-2018-11235、bsc#1095219)

- NTFS上のパスをサニティチェックするコードを偽装して、メモリのランダム部分を読み取る可能性がありました(CVE-2018-11233、bsc#1095218)。

- 追跡対象コンテンツとしてこのような問題のある.gitmodulesファイルなどを作成しようとするリポジトリへのプッシュを拒否するサーバー側のサポートにより、ホスティングサイトは、悪意のあるコンテンツの拡散を防止して顧客を保護できます。

git 2.17.0:

- コマンドの「diff」ファミリーに、検出結果を名前付きオブジェクトに関する変更に制限するための「--find-object=<object-id>」オプションが増えました。

- 「git format-patch」が、diffstatに72-colsを指定するようになりました。これは、サブコマンドが電子メール用の出力に使用する他の行長制限と一貫性があります。

- 新しいオプションを使用すれば、「git daemon」からのログをリダイレクトできます。関連するユースケースの1つは、ログをinetdから実行する際に標準エラー(syslogではなく)に送信する場合です。

- 「git rebase」に、「--allow-empty-message」オプションが増えました。

- 「git am」に、既存の「--abort」オプションに加えて「--quit」オプションが増えました。ペアにすることで、「rebase」や「cherry-pick」などの他のいくつかのコマンドと同様に使用できます。

- 「git worktree add」が、「git clone」が初期チェックアウト時に実行するように、チェックアウト後のフックを実行するようになりました。

- 「git tag」に、「-m」と「-F」を介して指定されたメッセージをさらに編集できるようにする明示的な「--edit」オプションが増えました。

- 「git fetch --prune-tags」は、ローカルに保持されている古いタグを削除するための便利な省略表現として使用できます。

- 新しい「--show-current-patch」オプションにより、「git rebase」(と「git am」)が競合して停止した場合にdiffを適用する手段がエンドユーザーに提供されます。

- 「git add -p」は、ハンクが1つしかなくても「/」(一致するハンクを探す)を提供するために使用されていましたが、修正されました。また、単一キーのヘルプが、有効なキーに対してのみ表示されるようになりました(たとえば、ハンクが1つしかない場合は、「/」用のヘルプが表示されません)。

‐ Git 1.7.9以降は、タグオブジェクトをマージする際に、「git merge」がデフォルトで--no-ffに設定されます(つまり、
マージするサイドブランチが現在のコミットの子孫の場合でも、早送りではなくマージコミットを作成します)。これは、ダウンストリームのコントリビューターによって署名されたタグをプルするインテグレーターにとっては適切なデフォルトでしたが、いつもアップストリームからのタグ付けされたリリースを使用してトピックブランチを「キャッチアップ」しているダウンストリームのコントリビューターが使用すると、不要なマージを引き起こしました。refs/tags/階層内の通常の場所に「存在しない」タグオブジェクトをマージする場合にのみ、「git merge」がデフォルトで--no-ffに設定されるように更新します。これにより、問題を緩和するための早送りが可能になります。

- 「git status」は、現在のブランチとそのアップストリームの関係を計算するために大量のサイクルを消費する可能性があります。これを「--no-ahead-behind」オプションで無効にできるようになりました。

- 「git diff」とフレンドが、Go言語のソースファイルのfuncnameパターンを使用するようになりました。

- 「git send-email」に、「--reply-to=<address>」オプションが増えました。

- C#に使用されるfuncnameパターンで「async」キーワードが認識されるようになりました。

- 「git tag」がリストモードでのみページャー設定を優先するようになったのと同様に、「git config」は、値の設定に使用される場合(つまり、操作の目的が「表示」ではない場合)にページャー設定を無視するようになりました。

この更新はSUSEからインポートされました:SLE-15:更新プロジェクトを更新します。

ソリューション

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

参考資料

https://bugzilla.opensuse.org/show_bug.cgi?id=1063412

https://bugzilla.opensuse.org/show_bug.cgi?id=1095218

https://bugzilla.opensuse.org/show_bug.cgi?id=1095219

https://bugzilla.opensuse.org/show_bug.cgi?id=1110949

https://bugzilla.opensuse.org/show_bug.cgi?id=1112230

https://bugzilla.opensuse.org/show_bug.cgi?id=1114225

https://bugzilla.opensuse.org/show_bug.cgi?id=1132350

https://bugzilla.opensuse.org/show_bug.cgi?id=1149792

https://bugzilla.opensuse.org/show_bug.cgi?id=1156651

https://bugzilla.opensuse.org/show_bug.cgi?id=1158785

https://bugzilla.opensuse.org/show_bug.cgi?id=1158787

https://bugzilla.opensuse.org/show_bug.cgi?id=1158788

https://bugzilla.opensuse.org/show_bug.cgi?id=1158789

https://bugzilla.opensuse.org/show_bug.cgi?id=1158790

https://bugzilla.opensuse.org/show_bug.cgi?id=1158791

https://bugzilla.opensuse.org/show_bug.cgi?id=1158792

https://bugzilla.opensuse.org/show_bug.cgi?id=1158793

https://bugzilla.opensuse.org/show_bug.cgi?id=1158795

https://bugzilla.opensuse.org/show_bug.cgi?id=1167890

https://bugzilla.opensuse.org/show_bug.cgi?id=1168930

https://bugzilla.opensuse.org/show_bug.cgi?id=1169605

https://bugzilla.opensuse.org/show_bug.cgi?id=1169786

https://bugzilla.opensuse.org/show_bug.cgi?id=1169936

プラグインの詳細

深刻度: Critical

ID: 136311

ファイル名: openSUSE-2020-598.nasl

バージョン: 1.4

タイプ: local

エージェント: unix

公開日: 2020/5/4

更新日: 2024/3/13

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

リスク情報

VPR

リスクファクター: High

スコア: 7.4

CVSS v2

リスクファクター: High

基本値: 9.3

現状値: 7.7

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

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

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 9.1

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

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

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

脆弱性情報

CPE: p-cpe:/a:novell:opensuse:git, p-cpe:/a:novell:opensuse:git-arch, p-cpe:/a:novell:opensuse:git-core, p-cpe:/a:novell:opensuse:git-core-debuginfo, p-cpe:/a:novell:opensuse:git-credential-gnome-keyring, p-cpe:/a:novell:opensuse:git-credential-gnome-keyring-debuginfo, p-cpe:/a:novell:opensuse:git-credential-libsecret, p-cpe:/a:novell:opensuse:git-credential-libsecret-debuginfo, p-cpe:/a:novell:opensuse:git-cvs, p-cpe:/a:novell:opensuse:git-daemon, p-cpe:/a:novell:opensuse:git-daemon-debuginfo, p-cpe:/a:novell:opensuse:git-debuginfo, p-cpe:/a:novell:opensuse:git-debugsource, cpe:/o:novell:opensuse:15.1, p-cpe:/a:novell:opensuse:git-email, p-cpe:/a:novell:opensuse:git-gui, p-cpe:/a:novell:opensuse:git-p4, p-cpe:/a:novell:opensuse:git-svn, p-cpe:/a:novell:opensuse:git-svn-debuginfo, p-cpe:/a:novell:opensuse:git-web, p-cpe:/a:novell:opensuse:gitk

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

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

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

パッチ公開日: 2020/5/1

脆弱性公開日: 2017/10/14

エクスプロイト可能

Metasploit (Malicious Git HTTP Server For CVE-2018-17456)

参照情報

CVE: CVE-2017-15298, CVE-2018-11233, CVE-2018-11235, CVE-2018-17456, CVE-2019-1348, CVE-2019-1349, CVE-2019-1350, CVE-2019-1351, CVE-2019-1352, CVE-2019-1353, CVE-2019-1354, CVE-2019-1387, CVE-2019-19604, CVE-2020-11008, CVE-2020-5260