ps_facetedsearch: PHP Object Injection in faceted search cache allows unauthenticated RCE
Description
PrestaShop ps_facetedsearch is a module that adds layered navigation filters. From 3.0.0 until 4.0.4, the ps_facetedsearch 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/ps_facetedsearch/ directory, which is then used as a webshell to run commands on the server. This issue is fixed in version 4.0.4.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
prestashop/ps_facetedsearchPackagist | >= 3.0.0, < 4.0.4 | 4.0.4 |
Affected products
2- Range: v4.0.3, v4.0.2, v4.0.1, …
- Range: 3.0.0 - 4.0.3
Patches
Vulnerability mechanics
References
4- github.com/advisories/GHSA-m5f5-28qr-9g9rghsaADVISORY
- github.com/PrestaShop/ps_facetedsearch/commit/9ca839fac68a60641d8187a3ff9730ab09af33cbmitrex_refsource_MISC
- github.com/PrestaShop/ps_facetedsearch/releases/tag/v4.0.4mitrex_refsource_MISC
- github.com/PrestaShop/ps_facetedsearch/security/advisories/GHSA-m5f5-28qr-9g9rghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.