Search by

vidarl / ibexa-bulk-operation-guard

vidarl

Restricts Ibexa DXP bulk operation URIs to REST resources (backport of IBX-13044)

Package info

github.com/vidarl/ibexa-bulk-operation-guard

Type:ibexa-bundle

pkg:composer/vidarl/ibexa-bulk-operation-guard

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-11-06 12:06 UTC

This package is auto-updated.

Last update: 2026-11-06 12:08:20 UTC


README

Backport of fix on 4.6.33 and 5.0.11 for a critical severity vulnerability in the Rest API can lead to RCE (Remote Code Execution) by users with access to the Rest API. This puts the fix in a bundle so it can be installed on an instance that cannot yet upgrade to 4.6.33 and 5.0.11

Supported versions

Ibexa DXP ibexa/admin-ui Status
4.6 < 4.6.33 supported — this is what the bundle is for
4.6 >= 4.6.33 already fixed upstream; composer conflict refuses the bundle
5.0 < 5.0.11 supported
5.0 >= 5.0.11 already fixed upstream; composer conflict refuses the bundle

Upgrading ibexa/admin-ui to 4.6.33 or 5.0.11 is the proper remedy. This bundle exists only for instances where that upgrade cannot happen yet.

Remove the bundle before you upgrade. The composer conflict above makes composer refuse any upgrade that would pull in a fixed ibexa/admin-ui, so the upgrade fails as long as the bundle is installed. Take it off first:

composer remove vidarl/ibexa-bulk-operation-guard
composer require ibexa/headless:4.6.33 --with-all-dependencies

(substitute the meta-package the project actually uses — ibexa/oss, ibexa/headless, ibexa/experience or ibexa/commerce)

One case gives no error: a project that requires ibexa/admin-ui directly with a loose constraint such as ^4.6, instead of through a meta-package. There composer silently holds ibexa/admin-ui at the last unfixed version while the rest of the stack moves on. Such an install is still protected — this bundle carries the fix — but it is not upgraded. Verify with composer show ibexa/admin-ui after upgrading.

Installation

composer require vidarl/ibexa-bulk-operation-guard

The package is on Packagist, so no repositories entry is needed.

Symfony Flex registers the bundle for you — every Ibexa skeleton ships with Flex. In a project without it, add the bundle to config/bundles.php by hand:

VidarL\IbexaBulkOperationGuardBundle\VidarLIbexaBulkOperationGuardBundle::class => ['all' => true],

Clear the cache afterwards. To confirm the swap took effect:

php bin/console debug:container 'Ibexa\Bundle\AdminUi\Controller\BulkOperation\BulkOperationController'

The reported class must be VidarL\IbexaBulkOperationGuardBundle\Controller\BulkOperationController.

License

GPL-2.0-only. src/bundle/Controller/BulkOperationController.php is derived from ibexa/admin-ui (Copyright (C) Ibexa AS), available under GPL-2.0-only. See LICENSE.