ACP2E-4505: Circular category dependency from saving a category with stale data in a duplicate browser tab

The ACP2E-4505 patch fixes the issue where it was possible to save a category with stale data from a duplicate browser tab, creating a circular dependency. This patch is available when the Quality Patches Tool (QPT) 1.1.79 is installed. The patch ID is ACP2E-4505. Please note that this issue is scheduled to be fixed in Adobe Commerce 2.4.9.

Affected products and versions

The patch is created for Adobe Commerce version:

  • Adobe Commerce (all deployment methods) 2.4.8-p3, 2.4.7-p8

Compatible with Adobe Commerce versions:

  • Adobe Commerce (all deployment methods) 2.4.7 - 2.4.8-p4
NOTE
The patch might become applicable to other versions with new Quality Patches Tool releases. To check if the patch is compatible with your Adobe Commerce version, update the magento/quality-patches package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.

Issue

It was possible to save a category with stale data from a duplicate browser tab, creating a circular dependency.

Steps to reproduce:

  1. Create a category structure: A > B > C.

  2. In the Admin panel, go to Catalog > Categories.

  3. In the category tree, select category C to open its edit form in Tab 1.

  4. Duplicate the browser tab to open Tab 2 with the same category C edit form.

  5. In Tab 1:

    1. Drag category C under A so C becomes a child of A.
    2. Drag category B under C so B becomes a child of C.
    3. Wait until both drag-and-drop operations finish and the category tree updates.
  6. In Tab 2 (still showing the old hierarchy):

    1. Make any change, for example, edit the description.
    2. Click Save.

Expected results:

The system should validate and prevent circular parent-child relationships from being saved.

Actual results:

A circular parent-child dependency is created between categories (category B has parent C, and category C has parent B), causing infinite recursion in category hierarchy traversal.

Apply the patch

To apply individual patches, use the following links depending on your deployment method:

To learn more about Quality Patches Tool, refer to:

recommendation-more-help
commerce-operations-help-tools