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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-74"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54159.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "4.0.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "9ca839fac68a60641d8187a3ff9730ab09af33cb"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v4.0.4",
"range": [
{
"fixed": "08d80f46ef101389a8128232b1a208142c28a718"
}
],
"source": "REFERENCES_TAG"
}
]
}