[AWS] 脆弱性対応でPHP7.1.31のアップデートでエラーになった
こんにちは。
JPCERTから提供されている WEEKLY REPORT 2019-08-07 で PHP7の脆弱性が報告 されていたので早速対応を実施したのですが、Amazon Linux1 の環境でエラーとなりました。
解決の流れをメモを兼ねて記事にします。
JPCERTの通知内容は以下のとおりです。
JPCERT-WR-2019-3001
JPCERT/CC
2019-08-07
<<< JPCERT/CC WEEKLY REPORT 2019-08-07 >>>
——————————————————————————————————————
■07/28(日)~08/03(土) のセキュリティ関連情報
——————————————————————————————————————
※省略
<<< JPCERT/CC WEEKLY REPORT 2019-08-07 >>>
【3】PHP にバッファオーバーフローの脆弱性
情報源
The PHP Group
PHP 7.3.8 Release Announcement
https://www.php.net/archive/2019.php#2019-08-01-1
The PHP Group
PHP 7.2.21 Released
https://www.php.net/archive/2019.php#2019-08-01-2
The PHP Group
PHP 7.1.31 Released
https://www.php.net/archive/2019.php#2019-08-01-3
概要
PHP には、バッファオーバーフローの脆弱性があります。結果として、遠隔の
第三者が、サービス運用妨害 (DoS) 攻撃を行ったり、任意のコードを実行し
たりする可能性があります。
対象となるバージョンは次のとおりです。
- PHP 7.3.8 より前のバージョン
- PHP 7.2.21 より前のバージョン
- PHP 7.1.31 より前のバージョン
この問題は、PHP を開発者や配布元が提供する修正済みのバージョンに更新す
ることで解決します。詳細は、開発者や配布元が提供する情報を参照してくだ
さい。
関連文書 (英語)
The PHP Group
PHP 7 ChangeLog Version 7.3.8
https://www.php.net/ChangeLog-7.php#7.3.8
The PHP Group
PHP 7 ChangeLog Version 7.2.21
https://www.php.net/ChangeLog-7.php#7.2.21
The PHP Group
PHP 7 ChangeLog Version 7.1.31
https://www.php.net/ChangeLog-7.php#7.1.31
※省略
AWS環境
# uname -a
Linux hostname 4.9.58-18.51.amzn1.x86_64 #1 SMP Tue Oct 24 22:44:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
解決までの流れ
過去の記事を参考に、PHPをアップデートしたのですが、依存関係でエラーになってしまいました。 CVE-2018-7584 脆弱性対応 AWS Amazon Linux で PHP を yum update できない
アップデートコマンドを実行すると、
sudo yum -y --disablerepo=amzn-main --enablerepo=remi,epel,remi-php71 update php
以下の依存エラーになりました。
--> Finished Dependency Resolution
Error: Package: libxml2-devel-2.9.1-6.3.52.amzn1.x86_64 (amzn-updates)
Requires: xz-devel
Error: Package: php-devel-7.1.31-1.el6.remi.x86_64 (remi-php71)
Requires: libedit-devel(x86-64)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
amzn-updates
アップデートのエラーが出ているので amzn-updatesも除外 して再確認します。
sudo yum -y --disablerepo=amzn-main,amzn-updates --enablerepo=remi,epel,remi-php71 update php
以下のようになりました。
--> Finished Dependency Resolution
Error: Package: php-devel-7.1.31-1.el6.remi.x86_64 (remi-php71)
Requires: libxml2-devel(x86-64)
Error: Package: php-devel-7.1.31-1.el6.remi.x86_64 (remi-php71)
Requires: libedit-devel(x86-64)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
依存関係(Requires) エラーで、 libxml2-develとlibedit-develが不足している ことが分かります。
確認すると、以下のようにインストールされていません。
# rpm -qa | grep libxml2-devel
# rpm -qa | grep libedit-devel
以下のコマンドで不足しているパッケージをインストールします。
yum -y install libxml2-devel libedit-devel
この状態で再度アップデートすることで成功しました。
sudo yum -y --disablerepo=amzn-main --enablerepo=remi,epel,remi-php71 update php
早めにアップデートするようにしましょう。 それでは次回の記事でお会いしましょう。