Twig has unguarded calls to `__toString()` when nesting an object into an array
Package
Affected versions
< 3.11.2
>= 3.12, < 3.14.1
Patched versions
3.11.2
3.14.1
Description
Published to the GitHub Advisory Database
Nov 6, 2024
Reviewed
Nov 6, 2024
Published by the National Vulnerability Database
Nov 6, 2024
Last updated
Nov 12, 2024
Description
In a sandbox, an attacker can call
__toString()
on an object even if the__toString()
method is not allowed by the security policy when the object is part of an array or an argument list (arguments to a function or a filter for instance).Resolution
The sandbox mode now checks the
__toString()
method call on all objects.The patch for this issue is available here for the 3.11.x branch, and here for the 3.x branch.
Credits
We would like to thank Jamie Schouten for reporting the issue and Fabien Potencier for providing the fix.
References