meliy-meyada / 100-days-of-code-in-python

Bootcamp 100 days of code in python is a journey to gaining skills in the programming with Angela Yu challenge
MIT License
3 stars 2 forks source link

Flask-2.0.3-py3-none-any.whl: 5 vulnerabilities (highest severity is: 8.0) #18

Open mend-bolt-for-github[bot] opened 1 year ago

mend-bolt-for-github[bot] commented 1 year ago
Vulnerable Library - Flask-2.0.3-py3-none-any.whl

A simple framework for building complex web applications.

Library home page: https://files.pythonhosted.org/packages/cd/77/59df23681f4fd19b7cbbb5e92484d46ad587554f5d490f33ef907e456132/Flask-2.0.3-py3-none-any.whl

Path to dependency file: /Starting-Files-library-start/requirements.txt

Path to vulnerable library: /Starting-Files-library-start/requirements.txt,/Starting-Files-library-start/requirements.txt,/flask-secrets/requirements.txt

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (Flask version) Remediation Possible**
CVE-2023-46136 High 8.0 Werkzeug-2.2.3-py3-none-any.whl Transitive N/A*
CVE-2024-49767 High 7.5 Werkzeug-2.2.3-py3-none-any.whl Transitive N/A*
CVE-2024-34069 High 7.5 Werkzeug-2.2.3-py3-none-any.whl Transitive N/A*
CVE-2023-30861 High 7.5 Flask-2.0.3-py3-none-any.whl Direct 2.2.5
CVE-2024-49766 Low 3.7 Werkzeug-2.2.3-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-2023-46136 ### Vulnerable Library - Werkzeug-2.2.3-py3-none-any.whl

The comprehensive WSGI web application library.

Library home page: https://files.pythonhosted.org/packages/f6/f8/9da63c1617ae2a1dec2fbf6412f3a0cfe9d4ce029eccbda6e1e4258ca45f/Werkzeug-2.2.3-py3-none-any.whl

Path to dependency file: /flask-secrets/requirements.txt

Path to vulnerable library: /flask-secrets/requirements.txt

Dependency Hierarchy: - Flask-2.0.3-py3-none-any.whl (Root Library) - :x: **Werkzeug-2.2.3-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-24

URL: CVE-2023-46136

### CVSS 3 Score Details (8.0)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Adjacent - Attack Complexity: Low - Privileges Required: Low - User Interaction: None - 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: https://github.com/pallets/werkzeug/security/advisories/GHSA-hrfv-mqp8-q5rw

Release Date: 2023-10-24

Fix Resolution: werkzeug - 2.3.8,3.0.1

Step up your Open Source Security Game with Mend [here](https://www.whitesourcesoftware.com/full_solution_bolt_github)
CVE-2024-49767 ### Vulnerable Library - Werkzeug-2.2.3-py3-none-any.whl

The comprehensive WSGI web application library.

Library home page: https://files.pythonhosted.org/packages/f6/f8/9da63c1617ae2a1dec2fbf6412f3a0cfe9d4ce029eccbda6e1e4258ca45f/Werkzeug-2.2.3-py3-none-any.whl

Path to dependency file: /flask-secrets/requirements.txt

Path to vulnerable library: /flask-secrets/requirements.txt

Dependency Hierarchy: - Flask-2.0.3-py3-none-any.whl (Root Library) - :x: **Werkzeug-2.2.3-py3-none-any.whl** (Vulnerable Library)

Found in base branch: main

### Vulnerability Details

Werkzeug is a Web Server Gateway Interface web application library. Applications using `werkzeug.formparser.MultiPartParser` corresponding to a version of Werkzeug prior to 3.0.6 to parse `multipart/form-data` requests (e.g. all flask applications) are vulnerable to a relatively simple but effective resource exhaustion (denial of service) attack. A specifically crafted form submission request can cause the parser to allocate and block 3 to 8 times the upload size in main memory. There is no upper limit; a single upload at 1 Gbit/s can exhaust 32 GB of RAM in less than 60 seconds. Werkzeug version 3.0.6 fixes this issue.

Publish Date: 2024-10-25

URL: CVE-2024-49767

### 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://github.com/pallets/werkzeug/security/advisories/GHSA-q34m-jh98-gwm2

Release Date: 2024-10-25

Fix Resolution: quart - 0.19.7;werkzeug - 3.0.6

Step up your Open Source Security Game with Mend [here](https://www.whitesourcesoftware.com/full_solution_bolt_github)
CVE-2024-34069 ### Vulnerable Library - Werkzeug-2.2.3-py3-none-any.whl

The comprehensive WSGI web application library.

Library home page: https://files.pythonhosted.org/packages/f6/f8/9da63c1617ae2a1dec2fbf6412f3a0cfe9d4ce029eccbda6e1e4258ca45f/Werkzeug-2.2.3-py3-none-any.whl

Path to dependency file: /flask-secrets/requirements.txt

Path to vulnerable library: /flask-secrets/requirements.txt

Dependency Hierarchy: - Flask-2.0.3-py3-none-any.whl (Root Library) - :x: **Werkzeug-2.2.3-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: https://github.com/pallets/werkzeug/security/advisories/GHSA-2g68-c3qc-8985

Release Date: 2024-05-06

Fix Resolution: Werkzeug - 3.0.3

Step up your Open Source Security Game with Mend [here](https://www.whitesourcesoftware.com/full_solution_bolt_github)
CVE-2023-30861 ### Vulnerable Library - Flask-2.0.3-py3-none-any.whl

A simple framework for building complex web applications.

Library home page: https://files.pythonhosted.org/packages/cd/77/59df23681f4fd19b7cbbb5e92484d46ad587554f5d490f33ef907e456132/Flask-2.0.3-py3-none-any.whl

Path to dependency file: /Starting-Files-library-start/requirements.txt

Path to vulnerable library: /Starting-Files-library-start/requirements.txt,/Starting-Files-library-start/requirements.txt,/flask-secrets/requirements.txt

Dependency Hierarchy: - :x: **Flask-2.0.3-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. 1. The application must be hosted behind a caching proxy that does not strip cookies or ignore responses with cookies. 2. The application sets `session.permanent = True` 3. The application does not access or modify the session at any point during a request. 4. `SESSION_REFRESH_EACH_REQUEST` enabled (the default). 5. 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: 2.2.5

Step up your Open Source Security Game with Mend [here](https://www.whitesourcesoftware.com/full_solution_bolt_github)
CVE-2024-49766 ### Vulnerable Library - Werkzeug-2.2.3-py3-none-any.whl

The comprehensive WSGI web application library.

Library home page: https://files.pythonhosted.org/packages/f6/f8/9da63c1617ae2a1dec2fbf6412f3a0cfe9d4ce029eccbda6e1e4258ca45f/Werkzeug-2.2.3-py3-none-any.whl

Path to dependency file: /flask-secrets/requirements.txt

Path to vulnerable library: /flask-secrets/requirements.txt

Dependency Hierarchy: - Flask-2.0.3-py3-none-any.whl (Root Library) - :x: **Werkzeug-2.2.3-py3-none-any.whl** (Vulnerable Library)

Found in base branch: main

### Vulnerability Details

Werkzeug is a Web Server Gateway Interface web application library. On Python < 3.11 on Windows, os.path.isabs() does not catch UNC paths like //server/share. Werkzeug's safe_join() relies on this check, and so can produce a path that is not safe, potentially allowing unintended access to data. Applications using Python >= 3.11, or not using Windows, are not vulnerable. Werkzeug version 3.0.6 contains a patch.

Publish Date: 2024-10-25

URL: CVE-2024-49766

### CVSS 3 Score Details (3.7)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: None - Availability Impact: None

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/pallets/werkzeug/security/advisories/GHSA-f9vj-2wh5-fj8j

Release Date: 2024-10-25

Fix Resolution: Werkzeug - 3.0.6

Step up your Open Source Security Game with Mend [here](https://www.whitesourcesoftware.com/full_solution_bolt_github)
mend-bolt-for-github[bot] commented 1 year ago

:heavy_check_mark: This issue was automatically closed by Mend because the vulnerable library in the specific branch(es) was either marked as ignored or it is no longer part of the Mend inventory.

mend-bolt-for-github[bot] commented 1 year ago

:information_source: This issue was automatically re-opened by Mend because the vulnerable library in the specific branch(es) has been detected in the Mend inventory.