Cross-site Scripting (XSS) in pimcore admin-ui-classic-bundle translations
Description
Pimcore admin-ui-classic-bundle provides a Backend UI for Pimcore. The translation value with text including “%s” (from “%suggest%) is parsed by sprintf() even though it’s supposed to be output literally to the user. The translations may be accessible by a user with comparatively lower overall access (as the translation permission cannot be scoped to certain “modules”) and a skilled attacker might be able to exploit the parsing of the translation string in the dialog box. This issue has been patched in commit abd77392 which is included in release 1.1.2. Users are advised to update to version 1.1.2 or apply the patch manually.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
pimcore/admin-ui-classic-bundlePackagist | < 1.1.2 | 1.1.2 |
Affected products
1- Range: < 1.1.2
Patches
1abd7739298f9[Bug]: Fix avoid recursion on replaced arguments having further % (#264)
2 files changed · +5 −2
public/js/pimcore/functions.js+4 −1 modified@@ -1624,8 +1624,11 @@ sprintf = function () else if (pType == 'x') subst = ('' + parseInt(param).toString(16)).toLowerCase(); else if (pType == 'X') subst = ('' + parseInt(param).toString(16)).toUpperCase(); } - str = leftpart + subst + rightPart; + arguments[numSubstitutions] = subst; + str = leftpart + '${'+numSubstitutions+'}' + rightPart; } + str = str.replace(/\${(\d+)}/g, (match, num) => arguments[num]); + return str; }
public/js/pimcore/settings/translation.js+1 −1 modified@@ -322,7 +322,7 @@ pimcore.settings.translation.domain = Class.create({ icon: "/bundles/pimcoreadmin/img/flat-color-icons/delete.svg", handler: function (grid, rowIndex) { let data = grid.getStore().getAt(rowIndex); - pimcore.helpers.deleteConfirm(t('translation'), Ext.util.Format.htmlEncode(data.data.key), function () { + pimcore.helpers.deleteConfirm(t('translation').toLowerCase(), Ext.util.Format.htmlEncode(data.data.key), function () { grid.getStore().removeAt(rowIndex); }.bind(this)); }.bind(this)
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-m988-7375-7g2cghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2023-42817ghsaADVISORY
- github.com/pimcore/admin-ui-classic-bundle/commit/abd7739298f974319e3cac3fd4fcd7f995b63e4cghsax_refsource_MISCWEB
- github.com/pimcore/admin-ui-classic-bundle/security/advisories/GHSA-m988-7375-7g2cghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.