CVE-2026-54159: ps_facetedsearch: PHP Object Injection in faceted search cache allows unauthenticated RCE

Published Jul 10, 2026
·
Updated

Impact

A PHP Object Injection vulnerability affects the PrestaShop module psfacetedsearch.

The module rebuilds the selected search filters from the request URL. The value of a slider filter (price or weight) is taken from the URL without sufficient validation, then stored in an internal filter-block cache where it is serialized and later read back with a raw native unserialize(). By crafting that value, an attacker can smuggle a malicious serialized PHP object into the cache. When it is deserialized, a gadget chain writes an arbitrary PHP file inside the module directory, which is then used as a webshell to run commands on the server.

Who is impacted

Any shop using a vulnerable version of psfacetedsearch that displays a filter template containing a slider filter (price or weight). Exploitation is remote and unauthenticated, a single crafted front-office request is enough, and leads to remote code execution and full compromise of the shop and its server.

Affected versions: 3.0.0 through 4.0.3 (all versions since 3.0.0, including the latest release).

Patches

Upgrade the psfacetedsearch module to the patched version. Upgrading the module is the best action that removes the vulnerability.

Otherwise, you can apply the fix manually in the file src/Filters/Block.php:

In the getFromCache() method, replace the native unserialize() call:

php // Before if (!empty($row)) { return unserialize(current($row)); }

// After if (!empty($row)) { return \Tools::unSerialize(current($row)); }

Until the module is upgraded:

- Remove price and weight slider filters from the filter templates that are exposed on the front office. - Clear the faceted-search filter cache, and audit the modules/psfacetedsearch/ directory for unexpected PHP files. - Monitor search requests for PHP serialization patterns (O:, ;i:, references to classes such as Monolog\…) and block them at the WAF level.

Resources

- Thank you to Frédéric Moreau (Antadis) and Gilles Caudal (Datalinx) for reporting this vulnerability.

Other sources

PrestaShop psfacetedsearch is a module that adds layered navigation filters. From 3.0.0 until 4.0.4, the psfacetedsearch module rebuilds selected search filters from the request URL, and the value of a slider filter, price or weight, is taken from the URL without sufficient validation and stored in an internal filter-block cache where it is serialized and later read back with a raw native unserialize() in src/Filters/Block.php. By crafting that value, an unauthenticated attacker can smuggle a malicious serialized PHP object into the cache, and when it is deserialized, a gadget chain writes an arbitrary PHP file inside the modules/psfacetedsearch/ directory, which is then used as a webshell to run commands on the server. This issue is fixed in version 4.0.4.

MITRE

Affected Software

1 affected componentFixes available
composer/prestashop/ps_facetedsearch>=3.0.0<4.0.4
4.0.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade composer/prestashop/ps_facetedsearch to a version that resolves this vulnerability.

    Fixed in 4.0.4
  2. Upgrade

    Upgrade PrestaShop module ps_facetedsearch to a version that resolves this vulnerability.

    Fixed in 4.0.4
  3. Configuration

    Until upgraded, remove the price and weight slider filters from the filter templates exposed on the front office.

    PrestaShop module ps_facetedsearch filter templates price/weight slider filters = removed from exposed filter templates
  4. Compensating control

    Until the module is upgraded, monitor search requests for PHP serialization patterns (e.g., `O:`, `;i:`, and references to classes like `Monolog\…`) and block them at the WAF level.

  5. Operational

    Clear the faceted-search filter cache to remove any previously cached malicious serialized PHP objects.

  6. Operational

    Until upgraded, audit the `modules/ps_facetedsearch/` directory for unexpected PHP files written by exploitation.

Event History

Jul 10, 2026
Advisory Published
via GitHub·08:36 PM
Data Sourced
via GitHub·08:36 PM
DescriptionSeverityWeaknessAffected Software
Jul 17, 2026
CVE Published
via MITRE·08:39 PM
Data Sourced
via MITRE·08:39 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·09:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What is the severity of CVE-2026-54159?

The severity of CVE-2026-54159 is critical with a score of 10.

2

What software is affected by CVE-2026-54159?

CVE-2026-54159 affects the PrestaShop module `ps_facetedsearch`.

3

How does CVE-2026-54159 impact security?

CVE-2026-54159 allows PHP Object Injection due to insufficient validation of slider filter values.

4

How do I fix CVE-2026-54159?

To fix CVE-2026-54159, update the PrestaShop `ps_facetedsearch` module with the latest security patch.

5

What are the potential consequences of CVE-2026-54159?

Exploitation of CVE-2026-54159 can lead to unauthorized data access and manipulation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203