CVE-2021-29454
Sandbox Escape by math function in smarty
- State
- Published
- Severity
- 8.1 High
- Published
- Jan 10, 2022
- Updated
- Apr 23, 2025
- Reserved
- Mar 30, 2021
Description
Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. Prior to versions 3.1.42 and 4.0.2, template authors could run arbitrary PHP code by crafting a malicious math string. If a math string was passed through as user provided data to the math function, external users could run arbitrary PHP code by crafting a malicious math string. Users should upgrade to version 3.1.42 or 4.0.2 to receive a patch.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 8.1 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N | GitHub_M |
Weaknesses
- CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
Affected Products
| Product | Versions |
|---|---|
smartysmarty-php |
|
References
- https://github.com/smarty-php/smarty/security/advisories/GHSA-29gp-2c3m-3j6m
- https://github.com/smarty-php/smarty/commit/215d81a9fa3cd63d82fb3ab56ecaf97cf1e7db71
- https://github.com/smarty-php/smarty/releases/tag/v3.1.42
- https://github.com/smarty-php/smarty/releases/tag/v4.0.2
- https://packagist.org/packages/smarty/smarty
- https://www.smarty.net/docs/en/language.function.math.tpl
- [debian-lts-announce] 20220505 [SECURITY] [DLA 2995-1] smarty3 security updatemailing-list
- DSA-5151vendor-advisory
- GLSA-202209-09vendor-advisory
- FEDORA-2022-52154efd61vendor-advisory
- FEDORA-2022-d5fc9dcdd7vendor-advisory
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.