
این موتور برای ارزیابی کدهای تمپلیت، یک حالت جعبه شنی (Sandbox) دارد که یک آسیبپذیری بحرانی (9.8 از10) در نسخههای 2.0.0 تا 2.14.10 و نسخههای 3.0.0 تا 3.3.7 در این حالت سندباکس Twig وجود دارد. فیلتر sort در که در موتور Twig برای مرتبسازی آرایه استفاده میشود، حاوی تابع arrow (<=) است که به دلیل اینکه به شکل کلوژر یا بستار (closure) تعریف و بکارگیری نشده است، این امکان را به مهاجمان فراهمساخته تا بتوانند توابع PHP دلخواه خود را از طریق بهرهبرداری از این آسیبپذیری اجرا کنند.
جدول 1. مشخصات آسیبپذیری CVE-2022-23614
ردیف |
عنوان |
مقدار |
1 |
تاریخ انتشار آسیبپذیری |
2022-02-04 |
2 |
تاریخ بروزسانی آسیبپذیری |
2022-04-18 |
2 |
شدت آسیبپذیری (طبقcvss نسخه 3) |
بحرانی (9.8 از 10) |
4 |
نسخه آسیبپذیر |
از نسخه 2.0.0 تا نسخه 2.14.10 از نسخه 3.0.0 تا نسخه 3.3.7 |
5 |
نوع ضعف |
Injection |
برای رفع این آسیبپذیری، نسخههای آسیبپذیر مطابق با اصلاحیه Twig به کامیت شماره 22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9 فایلهای src/Extension/CoreExtension.php و tests/Extension/SandboxTest.php بایستی همچون شکلهای زیر تصحیح گردند.
- 1- در فایل src/Extension/CoreExtension.php خطوط 240، 929، 938، 1609، 1623، 1637، 1650 بایستی اصلاح گردد.
شکل 1- اصلاحیه Twig در فایل CoreExtensions.php خطوط 240, 929, 938
شکل 2- اصلاحیه Twig در فایل CoreExtension.php خطوط 1609.1623,1637
شکل 3- اصلاحیه Twig در فایل CoreExtension.php خط 1650
- 2- در فایل فایل tests/Extension/SandboxTest.php خط 393 بایستی اصلاح گردد.
شکل 4- اصلاحیه Twig در فایل SandboxTest.php خط 393
منابع
- https://nvd.nist.gov/vuln/detail/CVE-2022-23614
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23614
- https://vuldb.com/?id.192319
- https://github.com/twigphp/Twig/commit/22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9