Vulnerable Library - Flask-2.2.2-py3-none-any.whl
A simple framework for building complex web applications.
Library home page: https://files.pythonhosted.org/packages/0f/43/15f4f9ab225b0b25352412e8daa3d0e3d135fcf5e127070c74c3632c8b4c/Flask-2.2.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Vulnerabilities
CVE |
Severity |
CVSS |
Dependency |
Type |
Fixed in (Flask version) |
Remediation Possible** |
CVE-2024-34069 |
High |
7.5 |
Werkzeug-2.2.2-py3-none-any.whl |
Transitive |
N/A* |
❌ |
CVE-2023-46136 |
High |
7.5 |
Werkzeug-2.2.2-py3-none-any.whl |
Transitive |
N/A* |
❌ |
CVE-2023-30861 |
High |
7.5 |
Flask-2.2.2-py3-none-any.whl |
Direct |
flask - 2.2.5,2.3.2 |
✅ |
CVE-2023-25577 |
High |
7.5 |
Werkzeug-2.2.2-py3-none-any.whl |
Transitive |
N/A* |
❌ |
CVE-2024-34064 |
Medium |
5.4 |
Jinja2-3.1.2-py3-none-any.whl |
Transitive |
N/A* |
❌ |
CVE-2024-22195 |
Medium |
5.4 |
Jinja2-3.1.2-py3-none-any.whl |
Transitive |
N/A* |
❌ |
CVE-2023-23934 |
Low |
3.5 |
Werkzeug-2.2.2-py3-none-any.whl |
Transitive |
N/A* |
❌ |
*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2024-34069
Vulnerable Library - Werkzeug-2.2.2-py3-none-any.whl
The comprehensive WSGI web application library.
Library home page: https://files.pythonhosted.org/packages/c8/27/be6ddbcf60115305205de79c29004a0c6bc53cec814f733467b1bb89386d/Werkzeug-2.2.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Dependency Hierarchy:
- Flask-2.2.2-py3-none-any.whl (Root Library)
- ❌ Werkzeug-2.2.2-py3-none-any.whl (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Werkzeug is a comprehensive WSGI web application library. The debugger in affected versions of Werkzeug can allow an attacker to execute code on a developer's machine under some circumstances. This requires the attacker to get the developer to interact with a domain and subdomain they control, and enter the debugger PIN, but if they are successful it allows access to the debugger even if it is only running on localhost. This also requires the attacker to guess a URL in the developer's application that will trigger the debugger. This vulnerability is fixed in 3.0.3.
Publish Date: 2024-05-06
URL: CVE-2024-34069
CVSS 3 Score Details (7.5)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: High
- Privileges Required: None
- User Interaction: Required
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: High
- Integrity Impact: High
- Availability Impact: High
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Origin: GHSA-2g68-c3qc-8985
Release Date: 2024-05-06
Fix Resolution: Werkzeug - 3.0.3
CVE-2023-46136
Vulnerable Library - Werkzeug-2.2.2-py3-none-any.whl
The comprehensive WSGI web application library.
Library home page: https://files.pythonhosted.org/packages/c8/27/be6ddbcf60115305205de79c29004a0c6bc53cec814f733467b1bb89386d/Werkzeug-2.2.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Dependency Hierarchy:
- Flask-2.2.2-py3-none-any.whl (Root Library)
- ❌ Werkzeug-2.2.2-py3-none-any.whl (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Werkzeug is a comprehensive WSGI web application library. If an upload of a file that starts with CR or LF and then is followed by megabytes of data without these characters: all of these bytes are appended chunk by chunk into internal bytearray and lookup for boundary is performed on growing buffer. This allows an attacker to cause a denial of service by sending crafted multipart data to an endpoint that will parse it. The amount of CPU time required can block worker processes from handling legitimate requests. This vulnerability has been patched in version 3.0.1.
Publish Date: 2023-10-25
URL: CVE-2023-46136
CVSS 3 Score Details (7.5)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: None
- Availability Impact: High
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Origin: GHSA-hrfv-mqp8-q5rw
Release Date: 2023-10-25
Fix Resolution: werkzeug - 2.3.8,3.0.1
CVE-2023-30861
Vulnerable Library - Flask-2.2.2-py3-none-any.whl
A simple framework for building complex web applications.
Library home page: https://files.pythonhosted.org/packages/0f/43/15f4f9ab225b0b25352412e8daa3d0e3d135fcf5e127070c74c3632c8b4c/Flask-2.2.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Dependency Hierarchy:
- ❌ Flask-2.2.2-py3-none-any.whl (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Flask is a lightweight WSGI web application framework. When all of the following conditions are met, a response containing data intended for one client may be cached and subsequently sent by the proxy to other clients. If the proxy also caches Set-Cookie
headers, it may send one client's session
cookie to other clients. The severity depends on the application's use of the session and the proxy's behavior regarding cookies. The risk depends on all these conditions being met.
- The application must be hosted behind a caching proxy that does not strip cookies or ignore responses with cookies.
- The application sets
session.permanent = True
- The application does not access or modify the session at any point during a request.
SESSION_REFRESH_EACH_REQUEST
enabled (the default).
- The application does not set a
Cache-Control
header to indicate that a page is private or should not be cached.
This happens because vulnerable versions of Flask only set the Vary: Cookie
header when the session is accessed or modified, not when it is refreshed (re-sent to update the expiration) without being accessed or modified. This issue has been fixed in versions 2.3.2 and 2.2.5.
Publish Date: 2023-05-02
URL: CVE-2023-30861
CVSS 3 Score Details (7.5)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: High
- Integrity Impact: None
- Availability Impact: None
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2023-30861
Release Date: 2023-05-02
Fix Resolution: flask - 2.2.5,2.3.2
⛑️ Automatic Remediation will be attempted for this issue.
CVE-2023-25577
Vulnerable Library - Werkzeug-2.2.2-py3-none-any.whl
The comprehensive WSGI web application library.
Library home page: https://files.pythonhosted.org/packages/c8/27/be6ddbcf60115305205de79c29004a0c6bc53cec814f733467b1bb89386d/Werkzeug-2.2.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Dependency Hierarchy:
- Flask-2.2.2-py3-none-any.whl (Root Library)
- ❌ Werkzeug-2.2.2-py3-none-any.whl (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Werkzeug is a comprehensive WSGI web application library. Prior to version 2.2.3, Werkzeug's multipart form data parser will parse an unlimited number of parts, including file parts. Parts can be a small amount of bytes, but each requires CPU time to parse and may use more memory as Python data. If a request can be made to an endpoint that accesses request.data
, request.form
, request.files
, or request.get_data(parse_form_data=False)
, it can cause unexpectedly high resource usage. This allows an attacker to cause a denial of service by sending crafted multipart data to an endpoint that will parse it. The amount of CPU time required can block worker processes from handling legitimate requests. The amount of RAM required can trigger an out of memory kill of the process. Unlimited file parts can use up memory and file handles. If many concurrent requests are sent continuously, this can exhaust or kill all available workers. Version 2.2.3 contains a patch for this issue.
Publish Date: 2023-02-14
URL: CVE-2023-25577
CVSS 3 Score Details (7.5)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: None
- Availability Impact: High
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2023-25577
Release Date: 2023-02-14
Fix Resolution: Werkzeug - 2.2.3
CVE-2024-34064
Vulnerable Library - Jinja2-3.1.2-py3-none-any.whl
A very fast and expressive template engine.
Library home page: https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Dependency Hierarchy:
- Flask-2.2.2-py3-none-any.whl (Root Library)
- ❌ Jinja2-3.1.2-py3-none-any.whl (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Jinja is an extensible templating engine. 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 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. This vulnerability is fixed in 3.1.4.
Publish Date: 2024-05-06
URL: CVE-2024-34064
CVSS 3 Score Details (5.4)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: None
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Origin: GHSA-h75v-3vvj-5mfj
Release Date: 2024-05-06
Fix Resolution: Jinja2 - 3.1.4
CVE-2024-22195
Vulnerable Library - Jinja2-3.1.2-py3-none-any.whl
A very fast and expressive template engine.
Library home page: https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Dependency Hierarchy:
- Flask-2.2.2-py3-none-any.whl (Root Library)
- ❌ Jinja2-3.1.2-py3-none-any.whl (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Jinja is an extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. It is possible to inject arbitrary HTML attributes into the rendered HTML template, potentially leading to Cross-Site Scripting (XSS). The Jinja xmlattr
filter can be abused to inject arbitrary HTML attribute keys and values, bypassing the auto escaping mechanism and potentially leading to XSS. It may also be possible to bypass attribute validation checks if they are blacklist-based.
Publish Date: 2024-01-11
URL: CVE-2024-22195
CVSS 3 Score Details (5.4)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: None
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Origin: GHSA-h5c8-rqwp-cp95
Release Date: 2024-01-11
Fix Resolution: jinja2 - 3.1.3
CVE-2023-23934
Vulnerable Library - Werkzeug-2.2.2-py3-none-any.whl
The comprehensive WSGI web application library.
Library home page: https://files.pythonhosted.org/packages/c8/27/be6ddbcf60115305205de79c29004a0c6bc53cec814f733467b1bb89386d/Werkzeug-2.2.2-py3-none-any.whl
Path to dependency file: /server/requirements.txt
Path to vulnerable library: /server/requirements.txt
Dependency Hierarchy:
- Flask-2.2.2-py3-none-any.whl (Root Library)
- ❌ Werkzeug-2.2.2-py3-none-any.whl (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Werkzeug is a comprehensive WSGI web application library. Browsers may allow "nameless" cookies that look like =value
instead of key=value
. A vulnerable browser may allow a compromised application on an adjacent subdomain to exploit this to set a cookie like =__Host-test=bad
for another subdomain. Werkzeug prior to 2.2.3 will parse the cookie =__Host-test=bad
as __Host-test=bad`. If a Werkzeug application is running next to a vulnerable or malicious subdomain which sets such a cookie using a vulnerable browser, the Werkzeug application will see the bad cookie value but the valid cookie key. The issue is fixed in Werkzeug 2.2.3.
Publish Date: 2023-02-14
URL: CVE-2023-23934
CVSS 3 Score Details (3.5)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Adjacent
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: Low
- Availability Impact: None
For more information on CVSS3 Scores, click here.
Suggested Fix
Type: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2023-23934
Release Date: 2023-02-14
Fix Resolution: Werkzeug - 2.2.3
⛑️Automatic Remediation will be attempted for this issue.