PHP Code Injection by malicious block or filename in Smarty
The advisory, in context
Impact
Template authors could inject php code by choosing a malicous {block} name or {include} file name. Sites that cannot fully trust template authors should update asap.
Patches
Please upgrade to the most recent version of Smarty v3 or v4.
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
References
Are there any links users can visit to find out more?
For more information
If you have any questions or comments about this advisory:
- Open an issue in the Smarty repo
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.
Earlier releases before 3.1.45
Fixed in 3.1.45
43 explicitly affected versions
v2.6.24, v2.6.25, v2.6.26, v2.6.27, v2.6.28, v2.6.29, v2.6.30, v2.6.31, v2.6.33, v3.1.11, v3.1.12, v3.1.13, v3.1.14, v3.1.15, v3.1.16, v3.1.17, v3.1.18, v3.1.19, v3.1.20, v3.1.21, v3.1.23, v3.1.24, v3.1.25, v3.1.26, v3.1.27, v3.1.28, v3.1.29, v3.1.30, v3.1.31, v3.1.32, v3.1.33, v3.1.34, v3.1.35, v3.1.36, v3.1.37, v3.1.37.1, v3.1.38, v3.1.39, v3.1.40, v3.1.41, v3.1.42, v3.1.43, v3.1.44
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.1.45"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v2.6.24",
"v2.6.25",
"v2.6.26",
"v2.6.27",
"v2.6.28",
"v2.6.29",
"v2.6.30",
"v2.6.31",
"v2.6.33",
"v3.1.11",
"v3.1.12",
"v3.1.13",
"v3.1.14",
"v3.1.15",
"v3.1.16",
"v3.1.17",
"v3.1.18",
"v3.1.19",
"v3.1.20",
"v3.1.21",
"v3.1.23",
"v3.1.24",
"v3.1.25",
"v3.1.26",
"v3.1.27",
"v3.1.28",
"v3.1.29",
"v3.1.30",
"v3.1.31",
"v3.1.32",
"v3.1.33",
"v3.1.34",
"v3.1.35",
"v3.1.36",
"v3.1.37",
"v3.1.37.1",
"v3.1.38",
"v3.1.39",
"v3.1.40",
"v3.1.41",
"v3.1.42",
"v3.1.43",
"v3.1.44"
]
}From 4.0.0 before 4.1.1
Fixed in 4.1.1
6 explicitly affected versions
v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.1.0
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.1.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v4.0.0",
"v4.0.1",
"v4.0.2",
"v4.0.3",
"v4.0.4",
"v4.1.0"
]
}References
- https://github.com/smarty-php/smarty/security/advisories/GHSA-634x-pc3q-cf4c
- https://nvd.nist.gov/vuln/detail/CVE-2022-29221
- https://github.com/smarty-php/smarty/commit/64ad6442ca1da31cefdab5c9874262b702cccddd
- https://github.com/FriendsOfPHP/security-advisories/blob/master/smarty/smarty/CVE-2022-29221.yaml
- https://github.com/smarty-php/smarty
- https://github.com/smarty-php/smarty/releases/tag/v3.1.45
- https://github.com/smarty-php/smarty/releases/tag/v4.1.1
- https://lists.debian.org/debian-lts-announce/2022/05/msg00044.html
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BRAJVDRGCIY5UZ2PQHKDTT7RMKG6WJQQ
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/L777JIBIWJV34HS7LXPIDWASG7TT4LNI
- https://security.gentoo.org/glsa/202209-09
- https://www.debian.org/security/2022/dsa-5151