PrestaShop some attribute not escaped in Validate::isCleanHTML method
The advisory, in context
Description
Some event attributes are not detected by the isCleanHTML method
Impact
Some modules using the isCleanHTML method could be vulnerable to xss
Patches
8.1.3, 1.7.8.11
Workarounds
The best workaround is to use the HTMLPurifier library to sanitize html input coming from users. The library is already available as a dependency in the PrestaShop project. Beware though that in legacy object models, fields of HTML type will call isCleanHTML.
Reporters
Reported by Antonio Russo (@Antonio-R1 on GitHub) and Antonio Rocco Spataro (@antoniospataro on GitHub).
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
From 8.0.0-beta.1 before 8.1.3
Fixed in 8.1.3
13 explicitly affected versions
8.0.0, 8.0.0-beta.1, 8.0.0-rc.1, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.1.0, 8.1.0-beta.1, 8.1.0-rc.1, 8.1.1, 8.1.2
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "8.0.0-beta.1"
},
{
"fixed": "8.1.3"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"8.0.0",
"8.0.0-beta.1",
"8.0.0-rc.1",
"8.0.1",
"8.0.2",
"8.0.3",
"8.0.4",
"8.0.5",
"8.1.0",
"8.1.0-beta.1",
"8.1.0-rc.1",
"8.1.1",
"8.1.2"
]
}Earlier releases before 1.7.8.11
Fixed in 1.7.8.11
78 explicitly affected versions
1.7.0.0, 1.7.0.0-beta.1.0, 1.7.0.0-beta.2.0, 1.7.0.0-beta.3.0, 1.7.0.0-beta.4.0, 1.7.0.0-rc.0.0, 1.7.0.0-rc.1.0, 1.7.0.0-rc.2.0, 1.7.0.1, 1.7.0.2, 1.7.0.3, 1.7.0.4, 1.7.0.5, 1.7.0.6, 1.7.1.0, 1.7.1.1, 1.7.1.2, 1.7.2.0, 1.7.2.0-rc.1.0, 1.7.2.1, 1.7.2.2, 1.7.2.3, 1.7.2.4, 1.7.2.5, 1.7.3.0, 1.7.3.1, 1.7.3.2, 1.7.3.3, 1.7.3.4, 1.7.4.0, 1.7.4.0-beta.1, 1.7.4.1, 1.7.4.2, 1.7.4.3, 1.7.4.4, 1.7.5.0, 1.7.5.0-beta.1, 1.7.5.0-rc.1, 1.7.5.1, 1.7.5.2, 1.7.6.0, 1.7.6.0-beta.1, 1.7.6.0-rc.1, 1.7.6.0-rc.2, 1.7.6.1, 1.7.6.2, 1.7.6.3, 1.7.6.4, 1.7.6.5, 1.7.6.6, 1.7.6.7, 1.7.6.8, 1.7.6.9, 1.7.7.0, 1.7.7.0-beta.1, 1.7.7.0-beta.2, 1.7.7.0-rc.1, 1.7.7.1, 1.7.7.2, 1.7.7.3, 1.7.7.4, 1.7.7.5, 1.7.7.6, 1.7.7.7, 1.7.7.8, 1.7.8.0, 1.7.8.0-beta.1, 1.7.8.0-rc.1, 1.7.8.1, 1.7.8.10, 1.7.8.2, 1.7.8.3, 1.7.8.4, 1.7.8.5, 1.7.8.6, 1.7.8.7, 1.7.8.8, 1.7.8.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.7.8.11"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.7.0.0",
"1.7.0.0-beta.1.0",
"1.7.0.0-beta.2.0",
"1.7.0.0-beta.3.0",
"1.7.0.0-beta.4.0",
"1.7.0.0-rc.0.0",
"1.7.0.0-rc.1.0",
"1.7.0.0-rc.2.0",
"1.7.0.1",
"1.7.0.2",
"1.7.0.3",
"1.7.0.4",
"1.7.0.5",
"1.7.0.6",
"1.7.1.0",
"1.7.1.1",
"1.7.1.2",
"1.7.2.0",
"1.7.2.0-rc.1.0",
"1.7.2.1",
"1.7.2.2",
"1.7.2.3",
"1.7.2.4",
"1.7.2.5",
"1.7.3.0",
"1.7.3.1",
"1.7.3.2",
"1.7.3.3",
"1.7.3.4",
"1.7.4.0",
"1.7.4.0-beta.1",
"1.7.4.1",
"1.7.4.2",
"1.7.4.3",
"1.7.4.4",
"1.7.5.0",
"1.7.5.0-beta.1",
"1.7.5.0-rc.1",
"1.7.5.1",
"1.7.5.2",
"1.7.6.0",
"1.7.6.0-beta.1",
"1.7.6.0-rc.1",
"1.7.6.0-rc.2",
"1.7.6.1",
"1.7.6.2",
"1.7.6.3",
"1.7.6.4",
"1.7.6.5",
"1.7.6.6",
"1.7.6.7",
"1.7.6.8",
"1.7.6.9",
"1.7.7.0",
"1.7.7.0-beta.1",
"1.7.7.0-beta.2",
"1.7.7.0-rc.1",
"1.7.7.1",
"1.7.7.2",
"1.7.7.3",
"1.7.7.4",
"1.7.7.5",
"1.7.7.6",
"1.7.7.7",
"1.7.7.8",
"1.7.8.0",
"1.7.8.0-beta.1",
"1.7.8.0-rc.1",
"1.7.8.1",
"1.7.8.10",
"1.7.8.2",
"1.7.8.3",
"1.7.8.4",
"1.7.8.5",
"1.7.8.6",
"1.7.8.7",
"1.7.8.8",
"1.7.8.9"
]
}References
- https://github.com/PrestaShop/PrestaShop/security/advisories/GHSA-xgpm-q3mq-46rq
- https://nvd.nist.gov/vuln/detail/CVE-2024-21627
- https://github.com/PrestaShop/PrestaShop/commit/0ed1af8de500538490f88e9e794e2e8113fb8df7
- https://github.com/PrestaShop/PrestaShop/commit/73cfb44666818eefd501b526a894fe884dd12129
- https://github.com/PrestaShop/PrestaShop/commit/ba06d18466df5b92cb841d504cc7210121104883
- https://github.com/PrestaShop/PrestaShop/commit/f799dcff564cd1b7ead932ffc3343b675107dbce
- https://github.com/PrestaShop/PrestaShop