半年以内にgo-pear.pharを使った人は必ずチェックしましょう。
2019/01/19
PEAR公式Twitterアカウントからツイート。
このアカウント全然活動してない。
https://twitter.com/pear/status/1086634389465956352
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.php.netで、不正なgo-pear.pharが発見されたというセキュリティ報告がありました。
問題が解決されるまでPEARのWebサイトは無効になっています。
より詳細な発表は復旧後PEARブログで報告します。
https://twitter.com/pear/status/1086634503731404800
If you have downloaded this go-pear.phar in the past six months, you should get a new copy of the same release version from GitHub (pear/pearweb_phars) and compare file hashes. If different, you may have the infected file.
— PEAR (@pear) 2019年1月19日
過去六ヶ月以内にgo-pear.pharをダウンロードした人は、GitHubから同じバージョンのファイルをダウンロードしてハッシュを比較する必要があります。
ハッシュが異なっていた場合、感染している可能性があります。
2019/01/21
hype.codesというサイトに記事が掲載されました。
悪意のあるコードを含むファイルのひとつは、MD5ハッシュが"1e26d9dd3110af79a9595f1a77a82de7"です。
2019/01/22
RAPID7というサイトにPHP Extension and Application Repository (PEAR) Compromise: What You Need to Knowという記事が掲載されました。
go-pear.pharに実際に何が仕込まれていたかの詳細が出ています。
2019/01/23
PEARバージョンv1.10.10がリリースされました。
コード自体はv1.10.9と全く同じで、update用です。
また署名が追加されています。
ZDNetにMystery still surrounds hack of PHP PEAR websiteという記事が掲載されました。
公式が何も言わないから、具体的に何があったのか詳細が未だにわからないよ、といった内容です。
ZDNet Japanには記事がありません。
sradにストーリーが立ちました。
日本語の記事はこれが初めてのようです。
感想
2019/01/23現在、pear.php.netはメンテナンス画面になります。
SSLはセキュリティ警告が出ます。
pecl.php.netは正常です。
仕込まれてから発覚までのスパンの長さといい、ニュース記事の少なさといい、公式の反応の遅さといい、寂れっぷりが半端ありません。
日本語記事なんて2019/01/23時点でsradしかないっぽいです。
曲がりなりにも公式だというのに、どんだけ目が少ないんだ。
まあ、みんなComposerに乗り換えた後ですからね。
ただ、go-pear.phpはPECLにも使えるので、何らかのPECL拡張をインストールしていた場合、そちらでひっかかってる可能性があります。
注意しましょう。
PEARは死んだ、何故だ
リリースまでが非常に大変である、が理由の9割でしょう。
パッケージを作成し、PEARアカウントを作成し、開発者MLで承認申請を出し、5人以上の承認(マイナス票もある)を得て初めてリリースすることができます。
参加者は厳選され、当然ながら大多数は参加を敬遠することになりました。
そんな煩雑さをどうにかすべくOpenpearというものを作った人がいました。
PUSHするだけでリリースできるという仕組みをなんと2008年に作り上げた、非常に先見の明のある発明です。
ただ開発者が日本人一人とか二人程度で開発が追いつかず、夜な夜なエラーを吐いてはサーバが死に、日本語なので海外に広まらず、といった諸々の問題が重なり、2012年に登場したComposerによって役目を終えました。
そして今やComposerの全盛期です。
もはやPEARに拘る意味は全くないと言っていいでしょう。
Composerではエクステンションが作れないのでPECLは替えが効きませんが、PHP7.4でFFIがやってきたらPECLすらもいらなくなる日がやってくるかもしれませんね。