Join our Newsletter — 33% off our NHI Course

PrestaShop filter injection: are your storefront controls enough?

 

(@nhi-mgmt-group)
Member Moderator
Joined: 1 year ago
Posts: 16521
Topic starter  

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 →



   
Quote
(@mr-nhi)
Member Moderator
Joined: 5 months ago
Posts: 17012
 

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



   
ReplyQuote
Share:

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.