nexmo-community / messaging-aws-sqs-dynamodb-php

AWS Lambda function created in PHP that once triggered, moves a message from SQS into DynamoDB.
MIT License
2 stars 1 forks source link

bref/bref-0.5.25: 9 vulnerabilities (highest severity is: 8.0) #8

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

mend-for-github-com[bot] commented 1 year ago
Vulnerable Library - bref/bref-0.5.25

Bref is a framework to write and deploy serverless PHP applications on AWS Lambda.

Library home page: https://api.github.com/repos/brefphp/bref/zipball/a153faeacd1ee4e31fb5465e80286ab32eef813e

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (bref/bref version) Remediation Possible**
CVE-2022-29248 High 8.0 guzzlehttp/guzzle-6.5.4 Transitive N/A*
CVE-2020-15094 High 8.0 symfony/http-client-v5.1.0 Transitive N/A*
CVE-2022-31091 High 7.7 guzzlehttp/guzzle-6.5.4 Transitive N/A*
CVE-2022-31090 High 7.7 guzzlehttp/guzzle-6.5.4 Transitive N/A*
CVE-2022-31043 High 7.5 guzzlehttp/guzzle-6.5.4 Transitive N/A*
CVE-2022-31042 High 7.5 guzzlehttp/guzzle-6.5.4 Transitive N/A*
CVE-2024-24752 Medium 6.5 bref/bref-0.5.25 Direct 2.1.13
CVE-2024-24753 Medium 4.8 bref/bref-0.5.25 Direct 2.1.13
CVE-2024-24754 Low 3.7 bref/bref-0.5.25 Direct 2.1.13

*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-2022-29248 ### Vulnerable Library - guzzlehttp/guzzle-6.5.4

Guzzle is a PHP HTTP client library

Library home page: https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d

Dependency Hierarchy: - bref/bref-0.5.25 (Root Library) - :x: **guzzlehttp/guzzle-6.5.4** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Guzzle is a PHP HTTP client. Guzzle prior to versions 6.5.6 and 7.4.3 contains a vulnerability with the cookie middleware. The vulnerability is that it is not checked if the cookie domain equals the domain of the server which sets the cookie via the Set-Cookie header, allowing a malicious server to set cookies for unrelated domains. The cookie middleware is disabled by default, so most library consumers will not be affected by this issue. Only those who manually add the cookie middleware to the handler stack or construct the client with ['cookies' => true] are affected. Moreover, those who do not use the same Guzzle client to call multiple domains and have disabled redirect forwarding are not affected by this vulnerability. Guzzle versions 6.5.6 and 7.4.3 contain a patch for this issue. As a workaround, turn off the cookie middleware.

Publish Date: 2022-05-25

URL: CVE-2022-29248

### CVSS 3 Score Details (8.0)

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

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29248

Release Date: 2022-05-25

Fix Resolution: guzzlehttp/guzzle - 6.5.6,guzzlehttp/guzzle - 7.4.3

CVE-2020-15094 ### Vulnerable Library - symfony/http-client-v5.1.0

Symfony HttpClient component

Library home page: https://api.github.com/repos/symfony/http-client/zipball/63342eabdc6fc6c12e6b18506a207d16687aa33f

Dependency Hierarchy: - bref/bref-0.5.25 (Root Library) - async-aws/lambda-0.5.0 - async-aws/core-1.2.0 - :x: **symfony/http-client-v5.1.0** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

In Symfony before versions 4.4.13 and 5.1.5, the CachingHttpClient class from the HttpClient Symfony component relies on the HttpCache class to handle requests. HttpCache uses internal headers like X-Body-Eval and X-Body-File to control the restoration of cached responses. The class was initially written with surrogate caching and ESI support in mind (all HTTP calls come from a trusted backend in that scenario). But when used by CachingHttpClient and if an attacker can control the response for a request being made by the CachingHttpClient, remote code execution is possible. This has been fixed in versions 4.4.13 and 5.1.5.

Publish Date: 2020-09-02

URL: CVE-2020-15094

### CVSS 3 Score Details (8.0)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: Low - User Interaction: Required - Scope: Changed - 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/symfony/symfony/security/advisories/GHSA-754h-5r27-7x3r

Release Date: 2020-09-02

Fix Resolution: 4.4.13,5.1.5

CVE-2022-31091 ### Vulnerable Library - guzzlehttp/guzzle-6.5.4

Guzzle is a PHP HTTP client library

Library home page: https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d

Dependency Hierarchy: - bref/bref-0.5.25 (Root Library) - :x: **guzzlehttp/guzzle-6.5.4** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Guzzle, an extensible PHP HTTP client. `Authorization` and `Cookie` headers on requests are sensitive information. In affected versions on making a request which responds with a redirect to a URI with a different port, if we choose to follow it, we should remove the `Authorization` and `Cookie` headers from the request, before containing. Previously, we would only consider a change in host or scheme. Affected Guzzle 7 users should upgrade to Guzzle 7.4.5 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.8 or 7.4.5. Note that a partial fix was implemented in Guzzle 7.4.2, where a change in host would trigger removal of the curl-added Authorization header, however this earlier fix did not cover change in scheme or change in port. An alternative approach would be to use your own redirect middleware, rather than ours, if you are unable to upgrade. If you do not require or expect redirects to be followed, one should simply disable redirects all together.

Publish Date: 2022-06-27

URL: CVE-2022-31091

### CVSS 3 Score Details (7.7)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - User Interaction: None - Scope: Changed - 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://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-31091

Release Date: 2022-06-27

Fix Resolution: 6.5.8,7.4.5

CVE-2022-31090 ### Vulnerable Library - guzzlehttp/guzzle-6.5.4

Guzzle is a PHP HTTP client library

Library home page: https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d

Dependency Hierarchy: - bref/bref-0.5.25 (Root Library) - :x: **guzzlehttp/guzzle-6.5.4** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Guzzle, an extensible PHP HTTP client. `Authorization` headers on requests are sensitive information. In affected versions when using our Curl handler, it is possible to use the `CURLOPT_HTTPAUTH` option to specify an `Authorization` header. On making a request which responds with a redirect to a URI with a different origin (change in host, scheme or port), if we choose to follow it, we should remove the `CURLOPT_HTTPAUTH` option before continuing, stopping curl from appending the `Authorization` header to the new request. Affected Guzzle 7 users should upgrade to Guzzle 7.4.5 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.8 or 7.4.5. Note that a partial fix was implemented in Guzzle 7.4.2, where a change in host would trigger removal of the curl-added Authorization header, however this earlier fix did not cover change in scheme or change in port. If you do not require or expect redirects to be followed, one should simply disable redirects all together. Alternatively, one can specify to use the Guzzle steam handler backend, rather than curl.

Publish Date: 2022-06-27

URL: CVE-2022-31090

### CVSS 3 Score Details (7.7)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - User Interaction: None - Scope: Changed - 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://github.com/guzzle/guzzle/security/advisories/GHSA-25mq-v84q-4j7r

Release Date: 2022-05-19

Fix Resolution: 6.5.8,7.4.5

CVE-2022-31043 ### Vulnerable Library - guzzlehttp/guzzle-6.5.4

Guzzle is a PHP HTTP client library

Library home page: https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d

Dependency Hierarchy: - bref/bref-0.5.25 (Root Library) - :x: **guzzlehttp/guzzle-6.5.4** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Guzzle is an open source PHP HTTP client. In affected versions `Authorization` headers on requests are sensitive information. On making a request using the `https` scheme to a server which responds with a redirect to a URI with the `http` scheme, we should not forward the `Authorization` header on. This is much the same as to how we don't forward on the header if the host changes. Prior to this fix, `https` to `http` downgrades did not result in the `Authorization` header being removed, only changes to the host. Affected Guzzle 7 users should upgrade to Guzzle 7.4.4 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.7 or 7.4.4. Users unable to upgrade may consider an alternative approach which would be to use their own redirect middleware. Alternately users may simply disable redirects all together if redirects are not expected or required.

Publish Date: 2022-06-10

URL: CVE-2022-31043

### 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://github.com/guzzle/guzzle/security/advisories/GHSA-w248-ffj2-4v5q

Release Date: 2022-06-10

Fix Resolution: 6.5.7,7.4.4

CVE-2022-31042 ### Vulnerable Library - guzzlehttp/guzzle-6.5.4

Guzzle is a PHP HTTP client library

Library home page: https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d

Dependency Hierarchy: - bref/bref-0.5.25 (Root Library) - :x: **guzzlehttp/guzzle-6.5.4** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Guzzle is an open source PHP HTTP client. In affected versions the `Cookie` headers on requests are sensitive information. On making a request using the `https` scheme to a server which responds with a redirect to a URI with the `http` scheme, or on making a request to a server which responds with a redirect to a a URI to a different host, we should not forward the `Cookie` header on. Prior to this fix, only cookies that were managed by our cookie middleware would be safely removed, and any `Cookie` header manually added to the initial request would not be stripped. We now always strip it, and allow the cookie middleware to re-add any cookies that it deems should be there. Affected Guzzle 7 users should upgrade to Guzzle 7.4.4 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.7 or 7.4.4. Users unable to upgrade may consider an alternative approach to use your own redirect middleware, rather than ours. If you do not require or expect redirects to be followed, one should simply disable redirects all together.

Publish Date: 2022-06-10

URL: CVE-2022-31042

### 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://github.com/guzzle/guzzle/security/advisories/GHSA-f2wf-25xc-69c9

Release Date: 2022-06-10

Fix Resolution: 6.5.7,7.4.4

CVE-2024-24752 ### Vulnerable Library - bref/bref-0.5.25

Bref is a framework to write and deploy serverless PHP applications on AWS Lambda.

Library home page: https://api.github.com/repos/brefphp/bref/zipball/a153faeacd1ee4e31fb5465e80286ab32eef813e

Dependency Hierarchy: - :x: **bref/bref-0.5.25** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Bref enable serverless PHP on AWS Lambda. When Bref is used with the Event-Driven Function runtime and the handler is a `RequestHandlerInterface`, then the Lambda event is converted to a PSR7 object. During the conversion process, if the request is a MultiPart, each part is parsed and for each which contains a file, it is extracted and saved in `/tmp` with a random filename starting with `bref_upload_`. The flow mimics what plain PHP does but it does not delete the temporary files when the request has been processed. An attacker could fill the Lambda instance disk by performing multiple MultiPart requests containing files. This vulnerability is patched in 2.1.13.

Publish Date: 2024-02-01

URL: CVE-2024-24752

### CVSS 3 Score Details (6.5)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - 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/brefphp/bref/security/advisories/GHSA-x4hh-frx8-98r5

Release Date: 2024-02-01

Fix Resolution: 2.1.13

CVE-2024-24753 ### Vulnerable Library - bref/bref-0.5.25

Bref is a framework to write and deploy serverless PHP applications on AWS Lambda.

Library home page: https://api.github.com/repos/brefphp/bref/zipball/a153faeacd1ee4e31fb5465e80286ab32eef813e

Dependency Hierarchy: - :x: **bref/bref-0.5.25** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Bref enable serverless PHP on AWS Lambda. When Bref is used in combination with an API Gateway with the v2 format, it does not handle multiple values headers. If PHP generates a response with two headers having the same key but different values only the latest one is kept. If an application relies on multiple headers with the same key being set for security reasons, then Bref would lower the application security. For example, if an application sets multiple `Content-Security-Policy` headers, then Bref would just reflect the latest one. This vulnerability is patched in 2.1.13.

Publish Date: 2024-02-01

URL: CVE-2024-24753

### CVSS 3 Score Details (4.8)

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: Low - Availability Impact: None

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/brefphp/bref/security/advisories/GHSA-99f9-gv72-fw9r

Release Date: 2024-02-01

Fix Resolution: 2.1.13

CVE-2024-24754 ### Vulnerable Library - bref/bref-0.5.25

Bref is a framework to write and deploy serverless PHP applications on AWS Lambda.

Library home page: https://api.github.com/repos/brefphp/bref/zipball/a153faeacd1ee4e31fb5465e80286ab32eef813e

Dependency Hierarchy: - :x: **bref/bref-0.5.25** (Vulnerable Library)

Found in HEAD commit: a98b02cc6219479db20e92032a8c3cb68016cfdb

Found in base branch: main

### Vulnerability Details

Bref enable serverless PHP on AWS Lambda. When Bref is used with the Event-Driven Function runtime and the handler is a `RequestHandlerInterface`, then the Lambda event is converted to a PSR7 object. During the conversion process, if the request is a MultiPart, each part is parsed and its content added in the `$files` or `$parsedBody` arrays. The conversion process produces a different output compared to the one of plain PHP when keys ending with and open square bracket ([) are used. Based on the application logic the difference in the body parsing might lead to vulnerabilities and/or undefined behaviors. This vulnerability is patched in 2.1.13.

Publish Date: 2024-02-01

URL: CVE-2024-24754

### 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: None - Integrity Impact: Low - Availability Impact: None

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/brefphp/bref/security/advisories/GHSA-82vx-mm6r-gg8w

Release Date: 2024-02-01

Fix Resolution: 2.1.13