目次
第1 本記事の対象と結論1 対象と基準日2 結論第2 前提となるPHPのサポート期間と今回の修正第3 制作・保守の契約の性質1 請負と準委任2 IPA・経済産業省のモデル契約第4 前橋地裁令和5年2月17日判決1 事案2 債務の内容の決め方3 構築時の設定の不備は債務不履行4 保守契約上の修正義務は認めなかった5 責任制限条項と重過失6 損害の範囲第5 東京地裁令和5年2月27日判決(新たな脆弱性への追従)第6 責任制限条項と重過失についてのモデル契約の考え方第7 PHP2Shellの場面への当てはめ1 保守契約にPHPの更新や脆弱性対応が含まれている場合2 保守の範囲が曖昧な場合3 サポート終了版を使い続けている場合4 レンタルサーバーのPHPの場合第8 契約で決めておくこと第9 関連記事第10 出典1 法令2 裁判例3 モデル契約とIPAのガイド4 PHPの資料
第1 本記事の対象と結論
1 対象と基準日
令和8年10月21日,PHPの開発チームは,認証を受けていない第三者による遠隔コード実行につながり得る二つの重大な脆弱性(CVE-2026-109618及びCVE-2026-109619)を修正した版を公開した。
本記事は,ウェブサイトを発注した事業者と,制作会社・保守会社との間で,PHPの更新や脆弱性への対応を誰が行う義務を負うか,放置して侵害された場合に損害賠償責任や責任制限条項がどう扱われるかを,民法,裁判例及び情報処理推進機構(IPA)と経済産業省のモデル契約から整理するものである。
基準日は令和8年10月23日である。
民法の条文はe-Gov法令検索で現行の版を確認し,裁判例は裁判所ウェブサイトの裁判例検索に掲載された判決の全文で確認した。
修正版への更新の手順は,PHPの緊急セキュリティ更新とWordPress保守―法律・税理士事務所の確認,バックアップ,互換性試験及び復旧手順で扱っている。
2 結論
①制作会社・保守会社がPHPの更新をする義務を負うかは,契約書だけでなく,提案書・仕様書・保守の手引書等を含めた合意の内容で決まる。
②前橋地裁令和5年2月17日判決は,構築を受託した会社がファイアウォールを全ての通信を許可する設定のまま引き渡したことを債務不履行とし,責任を契約金額までに限る条項は重過失があるときは適用されないとして,約1億4300万円の賠償を命じた。
③他方,同じ判決は,保守契約に基づく修正の義務については,契約や保守手引書を見てもその修正が保守契約の対象かどうか判然としないとして,債務不履行を認めなかった。
保守契約があるだけで,PHPの更新まで当然に保守会社の義務になるとはいえない。
④東京地裁令和5年2月27日判決(ベネッセの個人情報漏えい)は,システムの保守・運用を担う会社に,技術の進歩に伴って新たに生じた脆弱性に対応して設定を見直す注意義務を認めた。
⑤PHPの公式発表が直ちの更新を求めた今回のような場面で,更新が保守の範囲に入っていながら放置した場合は,重過失として責任制限条項が働かないと判断される可能性がある,と本記事では考える。
⑥発注者は,保守の範囲(ミドルウェアの更新,脆弱性情報の収集と対応,サポート終了版の移行)と対応の期限を契約で具体的に定めておく必要がある。
第2 前提となるPHPのサポート期間と今回の修正
PHP公式の「Supported Versions」によれば,各系列は最初の安定版の公開から2年間は全面的にサポートされ,その後の2年間は重大なセキュリティ問題についてだけサポートされ,合計4年でサポートが終了する。
令和8年10月22日時点の表では,8.2のセキュリティサポートは2026年12月31日まで,8.3は2027年12月31日まで,8.4は2028年12月31日まで,8.5は2029年12月31日までとされている。
8.1は2025年12月31日にサポートが終了し,最終版は8.1.34である。
今回の修正版は,8.5.12,8.4.27,8.3.36及び8.2.35である。
PHP公式は,8.1以前はPHPプロジェクトからの更新を受けないとしつつ,今回は深刻さに鑑みて,ソースから構築する利用者等のために7.4,8.0及び8.1への最小限の修正を示した。
また,Linuxのディストリビューションや長期サポートを提供する事業者の中には,修正を取り込んだ独自の版を提供するものがある。
サポートの終了した版のPHPを使っているサイトでは,今回の修正を当てるだけでなく,サポート対象の版へ移行する作業が必要になる。
PHP Foundationが10月21日に公表した報告によれば,Linuxのディストリビューションや長期サポートを提供する事業者は,利用者が速やかに更新できるよう,修正を事前に受け取っていた。
他方で,同じ報告は,Chainguardが協調公開の6時間以上前に,公開前の情報の取扱いの取決め(エンバーゴ)を一方的に破って修正を含むイメージを公開したとしている。
保守を委託する側から見ると,委託先が脆弱性の情報を事前に受け取れる立場にあるか,受け取った情報をいつ,どの範囲で使えるかによって,対応を始められる時刻が変わる。
そのため,保守契約や秘密保持の取決めでは,事前通知の受領と利用の範囲,早期の公開を認める例外の条件及びその場合の通知の方法を,あらかじめ明文で定めておくことが望ましいと考えられる。
【令和8年10月24日追記】PHP公式の10月23日付追加告知には,特定のセッション設定とコードの組合せについての注意もある。
保守の範囲や対応期限を検討するときは,版番号だけで完了とせず,対象環境の条件とその後の公式情報も確認する。
(続きを読む...)Web制作・保守会社にPHPを更新する責任はあるか―保守契約の範囲,サポート終了版,責任制限条項と重過失(AI作成)