-
Notifications
You must be signed in to change notification settings - Fork 7.8k
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
chore(deps): update dependency jinja2 to v3.1.6 [security] #2929
Open
renovate-bot
wants to merge
1
commit into
GoogleCloudPlatform:main
Choose a base branch
from
renovate-bot:renovate/pypi-jinja2-vulnerability
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
chore(deps): update dependency jinja2 to v3.1.6 [security] #2929
renovate-bot
wants to merge
1
commit into
GoogleCloudPlatform:main
from
renovate-bot:renovate/pypi-jinja2-vulnerability
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==3.1.5
->==3.1.6
GitHub Vulnerability Alerts
CVE-2024-22195
The
xmlattr
filter in affected versions of Jinja accepts keys containing spaces. XML/HTML attributes cannot contain spaces, as each would then be interpreted as a separate attribute. If an application accepts keys (as opposed to only values) as user input, and renders these in pages that other users see as well, an attacker could use this to inject other attributes and perform XSS. Note that accepting keys as user input is not common or a particularly intended use case of thexmlattr
filter, and an application doing so should already be verifying what keys are provided regardless of this fix.CVE-2024-34064
The
xmlattr
filter in affected versions of Jinja accepts keys containing non-attribute characters. XML/HTML attributes cannot contain spaces,/
,>
, or=
, as each would then be interpreted as starting a separate attribute. If an application accepts keys (as opposed to only values) as user input, and renders these in pages that other users see as well, an attacker could use this to inject other attributes and perform XSS. The fix for the previous GHSA-h5c8-rqwp-cp95 CVE-2024-22195 only addressed spaces but not other characters.Accepting keys as user input is now explicitly considered an unintended use case of the
xmlattr
filter, and code that does so without otherwise validating the input should be flagged as insecure, regardless of Jinja version. Accepting values as user input continues to be safe.CVE-2024-56326
An oversight in how the Jinja sandboxed environment detects calls to
str.format
allows an attacker that controls the content of a template to execute arbitrary Python code.To exploit the vulnerability, an attacker needs to control the content of a template. Whether that is the case depends on the type of application using Jinja. This vulnerability impacts users of applications which execute untrusted templates.
Jinja's sandbox does catch calls to
str.format
and ensures they don't escape the sandbox. However, it's possible to store a reference to a malicious string'sformat
method, then pass that to a filter that calls it. No such filters are built-in to Jinja, but could be present through custom filters in an application. After the fix, such indirect calls are also handled by the sandbox.CVE-2024-56201
A bug in the Jinja compiler allows an attacker that controls both the content and filename of a template to execute arbitrary Python code, regardless of if Jinja's sandbox is used.
To exploit the vulnerability, an attacker needs to control both the filename and the contents of a template. Whether that is the case depends on the type of application using Jinja. This vulnerability impacts users of applications which execute untrusted templates where the template author can also choose the template filename.
CVE-2025-27516
An oversight in how the Jinja sandboxed environment interacts with the
|attr
filter allows an attacker that controls the content of a template to execute arbitrary Python code.To exploit the vulnerability, an attacker needs to control the content of a template. Whether that is the case depends on the type of application using Jinja. This vulnerability impacts users of applications which execute untrusted templates.
Jinja's sandbox does catch calls to
str.format
and ensures they don't escape the sandbox. However, it's possible to use the|attr
filter to get a reference to a string's plain format method, bypassing the sandbox. After the fix, the|attr
filter no longer bypasses the environment's attribute lookup.Release Notes
pallets/jinja (jinja2)
v3.1.6
Compare Source
Released 2025-03-05
|attr
filter does not bypass the environment's attribute lookup,allowing the sandbox to apply its checks. :ghsa:
cpwx-vrp4-4pq7
v3.1.5
Compare Source
Released 2024-12-21
str.format
, such asby passing a stored reference to a filter that calls its argument.
:ghsa:
q2x7-8rv6-6q7h
issues with names that contain f-string syntax.
:issue:
1792
, :ghsa:gmj6-6f8f-6699
clear
andpop
on known mutable sequencetypes. :issue:
2032
render
for an async template usesasyncio.run
.:pr:
1952
auto_aiter
warnings. :pr:1960
aclose
-ableAsyncGenerator
fromTemplate.generate_async
. :pr:1960
root_render_func()
unclosed inTemplate.generate_async
. :pr:1960
:pr:
1960
concat
function for the current environmentwhen calling block references. :issue:
1701
|unique
async-aware, allowing it to be used after anotherasync-aware filter. :issue:
1781
|int
filter handlesOverflowError
from scientific notation.:issue:
1921
{% set ... %}
call. :issue:
2021
copy
/pickle
/etc) interaction withUndefined
objects. :issue:
2025
copy
/pickle
support for the internalmissing
object.:issue:
2027
Environment.overlay(enable_async)
is applied correctly. :pr:2061
FileSystemLoader
includes the paths that weresearched. :issue:
1661
PackageLoader
shows a clearer error message when the package does notcontain the templates directory. :issue:
1705
1880
urlize
does not addmailto:
to values like@a@b
. :pr:1870
@pass_context`` can be used with the ``|select`` filter. :issue:
1624`set
for multiple assignment (a, b = 1, 2
) does not fail when thetarget is a namespace attribute. :issue:
1413
set
in all branches of{% if %}{% elif %}{% else %}
blocksdoes not cause the variable to be considered initially undefined.
:issue:
1253
v3.1.4
Compare Source
Released 2024-05-05
xmlattr
filter does not allow keys with/
solidus,>
greater-than sign, or
=
equals sign, in addition to disallowing spaces.Regardless of any validation done by Jinja, user input should never be used
as keys to this filter, or must be separately validated first.
:ghsa:
h75v-3vvj-5mfj
v3.1.3
Compare Source
Released 2024-01-10
empty. :pr:
1858
xmlattr
filter does not allow keys with spaces. :ghsa:h5c8-rqwp-cp95
{% trans %}
blocksmore helpful. :pr:
1918
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.
This PR was generated by Mend Renovate. View the repository job log.