【緊急リリース補足】PHP 5.3.4 以降で OpenPNE プラグインが導入できない問題について
04 / 21 木曜日 2011
「【緊急リリース】OpenPNE 3 とバンドルプラグインに存在する、権限確認不備に関する複数の問題のお知らせ (OPSA-2011-001)」でお知らせしたように、先の脆弱性への対応版としてリリースされた OpenPNE 3.0.8.4, 3.2.7.5, 3.4.10.1, 3.6beta9 では、「PHP 5.3.4 以降で OpenPNE プラグインが導入できない」問題についての対応もおこなわれています。本エントリでは、この問題についての解説をおこなっていきます。
本問題について
影響を受けるシステム
OpenPNE 3.0.8.3 以下、 3.2.7.4 以下、 3.4.11 以下、 3.6beta8 以下を、 PHP 5.3.4 以降で動作させているサイト
概要
OpenPNE 3 で利用しているバージョンの PEAR::Archive_Tar (tar アーカイブを扱うライブラリ) に存在していたバグと、 PHP 5.3.4 以降に加わったセキュリティ面での改善が組み合わさることで、「openpne:install、openpne:migrate や opPlugin:install といったコマンドの実行時に、特定の条件を満たしたプラグインのインストールが途中で失敗する」という問題が発生していました。
なお、技術的な詳細については本件の対応をおこなったチケットに記されておりますので、そちらをご覧ください。
回避方法
同梱されている Archive_Tar を新しいバージョンに差し替えることで、この問題を回避することができます。
最新の Archive_Tar は http://pear.php.net/package/Archive_Tar/download からダウンロードすることができます。ダウンロードしたアーカイブを展開し、 OpenPNE 3 の lib/vendor/PEAR/Archive/Tar.php を 展開ディレクトリの Archive/Tar.php と差し替えてください。
なお、 PHP 5.3.3 以下で動作させるようにすることでもこの問題を回避することができますが、 PHP のバージョンを落とすということは、最新版で修正済みのバグやセキュリティ脆弱性の影響を受けたり、性能の低下などのリスクを冒すことになるため、推奨しません。
本問題への対応方法
「【緊急リリース】OpenPNE 3 とバンドルプラグインに存在する、権限確認不備に関する複数の問題のお知らせ (OPSA-2011-001)」でご案内している手順により、対策版へのマイナーバージョンアップもしくは修正パッチの適用を実施してください。
本件に関するお詫び
末筆ながら、以下二点に関してお詫び申し上げます。誠に申し訳ございませんでした。
- OPSA-2011-001 の脆弱性と本件という、まったくの別事象に関する修正をまとめて緊急リリースせざるを得ず、このように判りにくい告知になってしまったこと
- 本件は実質的に OpenPNE のインストールがおこなえないという致命的な問題であるにも関わらず、発覚からおよそ 3 ヶ月間対応されないままであったこと
トラックバック:1
- ピンバック from CentOS5.6のPHP5.3にpearがないのでphp-pearをどうにかする | koji blog 11-04-22 (金) 9:09
-
[…] CentOS5.6のPHP5.3にpearがないのでphp-pearをどうにかする。というサイトを発見。この表現が正しいかどうかは親父にはわからない。ものの発端は、OpenPNE 3 で利用しているバージョンの PEAR::Archive_Tar (tar アーカイブを扱うラ…、解決するためには新しいバージョンに差し替えとあったものだからいろいろとぐぐったらでてきたもの。親父の場合pearってなあにというレベルから始まるわけだが。ハウスマシンでOpenPNE3をインストールしたことはあったがcentos5.6では未知の世界である。とりあえずArchive_Tar-1.3.7にあげることはできた。こんなんでいいのかな。 This entry was posted in centos, php. « Movable Type 5.1 RC1 を公開 […]