Miggo Logo

CVE-2025-55741: UnoPim has Broken Access Control

8.1

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
8/22/2025
Updated
8/22/2025
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
unopim/unopimcomposer<= 0.3.00.3.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability is a broken access control issue in UnoPim where the mass-delete functionality for products does not properly check user permissions. The analysis of the provided patches, specifically commit c14eebe653aafd8dc713ca729165177e63315989, reveals the mitigation strategy and, by extension, the nature of the vulnerability.

The core of the vulnerability lies in the backend controller action that handles the POST /admin/catalog/products/mass-delete request. This function, inferred to be massDestroy in ProductController, was missing an authorization check. During exploitation, this is the function that would be present in a runtime profile as it directly processes the malicious request.

The patch introduces a specific Access Control List (ACL) permission, catalog.products.mass_delete, to govern this action. The commit also updates the UI-layer function Webkul\Admin\DataGrids\Catalog\ProductDataGrid::prepareMassActions to check for this new, more granular permission. Previously, this function checked for the general catalog.products.delete permission, which was incorrect and contributed to the vulnerability by exposing the mass-delete option to a wider set of users in the admin panel. Therefore, both the controller action that executes the deletion and the datagrid function that prepares the UI for it are identified as relevant to the vulnerability.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Summ*ry In Unopim, it is possi*l* to *r**t* rol*s *n* **oos* t** privil***s. *ow*v*r, us*rs wit*out t** “**l*t*” privil*** *or Pro*u*ts **nnot **l*t* * sin*l* pro*u*t vi* t** st*n**r* *n*point (*xp**t** ****vior), *ut **n still **l*t* pro*u*ts vi

Reasoning

T** vuln*r**ility is * *rok*n ****ss *ontrol issu* in UnoPim w**r* t** m*ss-**l*t* *un*tion*lity *or pro*u*ts *o*s not prop*rly ****k us*r p*rmissions. T** *n*lysis o* t** provi*** p*t***s, sp**i*i**lly *ommit `***************************************