Edited at

go-pear.pharにバックドアが仕込まれていた

半年以内にgo-pear.pharを使った人は必ずチェックしましょう。


2019/01/19

PEAR公式Twitterアカウントからツイート。

このアカウント全然活動してない。


https://twitter.com/pear/status/1086634389465956352

pear.php.netで、不正なgo-pear.pharが発見されたというセキュリティ報告がありました。

問題が解決されるまでPEARのWebサイトは無効になっています。

より詳細な発表は復旧後PEARブログで報告します。


https://twitter.com/pear/status/1086634503731404800

過去六ヶ月以内に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用です。

また署名が追加されています。

ZDNetMystery 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すらもいらなくなる日がやってくるかもしれませんね。