Description
Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. Prior to 4.5.7 and 5.8.2, depending on the release line, Smarty's {fetch} handling in libs/plugins/function.fetch.php and src/FunctionHandler/Fetch.php used Security::isTrustedUri() to validate only the initial remote URL against trusted_uri when a security policy was active. For resources handled by file_get_contents(), including HTTPS URLs, PHP followed HTTP redirects by default. An attacker who could supply or influence a fetch target and had an open redirect on a trusted host could redirect the request to an attacker-chosen internal endpoint, bypass the trusted_uri allowlist, and perform server-side request forgery. This issue is fixed in versions 4.5.7 and 5.8.2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| smarty-php | smarty | >= 5.0.0, < 5.8.2, < 4.5.7 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | smarty3 | No fix yet | — |
| Debian 14 | smarty4 | 4.5.8-1 | — |
| Debian 13 | smarty3 +1 | No fix yet | — |
| Debian 12 | smarty3 +1 | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | smarty3 +1 | No fix yet | — |
| Ubuntu 26.04 LTS | smarty3 +1 | No fix yet | — |
| Ubuntu 24.04 LTS | smarty3 +1 | No fix yet | — |
| Ubuntu 22.04 LTS | smarty3 | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | smarty3 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | smarty3 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | smarty3 | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | smarty/smarty | >= 5.0.0, < 5.8.2 | 5.8.2 | GHSA-cq55-c7wv-pxmq |
| Packagist | smarty/smarty | < 4.5.7 | 4.5.7 | GHSA-cq55-c7wv-pxmq |
References
- https://github.com/smarty-php/smarty/security/advisories/GHSA-cq55-c7wv-pxmq
- https://github.com/smarty-php/smarty/pull/1194
- https://github.com/smarty-php/smarty/commit/31e06fc087a8b5a9b236c1e5dacc1c2850a2c115
- https://github.com/smarty-php/smarty/commit/a1ccdb0518021a559b4066c37b76a42c86bbce90
- https://github.com/smarty-php/smarty/releases/tag/v4.5.7
- https://github.com/smarty-php/smarty/releases/tag/v5.8.2