- 1 : 2026/10/23(金) 23:10:28.97 ID:MyUSdTyk
-
PHPの重大脆弱性「PHP2Shell」はセキュリティ企業のCalifとWizがAIを用いて発見しOpenAIの枠組みを使って対策したことが判明
プログラミング言語のPHPに「PHP2Shell」と呼ばれる重大な脆弱性が見つかり、緊急アップデートがリリースされました。
「PHP2Shell」の2つの脆弱性は、セキュリティ企業のCalifとWizがそれぞれ独立して2026年8月に発見していたことが報告されています。PHP2Shell ― AI uncovers critical vulnerabilities in the backbone of the web
https://www.php2shell.com/(以下略、続きはソースでご確認ください)
Gigazine 2026年10月22日 00時06分
https://gigazine.net/news/20261022-php2shell-wiz-openai-calif/ - 2 : 2026/10/23(金) 23:33:46.26 ID:mnCJuuEP
- もうIT土方きらねーな
- 3 : 2026/10/23(金) 23:45:45.93 ID:D1sD53CS
- AI頼りすぎて
- 4 : 2026/10/24(土) 00:17:00.16 ID:xF0Rm8uy
- AIで直したのか
- 5 : 2026/10/24(土) 00:27:08.60 ID:MtUKU34o
- 枠組みって
訳したのバカジン? - 7 : 2026/10/24(土) 02:34:28.75 ID:C1Zzwd/m
- >>5
バカキン - 8 : 2026/10/24(土) 06:58:10.41 ID:/mC605SY
- justsystemのサーバー古すぎてphpバージョンアップ出来ません
ホームページビルダー売ってるくせにレンタルサーバーは金取るだけ取って保守してくれない企業 - 9 : 2026/10/24(土) 08:28:59.66 ID:cQ0FmRB+
- PHPの財団は2024年にはすでに把握してたらしいが具体的な攻略方法がないから後回しにしてたらしい
その攻略方法をAIが発見したんだろう
8月の報告は一つの団体ではなく複数からあったらしい - 12 : 2026/10/24(土) 12:20:39.79 ID:mD9RgVHn
- >>9
日本思考だな
なぜ団体思考なんだよ
団体団体
個人だよ
報告とか財団とか - 13 : 2026/10/24(土) 13:03:24.79 ID:nvHH2Pt4
- >>9
具体的な攻略方法が無いと言うか、開発リソース不足とここまでの被害が出るとは認識していなかっただけ
実際にこのバグはつい最近まで被害はゼロだった
問題はパッチが出来てから当てるまでにリークしたことと、リークしてから当てるまでに被害が出たこと - 10 : 2026/10/24(土) 11:12:18.09 ID:rb1icB80
- open aiの仕組みを使った自動パッチとかは作れないのか?
- 11 : 2026/10/24(土) 12:17:52.59 ID:fLKJIQUY
- 迷惑な話だ。
- 14 : 2026/10/24(土) 17:20:43.53 ID:I8JGHkGO
- 先んじて穴を発見し塞ぐ役割がAI開発の大義名分になるのかな
- 15 : 2026/10/25(日) 00:45:21.42 ID:tDKBrMyR
- AIのバックドアあるでこれ
- 16 : 2026/10/25(日) 11:33:41.83 ID:Yj36vZy9
- google傘下だけど
geminiチームとPHPのセキュリティチームだけじゃ解決できなかったんだな
まあgeminiだしそんなものか - 20 : 2026/10/25(日) 12:25:11.42 ID:+/WjB34l
- 起源(1993年〜1997年)
ラスマス・ラードフは、自身の個人ホームページを管理するために、C言語でいくつかのCommon Gateway Interface(CGI)プログラムを作成した[16][17]。彼はそれらを拡張して、HTMLフォームとの連携やデータベースとの通信ができるようにし、この実装を「Personal Home Page/Forms Interpreter」(PHP/FI)と呼んだ。 - 21 : 2026/10/25(日) 12:25:52.54 ID:A5ocPyid
- PHP/FIは、シンプルで動的なWebアプリケーションを構築するために利用できた。バグ報告を促進し、コードを改善するため、ラードルフ(Lerdorf)は1995年6月8日、Usenetのディスカッショングループ「comp.infosystems.www.authoring.cgi」において、PHP/FIを「Personal Home Page Tools (PHP Tools) version 1.0」として公開した[1][19]。このリリースには、Perlのような変数、フォーム処理、HTMLを埋め込む機能といった基本的な機能が含まれていた。この時点での構文はPerlに似たものになっていたが、よりシンプルで制限が多く、一貫性にも欠けるものだった[20][14]。
初期のPHPは、最初から新しいプログラミング言語として意図されたものではなく、むしろ自然発生的に成長していった。ラードルフは次のように述べている。「どうやって止めればいいのかわからない……そもそもプログラミング言語を作ろうという意図は全くなかった。プログラミング言語の書き方なんて、全くわからないんだ。ただ、その時々で論理的に必要だと思われるステップを付け加えていっただけだよ」[21]。その後、開発チームが形成され、数ヶ月にわたる作業とベータテストを経て、1997年11月にPHP/FI 2が正式にリリースされた[22]。
- 22 : 2026/10/25(日) 12:27:12.80 ID:d1fTRcvX
- PHPは当初から計画的に設計されたものではなく
少しずつてをくわえられたものだ。このことが、関数名の命名規則の不統一や、引数の順序の不整合を招く結果となった[23]。関数名が、PHPが「ラップ(包摂)」していた低レベルライブラリの名称に合わせて選ばれたケースもあれば[24]、PHPの極めて初期のバージョンにおいて、関数名の長さが内部的にハッシュ関数として利用されていたため、ハッシュ値の分布を最適化するように名称が選ばれたケースもあった[25]。 - 23 : 2026/10/25(日) 12:28:10.68 ID:kzB6TUd5
- PHP 3 and 4 (1998 to 2004)
1997年、ゼーブ・スラースキー(Zeev Suraski)とアンディ・グートマンズ(Andi Gutmans)はパーサーを書き直し、PHP 3の基盤を構築しました。その際、言語の名称を再帰的頭字語である「PHP: Hypertext Preprocessor」に変更しました[14][26]。その後、PHP 3の公開テストが始まり、1998年6月に正式リリースされました。続いてスラースキーとグートマンズはPHPのコアを全面的に書き直し、1999年に「Zend Engine」を生み出しました[27]。また、彼らはイスラエルのラマト・ガンにZend Technologies社を設立しました[14]。2000年5月22日、Zend Engine 1.0を搭載したPHP 4.0がリリースされました[14]。この系統は2008年8月時点でバージョン4.4.9に達しました。現在、PHP 4は開発が終了しており、セキュリティアップデートが提供される予定もありません[28][29]。
- 24 : 2026/10/25(日) 12:28:43.75 ID:/kAUqj/f
- PHP 5の初期段階(2004年〜2006年)
2004年7月1日、新しい「Zend Engine 2.0」を搭載したPHP 5.0がリリースされました[14]。PHP 5.0では言語仕様に大幅な変更が加えられ、特にオブジェクト指向プログラミングのアプローチが全面的に見直されたほか、イテレータや例外処理が導入されました[30]。その後、PHP 5.1およびPHP 5.2がリリースされ、小規模な改善や新機能が追加されました。その中には、データベースにアクセスするための軽量かつ一貫したインターフェースを定義する「PHP Data Objects (PDO)」拡張機能などが含まれています。2008年には、PHP 5.x系が開発中の唯一の安定版となりました。
2008年2月5日以降、多くの著名なオープンソースプロジェクトが、新規コードにおいてPHP 4のサポートを打ち切りました。これは、PHP 4からPHP 5への移行を推進するPHP開発者グループによる取り組み「GoPHP5」を受けたものです[31][32][33]。
- 25 : 2026/10/25(日) 12:29:20.40 ID:OKMNC4bR
- PHP 6とUnicode
PHPの標準的な文字列関数は生のバイトデータに対してのみ機能する仕様であり、マルチバイト文字エンコーディングを扱う上での障壁となっていた[34][35]。2005年、Andrei Zmievskiが主導するプロジェクトが立ち上がった。このプロジェクトは、International Components for Unicode (ICU) ライブラリを組み込み、内部的に文字列をUTF-16で表現することで、PHP全体でUnicodeをネイティブサポートすることを目指していた[36]。この変更は言語の内部構造およびユーザーが記述するコードの双方に大きな影響を及ぼすため、当時開発中であった他の主要機能と合わせ、バージョン6.0としてリリースする計画が立てられた[37]。しかし、必要な変更を理解できる開発者の不足や、Web環境ではほとんど利用されないUTF-16への変換に伴うパフォーマンス上の問題などから、プロジェクトは遅延した[38]。その結果、2009年にはPHP 5.3がリリースされ、2010年3月には、この形態でのプロジェクトは正式に断念された。その後、PHP 6で予定されていた機能のうち、Unicode関連以外の大部分を盛り込んだPHP 5.4の準備が進められた[39]。当初はUnicode統合に向けた新たな計画が策定されることが期待されていたが、2014年の時点でもそのような計画は採用されなかった[要出典]。
PHPではソースコードにUnicodeエンコーディングを使用することは可能だが、言語仕様として(バージョン8の時点でも)抽象的な「Unicode文字列」型は存在しない。すべての文字列は、特定のバイトエンコーディングに基づいた8ビットのバイト列として格納される。必要に応じて、バイト数、Unicodeコードポイント、あるいは書記素(グラフェム)を区別して扱ったり、別のエンコーディングに変換したりするための関数が用意されている[40]。PHP 4.0.6以降[42]利用可能な「マルチバイト文字列(Multibyte String)」拡張[41]には、Unicode文字列に対してより抽象的な操作を行うための関数が含まれており、その内部表現におけるバイトエンコーディングも設定可能となっている[43]。
- 27 : 2026/10/25(日) 12:30:32.36 ID:lGIX/DMc
- PHP 7.x(2015年〜2019年)
2014年から2015年にかけて、PHPの新しいメジャーバージョンが開発され、これがPHP 7.0となりました。このバージョンの番号付けについては、開発チーム内部で議論がありました[51]。PHP 6におけるUnicode対応の試みは結局リリースには至りませんでしたが、いくつかの記事や書籍のタイトルで「PHP 6」という名称が言及されていたため、もし新しいリリースでこの名称を再利用すれば、混乱を招く恐れがありました[52]。投票の結果、「PHP 7」という名称が採用されました[53]。PHP 7.0の基盤となったのは、「PHP next generation (phpng)」と呼ばれていたPHPのブランチです。これはDmitry Stogov、Xinchen Hui、Nikita Popovの各氏によって開発されたもので[54]、言語としての互換性をほぼ完全に維持しつつ、Zend EngineをリファクタリングすることでPHPのパフォーマンスを最適化することを目指していました[55]。2014年7月14日時点で、phpngプロジェクトの主要なベンチマーク指標となっていたWordPressベースのテストにおいて、パフォーマンスが約100%向上したことが示されました。phpngで導入された変更点は、将来のバージョンにおけるパフォーマンス向上を容易にするものです。よりコンパクトなデータ構造などが採用されたことで、JIT(Just-In-Time)コンパイラへの移行がより円滑に行えるようになったためです[56]。大幅な変更が加えられたため、刷新されたZend Engineは「Zend Engine 3」と名付けられ、PHP 5.xで使用されていたZend Engine 2の後継となりました[57]。
- 30 : 2026/10/25(日) 12:32:17.70 ID:SuBj7hIM
- 充実した型システムの導入は、言語をより厳格なものへと変えていくという全体的な傾向の一環であり、PHP 8.0では、文字列と数値の比較[95]、数値形式の文字列[96]、および互換性のないメソッドシグネチャ[97]の扱いに関して、後方互換性を損なう変更(ブレイクチェンジ)が行われました。その後のバージョンでは、将来のメジャーバージョンで後方互換性を損なう変更として導入が予定されている挙動に対し、非推奨(デプリケーション)の通知が出されるようになりました。これには、nullを許容しない内部関数のパラメータにnullを渡すこと[98]や、クラス内で宣言されていないプロパティを参照すること[99]などが含まれます。
- 31 : 2026/10/25(日) 12:32:59.80 ID:KlYHxlxl
- 2011年6月28日より、PHP開発チームはPHPの新しいバージョンをリリースするためのスケジュールを導入した[46]。この仕組みに基づき、少なくとも毎月1回のリリースが行われることとなった。また、年に1回、新機能を含む可能性のあるマイナーリリースが行われる。各マイナーリリースは、少なくとも2年間はセキュリティ修正およびバグ修正によるサポートを受け、その後少なくとも1年間はセキュリティ修正のみのサポートを受けることとなり、合計3年間のサポート期間が設けられた。この3年間のサポート期間中、小規模かつ独立した機能を除き、マイナーリリースに新たな機能が追加されることはない。2024年のRFCにより、セキュリティ修正のみを行う期間が2年間に延長され、すべてのサポート終了日が12月31日に統一された。さらに、パッチバージョンにおいて「小規模かつ独立した」機能の追加を認めていた例外規定も削除された[195]。
PHPの重大脆弱性「PHP2Shell」はセキュリティ企業のCalifとWizがAIを用いて発見しOpenAIの枠組みを使って対策した
科学ニュース+


コメント