PHPライブラリサービスの「PEAR」でセキュリティ侵害が見つかる
by Markus Spiske
PHPで利用可能なライブラリを提供するサービス「PEAR」のサーバーに対する攻撃、およびファイル改変というセキュリティ侵害があったことがわかりました。安全性が確認されるまでPEARのサーバーは停止された状態となっています。
PEAR(@pear)さん | Twitter
https://twitter.com/pear
PEARのウェブサーバーがセキュリティ侵害を受けていることを、PEARの公式Twitterアカウントが報告しています。セキュリティ侵害についての最初のツイートは2019年1月19日に投稿されており、「PEAR公式サイトのウェブサーバー上で改変された『tainted go-pear.phar』とセキュリティ侵害が発見されました。PEARのウェブサイト自体は無害なクリーンサイトを再構築するまで使用不能とします。より詳細な情報はPEARの公式ブログでチェックしてください」と記されています。
A security breach has been found on the https://t.co/dwKlscDEFf webserver, with a tainted go-pear.phar discovered.
— PEAR (@pear) 2019年1月19日
The PEAR website itself has been disabled until a known clean site can be rebuilt. A more detailed announcement will be on the PEAR Blog once it's back online.
以下がPEARの公式サイト。2019年1月24日時点でもサーバーはダウンした状態のままです。また、詳細が記されているという公式ブログも同じくサーバーがダウンしておりアクセスできません。
PEAR server is down
http://pear.php.net/
サーバーがダウンした状態であることを示すページには、「過去6カ月以内に『go-pear.phar』をダウンロードした場合、同じリリースバージョンのコピーをGitHubから入手し、ファイルのハッシュを比較してください。もしもGitHubからコピーしたものと過去にダウンロードした『go-pear.phar』のハッシュが異なる場合、改変されたファイルが含まれているかもしれません」と記しています。
PEARによると、公式サイトでサーバーがダウンしている状態を知らせるために、以前使用していたcweiske.deを使用しているとのこと。
We are using a previous PEAR mirror box (cweiske) to serve the "PEAR is down" page, while we work to bring the original box back up.
— PEAR (@pear) 2019年1月22日
2019年1月23日には調査の末、明らかになったことをTwitter上で報告しています。
「go-pear.phar」ファイルの改変は、1月18日にParanoids FIREチームからの報告で発覚。「go-pear.phar」の最新リリースは2018年12月20日であるため、それ以降に改変が行われたとPEARは推測しています。改変された「go-pear.phar」では、PerlでIPアドレス「104.131.154.154」に対するリバースシェルが生成されるよう設計された行が見つかっています。これ以外のセキュリティ侵害は記事作成時点では発見されておらず、「install-pear-nozlib.phar」ファイルは正常であることが確認されています。また、GitHub上に保存されている「go-pear.phar」ファイルが正常であることも確認されているため、手元に「go-pear.phar」ファイルを持っている場合は比較することでファイルが改変されていないかどうかを確認することができるとのこと。
1/5 What we know: the tainted go-pear.phar file was reported to us on 1/18 by the Paranoids FIRE Team. The last release of this file was done 12/20, so the taint occurred after that. The taint was verified by us on 1/19.
— PEAR (@pear) 2019年1月23日
2/5 What we know: The taint was an embedded line designed to spawn a reverse shell via Perl to IP 104.131.154.154. This IP has been reported to its host in relation to the taint.
— PEAR (@pear) 2019年1月23日
PEARは「他に潜在的な問題がないか不安だったため、バックアップから新しいボックスを復元するためにサーバーを一時停止した」と明かしており、既にスタッフの間でサーバー修復に取り掛かっているとしています。
4/5 What we know: being unsure of other potential insecurities, we took the site down in order to restore a new box from backups. A previous mirror box was set to host a "PEAR is down" single info page in the meantime.
— PEAR (@pear) 2019年1月23日
2018年12月20日以降に「go-pear.phar」ファイルをダウンロードしたユーザーにはファイルが改変されていないかの確認を求めており、2018年12月20日以前に該当ファイルをダウンロードした場合であっても、PEARのインストールを実行した場合は「システムをチェックするのが賢明」とPEARはユーザーに注意喚起しています。
なお、サーバーダウン中にPEARのパッケージをインストールするための方法として、GitHub上から最新版のパッケージをダウンロードし、ディレクトリに移動して「pear install package.xml」もしくは「pear install package2.xml」を実行する、というものが挙げられています。
Workaround for installing PEAR packages while https://t.co/dwKlscDEFf is down:
— PEAR (@pear) 2019年1月24日
get the latest Release of the package at GitHub (e.g. https://t.co/BXkQWhkioP), unpack it, cd into that dir, and run `pear install package.xml` or `pear install package2.xml`.
・関連記事
PHPのマスコットキャラクター「elePHPant」が象である理由 - GIGAZINE
2017年第2四半期に売れた「サーバーブランド」トップ5はこれ - GIGAZINE
16歳の少年がAppleのサーバーから90GB以上のプライベートデータを盗み出す - GIGAZINE
Googleのクラウドサーバーが一時的にダウン、余波でポケモンGOやSpotifyなどにも影響が及ぶ - GIGAZINE
会員制ウェブサイトをPHPとMySQLでつくる - GIGAZINE
・関連コンテンツ