Adobe Commerce / Magento Open Source 2.4.6-p4 / 2.4.5-p6 / 2.4.4-p7がリリースされました

リリーススケジュール通り、Adobe CommerceとMagento Open Sourceに対するセキュリティアップデートが公開されました。
今回のセキュリティアップデートについては、Adobe Security Bulletinで概要が開示されています。

今回はこのセキュリティアップデートについて詳しく解説したいと思います。

対象となるバージョン

現在、Adobe Commerce / Magento Open Sourceのサポート対象となっているバージョン系統としては、

  • 2.4.6
  • 2.4.5
  • 2.4.4

があります。(2.4.7はまだベータなので一旦話から除外しています)
Adobe Commerce向けには延長サポートして、2.4.3以前のバージョンに対するアップデートも提供されていますが、これはあくまでも希望者向けの限定的なものとなります。
本来のセキュリティアップデート対象としては、

  • 2.4.6-p3以前の2.4.6系
  • 2.4.5-p5以前の2.4.5系
  • 2.4.4-p6以前の2.4.4系

ということになります。

アップデートの内容

Adobe Security Bulletinによると、今回のアップデートでは5件の脆弱性が修正されているようです。
このうち

  • Criticalが2件
  • Importantが2件
  • Moderateが1件

となっており、重要度が高いものとなっています。
さて、もう1つのリリース情報として有益なものであるリリースノートを確認しておきましょう。

のそれぞれにリリースノートが用意されていますが、いずれも下記の2点のみとなっています。

  • Changes to the behavior of non-generated cache keys(自動生成でないキャッシュキーに対する仕様変更)
  • Limitations on the number of auto-generated coupon codes(自動生成クーポンコードの上限値導入)

とはいえ、肝心の脆弱性については触れられていないので、ソースの差分をみてみましょう。

セキュリティアップデートで影響を受ける箇所とは

2.4.6-p3から2.4.6-p4にアップデートを行った前後のソースコード差分を見ると、以下の箇所でコードの更新が起きていることがわかります。
(Adobe Commerce / Magento Open Source以外のライブラリや、テストケースなどは除外しています)

  • vendor/magento/framework/Filesystem/Directory/PathValidator.php
  • vendor/magento/framework/Filesystem/File/Write.php
  • vendor/magento/framework/View/Element/AbstractBlock.php
  • vendor/magento/module-config/Block/System/Config/Form/Field/File.php
  • vendor/magento/module-email/Model/Template/Filter.php
  • vendor/magento/module-page-cache/Controller/Block.php
  • vendor/magento/module-sales-rule/Controller/Adminhtml/Promo/Quote/Generate.php
  • vendor/magento/module-sales-rule/etc/adminhtml/system.xml
  • vendor/magento/module-sales-rule/etc/config.xml
  • vendor/magento/module-sales-rule/etc/di.xml
  • vendor/magento/module-sales-rule/i18n/en_US.csv

このうち、

  • SalesRule:自動生成クーポンコードの上限値導入

のようなので、あまり気にしなくても良いでしょう。
そうなると対象は、

  • vendor/magento/framework/Filesystem/Directory/PathValidator.php
  • vendor/magento/framework/Filesystem/File/Write.php
  • vendor/magento/framework/View/Element/AbstractBlock.php
  • vendor/magento/module-config/Block/System/Config/Form/Field/File.php
  • vendor/magento/module-email/Model/Template/Filter.php
  • vendor/magento/module-page-cache/Controller/Block.php

に絞られます。

そうなると、5件の脆弱性の殆どは上記の6ファイルが対象であるということになります。

Security Bulletinに書かれていた内容を振り返る

ここで、先程のAdobe Security Bulletinに書かれていた内容に立ち返ってみましょう。
今回のアップデートでは、

  • XSSが2件
  • CSRFが1件
  • OSコマンドインジェクションが1件(入力文字列の無害化が不適切)
  • リソースの枯渇が1件

となっています。
ファイル数は多くないので、目視で差分チェックできる範囲です。

アップデート全体に対するまとめ

今回のアップデートも、やはりセキュリティアップデート限定のため、影響範囲はさほど大きくありません。
反面、Security Bulletinに上がっている脆弱性には、深刻度の高いものが含まれています。
できるだけ早い段階でアップデートを実施するほうが良いとは思います。

なお、次のリリースは2024年4月9日(日本時間だと4月10日)の予定です。いよいよ新バージョンである2.4.7がリリースされる予定になっています。
同時にセキュリティパッチリリースも行われる予定なので、十分に注意が必要です。