バージョンとリビジョンとは

IT業界

① バージョンとリビジョンとは

ソフトウェアは、機能の追加や不具合の修正を繰り返しています。「どの状態のソフトウェアか」を区別するために使うのが、バージョンやリビジョンです。

用語 意味 教科書に例えると
バージョン ソフトウェアの版を区別する番号や名前 「第2版」「第3版」など
リビジョン 改訂の状態や変更履歴を区別する番号・識別子 「第3版の誤字を修正したもの」など

ただし、用語や番号の付け方は、製品や開発現場によって異なります。 リビジョンは、開発中のソースコードの変更履歴を指す場合もあり、「小さな修正だけ」を意味するわけではありません。

② PHPのバージョン番号を読んでみよう

PHPは、Webサイトなどのサーバー側で使われるプログラミング言語です。例えば PHP 8.3.8 は、次のように読みます。

部分 呼び方 主な役割
最初の 8 メジャーバージョン 大きな世代の違いを示す
真ん中の 3 マイナーバージョン 機能追加などによる版の違いを示す
最後の 8 パッチバージョン 不具合や脆弱性の修正などを含む版を示す

PHPでは、最後の数字は「リビジョン」といわれてますが厳密には「パッチバージョン」と説明するのが適切です。

③ 小さな番号の違いが、安全性に関係する

「脆弱性(ぜいじゃくせい)」とは、攻撃に悪用されるおそれのある、ソフトウェアなどの弱点です。

HP 8.5.12は、2026年10月21日にリリースされたPHPの緊急セキュリティアップデート(修正版)です。通称「php2shell」と呼ばれる重大な脆弱性2件を修正しています。 [1, 2]
主な修正内容(脆弱性の詳細)
  • CVE-2026-109618: メモリ不足(OOM)のエラー処理に起因するリモートコード実行(RCE)の脆弱性 [1]

  • CVE-2026-109619: リクエスト処理における残存グローバルステート(不完全な内部リクエストデータ)に起因するリモートコード実行の脆弱性 [1, 2]

  • 深刻度(CVSS v4.0): 9.2(最高レベルの「Critical / 緊急」) [1, 2]

  • 対象環境: PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webリクエストを処理するPHP環境全般 [1, 2]

  • 公式の推奨対応: 開発元および情報処理推進機構(IPA)は、全ユーザーに直ちに修正バージョンへのアップデートを推奨しています。 [1, 2]

同時リリースされた修正バージョン

  • PHP 8.5.12

  • PHP 8.4.27

  • PHP 8.3.36

  • PHP 8.2.35 [1]

授業では、次のように説明できます。

「PHP 8.3.7と8.3.8は、最後の数字が1つ違うだけです。しかし、その違いにはセキュリティ上の弱点への修正が含まれています。番号の変化が小さくても、更新の重要性が小さいとは限りません。」

なお、これは当時の修正例です。現在使う版として8.3.8を推奨する意味ではありません。

④ 本体のバージョンが同じでも、修正されている場合がある

OSの提供元がPHPを配布する場合、本体のバージョンを維持しながら、必要なセキュリティ修正を取り込むことがあります。これをバックポートといいます。Debianも、この方法を採用しています。Debian公式FAQ

例えば、次は仕組みを説明するための架空の表記です。

8.3.7-1 → 8.3.7-2
^^^^^     ^^^^^
本体のバージョンは同じ

末尾の -1 → -2 は、配布パッケージの改訂を示す

このようなパッケージの改訂を「リビジョン」で区別する場合があります。ただし、末尾が増えたというだけで、特定の脆弱性が修正されたとは断定できません。提供元の更新情報との照合が必要です。

⑤ 生徒への確認問題

「PHP 8.3を使っています」と聞いただけで、安全かどうか判断できるでしょうか。

答え:判断できません。 次の情報まで確認する必要があります。

  • パッチ番号やパッケージのリビジョンを含む、正確な版
  • 使用しているOSや設定が、その脆弱性の影響を受けるか
  • 提供元が、どの版で修正済みとしているか
  • セキュリティ更新の提供が続いているか

生徒に覚えてほしいのは、**「バージョンやリビジョンは、機能の違いだけでなく、修正が反映されているかを確かめる手がかりになる」**という点です。

タイトルとURLをコピーしました