GHSA-jjxq-ff2g-95vh
Twig has unguarded calls to `__isset()` and to array-accesses when the sandbox is enabled
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### Description
In a sandbox, and attacker can access attributes of Array-like objects as they were not checked by the security policy.
They are now checked via the property policy and the `__isset()` method is now called after the security check.
**This is a BC break.**
### Resolution
The sandbox mode now ensures access to array-like's properties is allowed.
The patch for this issue is available [here](https://github.com/twigphp/Twig/commit/ec39a9dccc5fb4eaaba55e5d79a6f84a8dd8b69d) for the 3.11.x branch, and [here](https://github.com/twigphp/Twig/commit/b957e5a44cc0075d04ccff52f8fa9d8e6db3e3a0) for the 3.x branch.
### Credits
We would like to thank Jamie Schouten for reporting the issue and Nicolas Grekas for providing the fix.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/twigphp/Twig/security/advisories/GHSA-jjxq-ff2g-95vh
- https://nvd.nist.gov/vuln/detail/CVE-2024-51755
- https://github.com/twigphp/Twig/commit/831c148e786178e5f2fde9db67266be3bf241c21
- https://github.com/FriendsOfPHP/security-advisories/blob/master/twig/twig/CVE-2024-51755.yaml
- https://github.com/twigphp/Twig
- https://symfony.com/blog/unguarded-calls-to-__isset-and-to-array-accesses-when-the-sandbox-is-enabled