Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-46640— Twig: Arbitrary PHP code execution via `_self.(<string>)` macro-reference compilation

Quick assessment

Affected
twigphp Twig
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

twigphp Twig是twigphp的PHP模板引擎。 twigphp Twig 3.15.0版本至3.26.0之前版本存在代码注入漏洞,该漏洞源于_self.(<string>)和import-alias动态属性语法在拼接攻击者可控字符串到MacroReferenceExpression名称时缺乏标识符验证,导致原始PHP代码被注入到生成的模板源中并在模板加载时执行。

AI Predicted 9.8 Difficulty: Trivial EPSS 0.64% · P50

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 1

VendorProduct Version RangeStatus
twigphp Twig >= 3.15.0, < 3.26.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-46640

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Twig: Arbitrary PHP code execution via `_self.(<string>)` macro-reference compilation
Source: CVE Program / CVE List V5
Vulnerability Description
Twig is a template language for PHP. From 3.15.0 until 3.26.0, _self.(<string>) and import-alias dynamic attribute syntax can concatenate an attacker-controlled string into a MacroReferenceExpression name without identifier validation, causing raw PHP to be emitted into the generated template source and executed at template-load time. This issue is fixed in version 3.26.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
对生成代码的控制不恰当(代码注入)
Source: CVE Program / CVE List V5
Vulnerability Title
twigphp Twig 代码注入漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
twigphp Twig是twigphp的PHP模板引擎。 twigphp Twig 3.15.0版本至3.26.0之前版本存在代码注入漏洞,该漏洞源于_self.(<string>)和import-alias动态属性语法在拼接攻击者可控字符串到MacroReferenceExpression名称时缺乏标识符验证,导致原始PHP代码被注入到生成的模板源中并在模板加载时执行。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
twigphp Twig >= 3.15.0, < 3.26.0 -

II. Public POCs for CVE-2026-46640

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-46640

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-46640 (1)

Vendor Advisories for CVE-2026-46640 (1)

Vendor Pages for CVE-2026-46640 (1)

Same Patch Batch · twigphp · 2026-07-14 · 17 CVEs total

CVE-2026-46634 7.7 HIGH Twig: `template_from_string()` escapes a SourcePolicy-driven sandbox via synthesized templ
CVE-2026-47730 Twig: XSS in profiler HtmlDumper via unescaped template and profile names
CVE-2026-47732 Twig Sandbox: multiple `__toString()` policy bypasses via unguarded string coercion points
CVE-2026-48806 Twig: Sandbox `__toString()` policy bypass via dynamic mapping keys
CVE-2026-48805 Twig: Sandbox state regression in deprecated internal wrappers in `src/Resources/core.php`
CVE-2026-48808 Twig: Sandbox property allowlist bypass via the `column` filter under `SourcePolicyInterfa
CVE-2026-48807 Twig: Sandbox `__toString()` policy bypass via `Traversable` in `join` and `replace` filte
CVE-2026-49981 Twig: Sandbox filter, tag and function allow-list bypass when sandbox state changes betwee
CVE-2026-46635 Twig: Sandbox property allowlist bypass via the `column` filter (array_column on objects)
CVE-2026-46638 Twig: `{% sandbox %}{% include %}` skips checkSecurity() on cached templates (incomplete f
CVE-2026-46628 Twig: The `spaceless` filter implicitly marks its output as safe
CVE-2026-46637 Twig: HTML-output filters in twig/* extras incorrectly declared `is_safe => ['all']`
CVE-2026-46639 Twig: Sandbox property and method bypass via object-destructuring assignment
CVE-2026-46627 Twig: Sandbox resource exhaustion via unbounded `for` / `range()`
CVE-2026-46633 Twig: PHP code injection via `{% use %}` template name
CVE-2026-46629 Twig: Unbounded formatter memoisation in twig/intl-extra keyed on template-controlled argu

IV. Related Vulnerabilities

V. Comments for CVE-2026-46640

No comments yet


Leave a comment