TL;DR: CVE-2026-54159 is a critical unauthenticated PHP object injection in PrestaShop’s ps_facetedsearch module that can turn a public category-page slider into remote code execution, according to CYCOGNITO. The issue shows how unvalidated filter values and unsafe deserialisation create a webshell path that merchants can miss when bundled modules drift behind core updates.
Editorial analysis by NHI Mgmt Group, based on content published by CYCOGNITO: “Emerging Threat: (CVE-2026-54159) PrestaShop Remote Code Execution via ps_facetedsearch Object Injection”.
Key questions
Q: What breaks when a storefront filter value reaches unsafe deserialisation?
A: A public filter parameter stops being a display setting and becomes attacker-controlled object data.
Q: Why do bundled e-commerce modules create patching blind spots?
A: Bundled modules often drift outside the core platform upgrade process, so teams assume they are current when only the main application has been patched.
Q: What are the signs that a public PHP module has been turned into a webshell path?
A: Look for unexpected PHP files in module directories, unusual server-side file writes after routine page requests, and outbound connections from the web server that do not align with normal storefront traffic.
Practitioner guidance
- Inventory bundled modules separately Record the installed ps_facetedsearch version on every storefront and do not infer module status from the PrestaShop core version.
- Eliminate unsafe deserialisation paths Replace raw unserialize() use with the safer wrapper in the fixed release path, and verify that no request-derived value can be rehydrated into executable object state.
- Harden filter handling on public pages Remove price and weight slider filters from front-office templates where business requirements allow, especially on category and search pages that are externally reachable.
Bottom line: The flaw shows how a seemingly harmless storefront filter can become a remote code execution path when request values flow into unsafe deserialisation.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Storefront UI controls are now part of the application attack surface. A price or weight slider is not just presentation logic when its values flow into server-side state and later into deserialisation. That expands the governance boundary for web commerce teams, because user-facing filters can now create code-execution risk. Practitioners should treat exposed filtering features as security-relevant input channels, not cosmetic page elements.
A question worth separating out:
Q: How should security teams handle public page controls that feed server-side logic?
A: They should classify them as attack surface, not UX-only features. Any control that influences cache state, object construction, or deserialisation needs input validation, version tracking, and exposure monitoring. If a shopper can reach it without login, an attacker can usually reach it too, so governance must assume hostile input.
👉 Read our full editorial: PrestaShop ps_facetedsearch RCE shows how storefront filters become code execution