Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency twig/twig to ^3.11.2 [SECURITY] #385

Open
wants to merge 1 commit into
base: 1.17.x
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 9, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
twig/twig (source) ^3.8.0 -> ^3.11.2 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2024-45411

Description

Under some circumstances, the sandbox security checks are not run which allows user-contributed templates to bypass the sandbox restrictions.

The security issue happens when all these conditions are met:

  • The sandbox is disabled globally;
  • The sandbox is enabled via a sandboxed include() function which references a template name (like included.twig) and not a Template or TemplateWrapper instance;
  • The included template has been loaded before the include() call but in a non-sandbox context (possible as the sandbox has been globally disabled).

Resolution

The patch ensures that the sandbox security checks are always run at runtime.

Credits

We would like to thank Fabien Potencier for reporting and fixing the issue.

CVE-2024-51754

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.

CVE-2024-51755

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 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 Nicolas Grekas for providing the fix.


Release Notes

twigphp/Twig (twig/twig)

v3.11.2

Compare Source

  • [BC BREAK] Fix a security issue in the sandbox mode allowing an attacker to call attributes on Array-like objects
    They are now checked via the property policy
  • Fix a security issue in the sandbox mode allowing an attacker to be able to call toString()
    under some circumstances on an object even if the __toString() method is not allowed by the security policy

v3.11.1

Compare Source

v3.11.0

Compare Source

  • Deprecate OptimizerNodeVisitor::OPTIMIZE_RAW_FILTER
  • Add Twig\Cache\ChainCache and Twig\Cache\ReadOnlyFilesystemCache
  • Add the possibility to deprecate attributes and nodes on Node
  • Add the possibility to add a package and a version to the deprecated tag
  • Add the possibility to add a package for filter/function/test deprecations
  • Mark ConstantExpression as being @final
  • Add the find filter
  • Fix optimizer mode validation in OptimizerNodeVisitor
  • Add the possibility to yield from a generator in PrintNode
  • Add the shuffle filter
  • Add the singular and plural filters in StringExtension
  • Deprecate the second argument of Twig\Node\Expression\CallExpression::compileArguments()
  • Deprecate Twig\ExpressionParser\parseHashExpression() in favor of
    Twig\ExpressionParser::parseMappingExpression()
  • Deprecate Twig\ExpressionParser\parseArrayExpression() in favor of
    Twig\ExpressionParser::parseSequenceExpression()
  • Add sequence and mapping tests
  • Deprecate Twig\Node\Expression\NameExpression::isSimple() and
    Twig\Node\Expression\NameExpression::isSpecial()

v3.10.3

Compare Source

  • Fix missing ; in generated code

v3.10.2

Compare Source

  • Fix support for the deprecated escaper signature

v3.10.1

Compare Source

  • Fix BC break on escaper extension
  • Fix constant return type

v3.10.0

Compare Source

  • Make CoreExtension::formatDate, CoreExtension::convertDate, and
    CoreExtension::formatNumber part of the public API

  • Add needs_charset option for filters and functions

  • Extract the escaping logic from the EscaperExtension class to a new
    EscaperRuntime class.

    The following methods from Twig\\Extension\\EscaperExtension are
    deprecated: setEscaper(), getEscapers(), setSafeClasses,
    addSafeClasses(). Use the same methods on the
    Twig\\Runtime\\EscaperRuntime class instead.

  • Fix capturing output from extensions that still use echo

  • Fix a PHP warning in the Lexer on malformed templates

  • Fix blocks not available under some circumstances

  • Synchronize source context in templates when setting a Node on a Node


Configuration

📅 Schedule: Branch creation - "" in timezone UTC, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

Read more about the use of Renovate Bot within ocramius/* projects.

@renovate renovate bot added the security label Sep 9, 2024
@renovate renovate bot force-pushed the renovate/packagist-twig-twig-vulnerability branch from 08a9ad7 to 508463f Compare September 10, 2024 18:01
@renovate renovate bot changed the title Update dependency twig/twig to ^3.14.0 [SECURITY] Update dependency twig/twig to ^3.11.1 [SECURITY] Sep 10, 2024
@renovate renovate bot force-pushed the renovate/packagist-twig-twig-vulnerability branch from 508463f to 9cb3448 Compare November 6, 2024 23:18
@renovate renovate bot changed the title Update dependency twig/twig to ^3.11.1 [SECURITY] Update dependency twig/twig to ^3.11.2 [SECURITY] Nov 6, 2024
@renovate renovate bot force-pushed the renovate/packagist-twig-twig-vulnerability branch from 9cb3448 to 4856b33 Compare November 12, 2024 19:50
@renovate renovate bot changed the title Update dependency twig/twig to ^3.11.2 [SECURITY] Update dependency twig/twig to ^3.11.1 [SECURITY] Nov 12, 2024
| datasource | package   | from  | to     |
| ---------- | --------- | ----- | ------ |
| packagist  | twig/twig | 3.9.3 | 3.11.2 |
@renovate renovate bot changed the title Update dependency twig/twig to ^3.11.1 [SECURITY] Update dependency twig/twig to ^3.11.2 [SECURITY] Nov 12, 2024
@renovate renovate bot force-pushed the renovate/packagist-twig-twig-vulnerability branch from 4856b33 to 926f18b Compare November 12, 2024 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants