API レート制限の問題に対処するには、MC-43048__set_rate_limits__2.4.3.patch を適用します

このホットフィックスは、配列に 20 個を超える項目を含むリクエストを web API で処理できない問題の解決策を提供します。 この問題は、Magento Open Source 2.4.3、Adobe Commerce 2.4.3、または 2.3.7-p1 を実行するデプロイメントに影響します。 サービス拒否(DoS)攻撃を防ぐために、これらのリリースには組み込みのレート制限が追加され、デフォルトの最大値は 20 に設定されていました。 このパッチは、デフォルトの制限を高い値に戻します。 ストアで DoS 攻撃が発生していると思われる場合、Adobeでは、リクエストできるリソースの数を制限するために、デフォルトの入力制限をより低い値にすることをお勧めします。 ナレッジベースの記事 20 個を超える項目を含むリクエストを Web API で処理できないを参照してください。

AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch を適用し、アップグレード時に PHP の致命的なエラーに対処します

Magento Open Source 2.4.3 にアップグレード中に、次の致命的なエラーが発生する場合があります。

PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

このエラーは、PHP 8.x 関数である str_contains 関数を使用した結果です。 Open Source 2.4.3 は PHP 8.x をサポートしていません。このホットフィックスは、この関数を、サポートされている PHP 7.x 関数に置き換えます。 ナレッジベースの記事「Adobe Commerceのアップグレード 2.4.3、2.3.7-p1 PHP 致命的なエラーに関するホットフィックス」を参照してください。

ハイライト

このリリースのハイライトは次のとおりです。

セキュリティの大幅な強化

このリリースには、33 のセキュリティ修正と platform のセキュリティの改善が含まれています。 これらのセキュリティ修正の多くは 2.4.2-p2 および 2.3.7-p1 に移植されています。

リモートコード実行(RCE)およびクロスサイトスクリプティング(XSS)の脆弱性を閉じるのに役立つ 33 のセキュリティ強化

これらの問題に関連する確認された攻撃は、今日まで行われていません。 ただし、特定の脆弱性が悪用されて、顧客情報にアクセスしたり、管理者のセッションを引き継いだりする可能性があります。 これらの問題のほとんどは、攻撃者が最初に管理者へのアクセス権を取得する必要があります。 そのため、IP許可リストに加える、 二要素認証、VPN の使用、/admin ではなく一意の場所の使用、適切なパスワードハイジーンなど、管理者を守るために必要なすべての手順を実行してください。 修正された問題の詳細については、Adobe セキュリティ速報を参照してください。

その他のセキュリティ機能強化

このリリースのセキュリティの強化により、次のような最新のセキュリティのベストプラクティスへのコンプライアンスが向上しています。

  • 新しい Composer プラグイン は、依存関係の混乱を防ぎ、公開パッケージリポジトリ上の内部パッケージと同じ名前を持つ悪意のあるパッケージを識別するのに役立ちます。 ブログ投稿「Adobeリリース 2.4.3 リリースの新しい Composer プラグイン」を参照してください。

  • サービス拒否(DoS)攻撃を防ぐために API に レート制限が組み込まれるようになりました。 Web API では、クライアントが要求できるリソースのサイズまたは数に制限を課すようになりました(デフォルトの最大値は 20 に設定されており、ビジネスニーズに基づいて異なる値に設定できます)。 これらの制限の設定については、 レート制限を参照してください。

  • ReCAPTCHA の対象範囲が拡張され 以下が含まれるようになりました。

    • 対応するHTMLページを持つ Web API については、ReCAPTCHA を参照してください。 (統合からアクセスする web API は除く。) ReCAPTCHA カバレッジは、スパム攻撃からエンドポイントを保護します。 OAuth を使用するサードパーティの統合サービスから web API にアクセスすると、ReCAPTCHA が無効になります。

    • 注文ストアフロントページと支払関連の web API。 これらのページの reCAPTCHA 保護は、デフォルトで無効になっており、管理者から有効にすることができます。 このカバレッジは、カード攻撃から店舗を保護するための抗ブルートフォースメカニズムを追加します。

メモ
2.3.2 リリース以降、アドビは、外部関係者からアドビに報告された各セキュリティバグに対して、インデックス付きの Common Vulnerability and Exposures (CVE)番号を割り当て、公開します。 これにより、ユーザーはデプロイメント内の対処されていない脆弱性をより簡単に特定できます。 CVE 識別子について詳しくは、CVE を参照してください。

インフラストラクチャの改善

このリリースには、フレームワークの品質と次の機能領域を向上させる機能強化が含まれています。

  • 顧客アカウント

  • カタログ

  • CMS

  • OMS

  • インポート/エクスポート

  • プロモーションとターゲティング

  • 買い物かごとチェックアウト

  • B2B

  • ステージングとプレビュー

PayPal Pay Later が PayPal を含むデプロイメントでサポートされるようになりました。 この機能により、買い物客は購入時に全額を支払うのではなく、隔週の分割払いで注文の支払いを行うことができます。

新しい use_application_lock インデックスモードuse_application_lock モードでは、環境変数を使用するか、app/etc/env.php ファイルを設定して、インデックスを再作成できます。 このモードを有効にしてエラーが発生した後に、インデクサーを手動でリセットする必要がなくなりました。 再インデックスプロセスに対するアプリケーションロックモードの使用を参照してください。

プラットフォームの機能強化

バージョン 2.4.3 はまだ PHP 8.x と互換性がありませんが、次のプラットフォームアップグレードにより、PHP 8.x との将来の互換性に近づいています。

  • Core Composer の依存関係とサードパーティライブラリは、PHP 8.x と互換性のある最新バージョンにアップグレードされました。

  • KnockoutJS ライブラリが v3.5.1 (最新バージョン)にアップグレードされました。

  • 非推奨(廃止予定)の TinyMCE v3 ライブラリが削除されました。 TinyMCE v3.x に関連する Magento_Tinymce3Banner モジュールおよび MFTF テストがAdobe Commerceから削除されました。

  • Magento Open Source 2.4.3 はテストされ、Redis 6.0.12 と互換性があることが確認されています。 (バージョン 2.4.x は Redis 5.x と互換性があります)。

  • Laminas ライブラリの依存関係は、PHP 8.x 互換バージョンにアップグレードされました。 一部の冗長な依存関係が composer.json ファイルから削除されました。 Magento Open Source 2.4.3 ではラミナス 3.4.0 を使用します。

パフォーマンスの強化

このリリースには、製品価格およびカタログルールインデクサーのインデックス化時間を短縮する機能強化が含まれています。 マーチャントは、顧客グループまたは共有カタログから web サイトを除外できるようになりました。これにより、インデックス作成のレコード数が減り、インデックス作成時間が短縮されます。

Adobe Stockの統合

このリリースにはAdobe Stock Integration v2.1.1 が含まれています。

GraphQL

このリリースでは、共用ルートのGraphQL カバレッジが追加されています。 route query および RoutableInterface は、product、category、およびCMS ページ上のルーティングリクエストをサポートします。 urlResolver クエリは非推奨(廃止予定)になり、その機能は route クエリに置き換えられました。

これらの機能強化について詳しくは、GraphQL開発者ガイドを参照してください。

ページビルダー

ページビルダーが、Magento Open Sourceのバンドル拡張機能として使用できるようになりました。 これは、Adobe Commerce 2.4.3 およびMagento Open Source 2.4.3 のデフォルトのコンテンツ編集ツールになりました。WYSIWG エディターをサードパーティのモジュールに置き換えることができます。

ページビルダーは、次の管理領域で TinyMCE エディターを置き換えます。

  • CMSページ
  • CMSブロック
  • カテゴリの説明
  • 製品の説明

TinyMCE で作成されたすべてのコンテンツは、HTMLとしてページビルダーに移行されました。

PWA Studio

機能強化とバグ修正について詳しくは、PWA Studioリリースを参照してください。 PWA Studioのバージョンとその互換性のあるバージョンの一覧については、 互換性を参照してください。

互換性アップグレードツール

アップグレード互換性ツールの範囲を、コミュニティからのフィードバックに基づいて拡大しました。 #upgrade-compatibility-tool のSlackチャネルに参加して、Adobe製品チームやコミュニティからのサポートを得たり、ツールの将来の方向性を導いたりするのに役立ちます。

ベンダーが開発した拡張機能

このリリースの機能および変更点については、以下の記事を参照してください。

修正された問題

2.4.3 コアコードの何百もの問題を修正しました。

インストール,アップグレード,デプロイメント

  • アップグレードが成功した後、bin/magento setup:db:status コマンドは、すべてが最新であることを示すメッセージを返すようになりました。 以前は、アプリケーションに「Declarative Schema is not up to date」というエラーが表示されていました。
  • 新しい設定可能な製品の作成に失敗した場合に、フォームの再読み込み時に設定値が保持されるようになりました。 以前は、フォームの再読み込み時に値が失われ、アプリケーションに次のエラーが表示されていました。The value specified in the URL Key field would generate a URL that already exists GitHub-32102
  • bin/magento setup:upgrade を実行して Redis を使用したMagento Open SourceデプロイメントからAdobe Commerceにアップグレードする際に、アプリケーションが例外をスローしなくなりました。
  • Galera クラスターで実行されるデプロイメントで、より多くのお客様がサポートされるようになりました。 GitHub-31038
  • アプリケーションが —use-rewrites=0 オプションまたは core_config_data_tableweb/seo/use_rewrites を 0 に設定してインストールされている場合、管理者は配置に正常にログインできるようになりました。 GitHub-32100
  • AsyncCssPluginsortOrder の読み込みが更新されました。 アプリケーションは、JsFooterPlugin の前に AsyncCssPlugin を読み込むようになりました。 GitHub-30882
  • Magento\Config\Model\Config\PathValidator は、表示パスをチェックして要素が存在するかどうかを判断し、設定パスが含まれている場合は、検証の代わりに config.xml パスを使用するようになりました。 GitHub-27678
  • Grunt を使用して、またはサーバー側コンパイルで Less ファイルをコンパイルしても、同じ結果が得られるようになりました。 以前。 Grunt を使ってコンパイルした場合、_extends.less で他の .abs- styles を拡張する .abs- styles が正しく出力されませんでした。 その結果、実稼動デプロイメントと開発デプロイメントの違いが生じました。 GitHub-7231