Serverless Examples – A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more.
Path to dependency file: /aws-node-rest-api-typescript-simple/package.json
Path to vulnerable library: /aws-node-rest-api-typescript-simple/node_modules/jsonwebtoken/package.json,/aws-node-typescript-nest/node_modules/jsonwebtoken/package.json,/aws-node-rest-api-typescript/node_modules/jsonwebtoken/package.json,/aws-python-auth0-custom-authorizers-api/node_modules/jsonwebtoken/package.json,/aws-node-vue-nuxt-ssr/node_modules/jsonwebtoken/package.json,/azure-node-typescript-servicebus-trigger-endpoint/node_modules/jsonwebtoken/package.json,/aws-node-dynamic-image-resizer/node_modules/jsonwebtoken/package.json,/aws-node-typescript-apollo-lambda/node_modules/jsonwebtoken/package.json,/aws-node-http-api-dynamodb-local/node_modules/jsonwebtoken/package.json,/aws-node-auth0-custom-authorizers-api/node_modules/jsonwebtoken/package.json,/aws-node-twilio-send-text-message/node_modules/jsonwebtoken/package.json,/aws-node-puppeteer/node_modules/jsonwebtoken/package.json,/aws-node-rest-api-with-dynamodb-and-offline/node_modules/jsonwebtoken/package.json,/aws-node-http-api-typescript/node_modules/jsonwebtoken/package.json
Path to dependency file: /aws-node-signed-uploads/package.json
Path to vulnerable library: /aws-node-signed-uploads/node_modules/jsonwebtoken/package.json,/aws-node-auth0-cognito-custom-authorizers-api/node_modules/jsonwebtoken/package.json
In versions `<=8.5.1` of `jsonwebtoken` library, lack of algorithm definition in the `jwt.verify()` function can lead to signature validation bypass due to defaulting to the `none` algorithm for signature verification. Users are affected if you do not specify algorithms in the `jwt.verify()` function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the `jwt.verify()` method. There will be no impact, if you update to version 9.0.0 and you don’t need to allow for the `none` algorithm. If you need 'none' algorithm, you have to explicitly specify that in `jwt.verify()` options.
CVE-2022-23540 - High Severity Vulnerability
Vulnerable Libraries - jsonwebtoken-8.5.1.tgz, jsonwebtoken-8.2.2.tgz, jsonwebtoken-8.3.0.tgz, jsonwebtoken-7.4.3.tgz
jsonwebtoken-8.5.1.tgz
JSON Web Token implementation (symmetric and asymmetric)
Library home page: https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz
Path to dependency file: /aws-node-rest-api-typescript-simple/package.json
Path to vulnerable library: /aws-node-rest-api-typescript-simple/node_modules/jsonwebtoken/package.json,/aws-node-typescript-nest/node_modules/jsonwebtoken/package.json,/aws-node-rest-api-typescript/node_modules/jsonwebtoken/package.json,/aws-python-auth0-custom-authorizers-api/node_modules/jsonwebtoken/package.json,/aws-node-vue-nuxt-ssr/node_modules/jsonwebtoken/package.json,/azure-node-typescript-servicebus-trigger-endpoint/node_modules/jsonwebtoken/package.json,/aws-node-dynamic-image-resizer/node_modules/jsonwebtoken/package.json,/aws-node-typescript-apollo-lambda/node_modules/jsonwebtoken/package.json,/aws-node-http-api-dynamodb-local/node_modules/jsonwebtoken/package.json,/aws-node-auth0-custom-authorizers-api/node_modules/jsonwebtoken/package.json,/aws-node-twilio-send-text-message/node_modules/jsonwebtoken/package.json,/aws-node-puppeteer/node_modules/jsonwebtoken/package.json,/aws-node-rest-api-with-dynamodb-and-offline/node_modules/jsonwebtoken/package.json,/aws-node-http-api-typescript/node_modules/jsonwebtoken/package.json
Dependency Hierarchy: - :x: **jsonwebtoken-8.5.1.tgz** (Vulnerable Library)
jsonwebtoken-8.2.2.tgz
JSON Web Token implementation (symmetric and asymmetric)
Library home page: https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.2.2.tgz
Path to dependency file: /aws-node-oauth-dropbox-api/package.json
Path to vulnerable library: /aws-node-oauth-dropbox-api/node_modules/jsonwebtoken/package.json
Dependency Hierarchy: - serverless-offline-3.25.4.tgz (Root Library) - :x: **jsonwebtoken-8.2.2.tgz** (Vulnerable Library)
jsonwebtoken-8.3.0.tgz
JSON Web Token implementation (symmetric and asymmetric)
Library home page: https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz
Path to dependency file: /aws-node-github-check/package.json
Path to vulnerable library: /aws-node-github-check/node_modules/jsonwebtoken/package.json
Dependency Hierarchy: - serverless-offline-3.31.0.tgz (Root Library) - :x: **jsonwebtoken-8.3.0.tgz** (Vulnerable Library)
jsonwebtoken-7.4.3.tgz
JSON Web Token implementation (symmetric and asymmetric)
Library home page: https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz
Path to dependency file: /aws-node-signed-uploads/package.json
Path to vulnerable library: /aws-node-signed-uploads/node_modules/jsonwebtoken/package.json,/aws-node-auth0-cognito-custom-authorizers-api/node_modules/jsonwebtoken/package.json
Dependency Hierarchy: - :x: **jsonwebtoken-7.4.3.tgz** (Vulnerable Library)
Found in HEAD commit: dcbe4aefe4b3685f4b15493a01db0f19b118a0c4
Found in base branch: master
Vulnerability Details
In versions `<=8.5.1` of `jsonwebtoken` library, lack of algorithm definition in the `jwt.verify()` function can lead to signature validation bypass due to defaulting to the `none` algorithm for signature verification. Users are affected if you do not specify algorithms in the `jwt.verify()` function. This issue has been fixed, please update to version 9.0.0 which removes the default support for the none algorithm in the `jwt.verify()` method. There will be no impact, if you update to version 9.0.0 and you don’t need to allow for the `none` algorithm. If you need 'none' algorithm, you have to explicitly specify that in `jwt.verify()` options.
Publish Date: 2022-12-22
URL: CVE-2022-23540
CVSS 3 Score Details (7.6)
Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: High - Availability Impact: Low
For more information on CVSS3 Scores, click here.Suggested Fix
Type: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2022-23540
Release Date: 2022-12-22
Fix Resolution (jsonwebtoken): 9.0.0
Direct dependency fix Resolution (serverless-offline): 10.2.1
Fix Resolution (jsonwebtoken): 9.0.0
Direct dependency fix Resolution (serverless-offline): 10.2.1
Step up your Open Source Security Game with Mend here