Skip to main content

CVE-2022-39261: CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in twigphp Twig

Medium
Published: Wed Sep 28 2022 (09/28/2022, 00:00:00 UTC)
Source: CVE
Vendor/Project: twigphp
Product: Twig

Description

Twig is a template language for PHP. Versions 1.x prior to 1.44.7, 2.x prior to 2.15.3, and 3.x prior to 3.4.3 encounter an issue when the filesystem loader loads templates for which the name is a user input. It is possible to use the `source` or `include` statement to read arbitrary files from outside the templates' directory when using a namespace like `@somewhere/../some.file`. In such a case, validation is bypassed. Versions 1.44.7, 2.15.3, and 3.4.3 contain a fix for validation of such template names. There are no known workarounds aside from upgrading.

AI-Powered Analysis

AILast updated: 06/22/2025, 16:52:25 UTC

Technical Analysis

CVE-2022-39261 is a path traversal vulnerability affecting the Twig template engine for PHP, specifically versions prior to 1.44.7 in the 1.x series, prior to 2.15.3 in the 2.x series, and prior to 3.4.3 in the 3.x series. Twig is widely used for rendering templates in PHP applications. The vulnerability arises when the filesystem loader processes template names derived from user input without proper validation. Attackers can exploit this by crafting template names using namespace syntax combined with directory traversal sequences (e.g., '@namespace/../file') to bypass directory restrictions. This allows reading arbitrary files outside the intended template directories. The flaw is rooted in improper limitation of pathnames (CWE-22), where the validation logic fails to sanitize or restrict traversal sequences effectively. The vulnerability can be triggered via Twig's `source` or `include` statements, which load templates dynamically. The fixed versions introduced stricter validation to prevent such traversal. No known workarounds exist aside from upgrading to patched versions. There are no known exploits in the wild as of the publication date, but the vulnerability poses a significant risk due to the potential for unauthorized file disclosure in web applications using vulnerable Twig versions.

Potential Impact

For European organizations, this vulnerability could lead to unauthorized disclosure of sensitive files such as configuration files, credentials, or internal documents if exploited. This compromises confidentiality and may facilitate further attacks like privilege escalation or lateral movement within the network. Since Twig is commonly used in PHP-based web applications, including content management systems, e-commerce platforms, and custom enterprise applications, the attack surface is broad. Exploitation does not require authentication or user interaction if the application exposes template names based on user input, increasing risk. The impact is particularly critical for sectors handling sensitive personal data (e.g., finance, healthcare, government) due to GDPR compliance requirements. Additionally, organizations relying on Twig in critical infrastructure or public-facing services could face service disruption or reputational damage if sensitive data is leaked. However, the vulnerability does not directly enable code execution or availability disruption, limiting the impact to confidentiality and integrity of data.

Mitigation Recommendations

Upgrade all Twig installations to versions 1.44.7, 2.15.3, or 3.4.3 or later to ensure the path traversal validation fix is applied. Audit application code to identify any usage of Twig's `source` or `include` statements where template names are derived from user input. Refactor code to avoid passing unsanitized user input to these functions. Implement strict input validation and sanitization on any user-supplied data that influences template loading paths, enforcing whitelisting of allowed template names or namespaces. Use application-layer access controls to restrict access to sensitive templates and files, minimizing the impact if traversal occurs. Conduct penetration testing focusing on template injection and path traversal vectors to verify that the vulnerability is mitigated. Monitor web application logs for suspicious template loading patterns that may indicate exploitation attempts. Where feasible, isolate Twig template directories with strict filesystem permissions to limit file read access by the web server user. Educate development teams on secure template handling practices and the risks of dynamic template loading from untrusted sources.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
GitHub_M
Date Reserved
2022-09-02T00:00:00.000Z
Cisa Enriched
true

Threat ID: 682d9845c4522896dcbf44a8

Added to database: 5/21/2025, 9:09:25 AM

Last enriched: 6/22/2025, 4:52:25 PM

Last updated: 8/16/2025, 10:59:03 AM

Views: 20

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats