私の本番環境のbashシェルは、「bashbug」の脆弱性に対して脆弱です。https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
インストールされたバージョンは
`$ bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)`
YUM
サーバーがインターネットに接続されていないため、最新のパッケージをインストールできなかったため、bash
ソースからインストールしようとしました。ソースからダウンロードしてインストールbash 4.3
しました。このバージョンはまだbashバグに脆弱であるため、このバージョンの最新のパッチを適用する必要があります。
これを行うには、bash
次のサイトから最新のパッチをダウンロードしました。
http://ftp.gnu.org/gnu/bash/bash-4.3-patches/
bash43-030
上記のリンクからパッチを適用しています。
http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-030
私が直面している問題は、次のエラーが原因でパッチ適用が失敗することです。
[bash-4.3]$ patch -p0 < bash-patch patching file builtins/evalstring.c Hunk #1 FAILED at 309. Hunk #2 FAILED at 379. 2 out of 2 hunks FAILED -- saving rejects to file builtins/evalstring.c.rej patching file parse.y Hunk #1 succeeded at 2574 (offset 35 lines). Hunk #2 FAILED at 4038. 1 out of 2 hunks FAILED -- saving rejects to file parse.y.rej patching file shell.h Hunk #1 succeeded at 181 with fuzz 2. patching file y.tab.c Hunk #1 FAILED at 169. Hunk #2 FAILED at 498. Hunk #3 FAILED at 2099. Hunk #4 FAILED at 2113. ... ... Hunk #98 FAILED at 6350. 97 out of 98 hunks FAILED -- saving rejects to file y.tab.c.rej patching file patchlevel.h Hunk #1 FAILED at 26. 1 out of 1 hunk FAILED -- saving rejects to file patchlevel.h.rej
この問題を解決する方法を提案してください。たぶん、パッチが間違った方法で適用された可能性があります。
答え1
バッシュパッチは合計、4.3のソースコードは実際には4.3.0で、パッチは別々であり、すべてのパッチは順番に適用され、各パッチはパッチレベルを1つずつ上げます。公式ウェブサイトは完全なソースコードバージョンをほとんど提供しておらず、最後のバージョンは3.2.48です。
あなたが観察したのは、必須パッチ(.30パッチレベルを表す「-030」サフィックス)には以前のパッチが必要であることです。 (patchlevel.h
各パッチで欠落が発生するとパッチエラーが発生するため、これは常にbashパッチとして検出されます。)ソースからビルドする方法については、ここで見つけることができます。https://unix.stackexchange.com/a/157714/31352
ソースからビルドするのは簡単ですが、軽くすることはできません。 Bashにパッチを適用すると、ベンダーのサポートを自分で受け取る必要があり、パッチやアップグレードなどの追加の管理作業が複雑になる可能性があります。
あなたはもっと良いかもしれません。Red Hat RPMをダウンロードしてサーバーに送信します(または実際にソースからビルドしたい場合は代わりにSRPM)。 bashには最小限の依存関係(特にtermcap)があり、それらのどれも変更されないと仮定すると、1つのパッケージのみが必要です。
とにかくbash-4.1に固執する必要があります。スクリプトに影響を与える可能性がある多くの変更があります。COMPAT
詳細については、ソースディストリビューションのマニュアルを参照してください。 2.05bから4.3までのすべてのリリースには、「shellshock」(CVE-2014-6271)と関連する問題に対するパッチがあります。