Description
Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. From 5.0.0 until 5.8.4, Smarty's stream: resource-name handling does not adequately restrict which PHP stream wrappers and filter chains can be referenced from a template, allowing a php://filter-wrapped resource name to be used to read the contents of arbitrary local files accessible to the PHP process. An attacker able to author or influence a template's resource reference could exploit this to disclose sensitive file contents outside the intended template/config scope. This issue is fixed in version 5.8.4.
Published: 2026-08-07
Score: 6.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Smarty, a PHP template engine, allowed the use of arbitrary file names inside the stream: resource-name syntax with the php://filter wrapper from version 5.0.0 up to but not including 5.8.4. This flaw, a Directory Traversal style weakness (CWE‑22), can be leveraged by an attacker who controls or influences a template to read any local file accessible to the PHP process, thereby exposing sensitive configuration, source code, or other privileged data.

Affected Systems

The vulnerability affects Smarty PHP template engine versions 5.0.0 through 5.8.3. The issue was resolved in release 5.8.4 and later versions are not impacted.

Risk and Exploitability

The CVSS v3.1 score of 6.9 indicates a moderate severity, but the vulnerability remains significant due to the potential for arbitrary local file access. The EPSS score is not available, and the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is through templates that are authorable by an attacker or are influenced by external input; based on the description, it is inferred that file disclosure can be achieved via the php://filter wrapper within stream resources.

Generated by OpenCVE AI on August 7, 2026 at 16:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Smarty to version 5.8.4 or later.
  • If an upgrade is not immediately possible, disable the php://filter stream wrapper in the PHP environment (e.g., via php.ini configuration).
  • Validate any resource names supplied to Smarty templates and restrict them to known safe directories to prevent unintended file access.

Generated by OpenCVE AI on August 7, 2026 at 16:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-rjhh-76wf-8xmw Smarty Security stream restriction bypass through stream: resource
History

Fri, 07 Aug 2026 15:30: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. From 5.0.0 until 5.8.4, Smarty's stream: resource-name handling does not adequately restrict which PHP stream wrappers and filter chains can be referenced from a template, allowing a php://filter-wrapped resource name to be used to read the contents of arbitrary local files accessible to the PHP process. An attacker able to author or influence a template's resource reference could exploit this to disclose sensitive file contents outside the intended template/config scope. This issue is fixed in version 5.8.4.
Title Smarty Security stream restriction bypass through stream: resource
Weaknesses CWE-22
References
Metrics cvssV4_0

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-07T15:04:52.662Z

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

Link: CVE-2026-62996

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-07T16:30:15Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')