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.
Published: 2026-08-31
Score: 6.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The fetch plugin in Smarty validates only the original URL against the trusted_uri allowlist when a security policy is active. When the target URL redirects, PHP follows the redirect by default, letting an attacker redirect the request to an internal endpoint through an open redirect on a trusted host. This bypass permits Server‑Side Request Forgery, enabling attackers to reach internal services, read data, or trigger undesired actions. The vulnerability does not provide arbitrary code execution but can be leveraged for significant internal reconnaissance or exploitation.

Affected Systems

All releases of the Smarty template engine for PHP prior to version 4.5.7 on the 4.x line and to version 5.8.2 on the 5.x line are affected, including any 4.x and 5.x releases that do not contain the patch. The vulnerability is linked to the {fetch} helper implemented in libs/plugins/function.fetch.php and src/FunctionHandler/Fetch.php.

Risk and Exploitability

The CVSS score of 6.9 indicates moderate severity. No EPSS score is available, and the issue is not listed in CISA KEV. The attack requires an attacker who can influence the fetch target, which typically occurs via a web application that uses the {fetch} tag. The exploit path leverages PHP’s default following of HTTP redirects, a trusted host with an open redirect, and the lack of re‑validation after the redirect. Because the vulnerability relies on application‑level input and environmental conditions, the likelihood of exploitation is moderate in a realistic threat model.

Generated by OpenCVE AI on August 31, 2026 at 23:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Smarty to version 4.5.7 or 5.8.2 where the flaw is fixed.
  • Reconfigure PHP to disallow automatic HTTP redirects when calling file_get_contents through the {fetch} tag, thereby preventing redirect chaining.
  • Implement strict validation or a whitelist for URLs supplied to the {fetch} function to ensure only approved destinations are accessed.

Generated by OpenCVE AI on August 31, 2026 at 23:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 23:45:00 +0000

Type Values Removed Values Added
First Time appeared Smarty-php
Smarty-php smarty
Vendors & Products Smarty-php
Smarty-php smarty

Mon, 31 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
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.
Title Smarty: SSRF via redirect bypass of trusted_uri using {fetch}
Weaknesses CWE-918
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N'}


Subscriptions

Smarty-php Smarty
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-31T20:58:03.616Z

Reserved: 2026-07-14T23:10:57.031Z

Link: CVE-2026-62993

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-31T21:17:33.170

Modified: 2026-08-31T21:17:33.170

Link: CVE-2026-62993

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T23:30:06Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)