VYPR
High severityNVD Advisory· Published Nov 22, 2021· Updated Aug 4, 2024

Missing SNI validation and inconsistent CA override function behavior within AWS IoT Device SDKs on Apple devices

CVE-2021-40831

Description

The AWS IoT Device SDK v2 for Java, Python, C++ and Node.js appends a user supplied Certificate Authority (CA) to the root CAs instead of overriding it on macOS systems. Additionally, SNI validation is also not enabled when the CA has been “overridden”. TLS handshakes will thus succeed if the peer can be verified either from the user-supplied CA or the system’s default trust-store. Attackers with access to a host’s trust stores or are able to compromise a certificate authority already in the host's trust store (note: the attacker must also be able to spoof DNS in this case) may be able to use this issue to bypass CA pinning. An attacker could then spoof the MQTT broker, and either drop traffic and/or respond with the attacker's data, but they would not be able to forward this data on to the MQTT broker because the attacker would still need the user's private keys to authenticate against the MQTT broker. The 'aws_tls_ctx_options_override_default_trust_store_*' function within the aws-c-io submodule has been updated to address this behavior. This issue affects: Amazon Web Services AWS IoT Device SDK v2 for Java versions prior to 1.5.0 on macOS. Amazon Web Services AWS IoT Device SDK v2 for Python versions prior to 1.7.0 on macOS. Amazon Web Services AWS IoT Device SDK v2 for C++ versions prior to 1.14.0 on macOS. Amazon Web Services AWS IoT Device SDK v2 for Node.js versions prior to 1.6.0 on macOS. Amazon Web Services AWS-C-IO 0.10.7 on macOS.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
software.amazon.awssdk.iotdevicesdk:aws-iot-device-sdkMaven
< 1.5.01.5.0
aws-iot-device-sdk-v2npm
< 1.6.01.6.0
awsiotsdkPyPI
< 1.7.01.7.0

Affected products

1

Patches

3
5aef82573202

Fix CA override functions (#223)

1 file changed · +1 1
  • setup.py+1 1 modified
    @@ -40,7 +40,7 @@ def _load_version():
             "Operating System :: OS Independent",
         ],
         install_requires=[
    -        'awscrt==0.11.25',
    +        'awscrt==0.12.0',
         ],
         python_requires='>=3.6',
     )
    
22f1989f5bdb

Fix CA override functions (#185)

https://github.com/aws/aws-iot-device-sdk-js-v2Michael GraebAug 16, 2021via ghsa
5 files changed · +378 235
  • package.json+1 1 modified
    @@ -30,6 +30,6 @@
         "typescript": "^3.9.7"
       },
       "dependencies": {
    -    "aws-crt": "1.8.5"
    +    "aws-crt": "1.9.0"
       }
     }
    
  • package-lock.json+335 192 modified
    @@ -9,7 +9,7 @@
           "version": "1.0.0-dev",
           "license": "Apache-2.0",
           "dependencies": {
    -        "aws-crt": "1.8.5"
    +        "aws-crt": "1.9.0"
           },
           "devDependencies": {
             "@convergencelabs/typedoc-plugin-custom-modules": "^0.4.0",
    @@ -40,6 +40,10 @@
             "fast-json-stable-stringify": "^2.0.0",
             "json-schema-traverse": "^0.4.1",
             "uri-js": "^4.2.2"
    +      },
    +      "funding": {
    +        "type": "github",
    +        "url": "https://github.com/sponsors/epoberezkin"
           }
         },
         "node_modules/ansi": {
    @@ -123,9 +127,10 @@
           "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
         },
         "node_modules/aws-crt": {
    -      "version": "1.8.5",
    -      "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.8.5.tgz",
    -      "integrity": "sha512-7InVekvC8MiLqNrwQObQ+1Ltbi8/mdDQjquGF5mnwiaY+PlpN2Qg1tceuSyya/RIjwDuW52FyuYqj08etwH05g==",
    +      "version": "1.9.0",
    +      "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.9.0.tgz",
    +      "integrity": "sha512-LTjO3BRrPRcVw1gwXYAEMW7rG1u2rb7dUGscC/+wAAecbbZ6wTmETHteSdC184nq0MnrM0s9G7RaoTuFSAXhwQ==",
    +      "hasInstallScript": true,
           "dependencies": {
             "axios": "^0.21.1",
             "cmake-js": "6.1.0",
    @@ -135,6 +140,34 @@
             "websocket-stream": "^5.5.2"
           }
         },
    +    "node_modules/aws-crt/node_modules/cmake-js": {
    +      "version": "6.1.0",
    +      "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.1.0.tgz",
    +      "integrity": "sha512-utmukLQftpgrCpGRCaHnkv4K27HZNNFqmBl4vnvccy0xp4c1erxjFU/Lq4wn5ngAhFZmpwBPQfoKWKThjSBiwg==",
    +      "dependencies": {
    +        "debug": "^4",
    +        "fs-extra": "^5.0.0",
    +        "is-iojs": "^1.0.1",
    +        "lodash": "^4",
    +        "memory-stream": "0",
    +        "npmlog": "^1.2.0",
    +        "rc": "^1.2.7",
    +        "request": "^2.54.0",
    +        "semver": "^5.0.3",
    +        "splitargs": "0",
    +        "tar": "^4",
    +        "unzipper": "^0.8.13",
    +        "url-join": "0",
    +        "which": "^1.0.9",
    +        "yargs": "^3.6.0"
    +      },
    +      "bin": {
    +        "cmake-js": "bin/cmake-js"
    +      },
    +      "engines": {
    +        "node": ">= 10.0.0"
    +      }
    +    },
         "node_modules/aws-sign2": {
           "version": "0.7.0",
           "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
    @@ -164,7 +197,21 @@
         "node_modules/base64-js": {
           "version": "1.5.1",
           "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
    -      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
    +      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
    +      "funding": [
    +        {
    +          "type": "github",
    +          "url": "https://github.com/sponsors/feross"
    +        },
    +        {
    +          "type": "patreon",
    +          "url": "https://www.patreon.com/feross"
    +        },
    +        {
    +          "type": "consulting",
    +          "url": "https://feross.org/support"
    +        }
    +      ]
         },
         "node_modules/bcrypt-pbkdf": {
           "version": "1.0.2",
    @@ -189,6 +236,9 @@
           "dependencies": {
             "buffers": "~0.1.1",
             "chainsaw": "~0.1.0"
    +      },
    +      "engines": {
    +        "node": "*"
           }
         },
         "node_modules/bl": {
    @@ -240,15 +290,29 @@
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
           "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
    +      "funding": [
    +        {
    +          "type": "github",
    +          "url": "https://github.com/sponsors/feross"
    +        },
    +        {
    +          "type": "patreon",
    +          "url": "https://www.patreon.com/feross"
    +        },
    +        {
    +          "type": "consulting",
    +          "url": "https://feross.org/support"
    +        }
    +      ],
           "dependencies": {
             "base64-js": "^1.3.1",
             "ieee754": "^1.1.13"
           }
         },
         "node_modules/buffer-from": {
    -      "version": "1.1.1",
    -      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
    -      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
    +      "version": "1.1.2",
    +      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
    +      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
         },
         "node_modules/buffer-indexof-polyfill": {
           "version": "1.0.2",
    @@ -290,6 +354,9 @@
           "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
           "dependencies": {
             "traverse": ">=0.3.0 <0.4"
    +      },
    +      "engines": {
    +        "node": "*"
           }
         },
         "node_modules/chownr": {
    @@ -308,18 +375,19 @@
           }
         },
         "node_modules/cmake-js": {
    -      "version": "6.1.0",
    -      "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.1.0.tgz",
    -      "integrity": "sha512-utmukLQftpgrCpGRCaHnkv4K27HZNNFqmBl4vnvccy0xp4c1erxjFU/Lq4wn5ngAhFZmpwBPQfoKWKThjSBiwg==",
    +      "version": "6.2.1",
    +      "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.2.1.tgz",
    +      "integrity": "sha512-wEpg0Z8SY6ihXTe+xosadh4PbASdWSM/locbLacWRYJCZfAjWLyOrd4RoVIeirLkfPxmG8GdNQA9tW/Rz5SfJA==",
    +      "dev": true,
           "dependencies": {
    +        "axios": "^0.21.1",
             "debug": "^4",
             "fs-extra": "^5.0.0",
             "is-iojs": "^1.0.1",
             "lodash": "^4",
             "memory-stream": "0",
             "npmlog": "^1.2.0",
             "rc": "^1.2.7",
    -        "request": "^2.54.0",
             "semver": "^5.0.3",
             "splitargs": "0",
             "tar": "^4",
    @@ -409,9 +477,9 @@
           "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
         },
         "node_modules/crypto-js": {
    -      "version": "4.0.0",
    -      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz",
    -      "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg=="
    +      "version": "4.1.1",
    +      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
    +      "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
         },
         "node_modules/dashdash": {
           "version": "1.14.1",
    @@ -425,14 +493,19 @@
           }
         },
         "node_modules/debug": {
    -      "version": "4.3.1",
    -      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
    -      "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
    +      "version": "4.3.2",
    +      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
    +      "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
           "dependencies": {
             "ms": "2.1.2"
           },
           "engines": {
             "node": ">=6.0"
    +      },
    +      "peerDependenciesMeta": {
    +        "supports-color": {
    +          "optional": true
    +        }
           }
         },
         "node_modules/decamelize": {
    @@ -505,46 +578,35 @@
           }
         },
         "node_modules/duplexify": {
    -      "version": "3.7.1",
    -      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
    -      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
    +      "version": "4.1.2",
    +      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz",
    +      "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==",
           "dependencies": {
    -        "end-of-stream": "^1.0.0",
    -        "inherits": "^2.0.1",
    -        "readable-stream": "^2.0.0",
    +        "end-of-stream": "^1.4.1",
    +        "inherits": "^2.0.3",
    +        "readable-stream": "^3.1.1",
             "stream-shift": "^1.0.0"
           }
         },
    -    "node_modules/duplexify/node_modules/isarray": {
    -      "version": "1.0.0",
    -      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
    -      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
    -    },
         "node_modules/duplexify/node_modules/readable-stream": {
    -      "version": "2.3.7",
    -      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
    -      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
    +      "version": "3.6.0",
    +      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
    +      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
           "dependencies": {
    -        "core-util-is": "~1.0.0",
    -        "inherits": "~2.0.3",
    -        "isarray": "~1.0.0",
    -        "process-nextick-args": "~2.0.0",
    -        "safe-buffer": "~5.1.1",
    -        "string_decoder": "~1.1.1",
    -        "util-deprecate": "~1.0.1"
    +        "inherits": "^2.0.3",
    +        "string_decoder": "^1.1.1",
    +        "util-deprecate": "^1.0.1"
    +      },
    +      "engines": {
    +        "node": ">= 6"
           }
         },
    -    "node_modules/duplexify/node_modules/safe-buffer": {
    -      "version": "5.1.2",
    -      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
    -      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
    -    },
         "node_modules/duplexify/node_modules/string_decoder": {
    -      "version": "1.1.1",
    -      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
    -      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
    +      "version": "1.3.0",
    +      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
    +      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
           "dependencies": {
    -        "safe-buffer": "~5.1.0"
    +        "safe-buffer": "~5.2.0"
           }
         },
         "node_modules/ecc-jsbn": {
    @@ -596,8 +658,19 @@
           "version": "1.14.1",
           "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
           "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==",
    +      "funding": [
    +        {
    +          "type": "individual",
    +          "url": "https://github.com/sponsors/RubenVerborgh"
    +        }
    +      ],
           "engines": {
             "node": ">=4.0"
    +      },
    +      "peerDependenciesMeta": {
    +        "debug": {
    +          "optional": true
    +        }
           }
         },
         "node_modules/forever-agent": {
    @@ -698,12 +771,15 @@
           },
           "engines": {
             "node": "*"
    +      },
    +      "funding": {
    +        "url": "https://github.com/sponsors/isaacs"
           }
         },
         "node_modules/graceful-fs": {
    -      "version": "4.2.6",
    -      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
    -      "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
    +      "version": "4.2.8",
    +      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
    +      "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
         },
         "node_modules/handlebars": {
           "version": "4.7.7",
    @@ -738,6 +814,7 @@
           "version": "5.1.5",
           "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
           "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
    +      "deprecated": "this library is no longer supported",
           "dependencies": {
             "ajv": "^6.12.3",
             "har-schema": "^2.0.0"
    @@ -794,9 +871,9 @@
           }
         },
         "node_modules/highlight.js": {
    -      "version": "10.7.2",
    -      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz",
    -      "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==",
    +      "version": "10.7.3",
    +      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
    +      "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
           "dev": true,
           "engines": {
             "node": "*"
    @@ -819,7 +896,21 @@
         "node_modules/ieee754": {
           "version": "1.2.1",
           "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
    -      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
    +      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
    +      "funding": [
    +        {
    +          "type": "github",
    +          "url": "https://github.com/sponsors/feross"
    +        },
    +        {
    +          "type": "patreon",
    +          "url": "https://www.patreon.com/feross"
    +        },
    +        {
    +          "type": "consulting",
    +          "url": "https://feross.org/support"
    +        }
    +      ]
         },
         "node_modules/inflight": {
           "version": "1.0.6",
    @@ -858,12 +949,15 @@
           }
         },
         "node_modules/is-core-module": {
    -      "version": "2.4.0",
    -      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
    -      "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
    +      "version": "2.5.0",
    +      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
    +      "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
           "dev": true,
           "dependencies": {
             "has": "^1.0.3"
    +      },
    +      "funding": {
    +        "url": "https://github.com/sponsors/ljharb"
           }
         },
         "node_modules/is-fullwidth-code-point": {
    @@ -926,7 +1020,7 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
           "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
    -      "dependencies": {
    +      "optionalDependencies": {
             "graceful-fs": "^4.1.6"
           }
         },
    @@ -1015,19 +1109,19 @@
           }
         },
         "node_modules/mime-db": {
    -      "version": "1.48.0",
    -      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
    -      "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
    +      "version": "1.49.0",
    +      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
    +      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
           "engines": {
             "node": ">= 0.6"
           }
         },
         "node_modules/mime-types": {
    -      "version": "2.1.31",
    -      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
    -      "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
    +      "version": "2.1.32",
    +      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
    +      "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
           "dependencies": {
    -        "mime-db": "1.48.0"
    +        "mime-db": "1.49.0"
           },
           "engines": {
             "node": ">= 0.6"
    @@ -1116,17 +1210,6 @@
             "process-nextick-args": "^2.0.1"
           }
         },
    -    "node_modules/mqtt/node_modules/duplexify": {
    -      "version": "4.1.1",
    -      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz",
    -      "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==",
    -      "dependencies": {
    -        "end-of-stream": "^1.4.1",
    -        "inherits": "^2.0.3",
    -        "readable-stream": "^3.1.1",
    -        "stream-shift": "^1.0.0"
    -      }
    -    },
         "node_modules/mqtt/node_modules/readable-stream": {
           "version": "3.6.0",
           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
    @@ -1313,6 +1396,7 @@
           "version": "2.88.2",
           "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
           "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
    +      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
           "dependencies": {
             "aws-sign2": "~0.7.0",
             "aws4": "^1.8.0",
    @@ -1347,6 +1431,9 @@
           "dependencies": {
             "is-core-module": "^2.2.0",
             "path-parse": "^1.0.6"
    +      },
    +      "funding": {
    +        "url": "https://github.com/sponsors/ljharb"
           }
         },
         "node_modules/rimraf": {
    @@ -1363,7 +1450,21 @@
         "node_modules/safe-buffer": {
           "version": "5.2.1",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
    -      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
    +      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
    +      "funding": [
    +        {
    +          "type": "github",
    +          "url": "https://github.com/sponsors/feross"
    +        },
    +        {
    +          "type": "patreon",
    +          "url": "https://www.patreon.com/feross"
    +        },
    +        {
    +          "type": "consulting",
    +          "url": "https://feross.org/support"
    +        }
    +      ]
         },
         "node_modules/safer-buffer": {
           "version": "2.1.2",
    @@ -1510,17 +1611,17 @@
           }
         },
         "node_modules/tar": {
    -      "version": "4.4.15",
    -      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.15.tgz",
    -      "integrity": "sha512-ItbufpujXkry7bHH9NpQyTXPbJ72iTlXgkBAYsAjDXk3Ds8t/3NfO5P4xZGy7u+sYuQUbimgzswX4uQIEeNVOA==",
    -      "dependencies": {
    -        "chownr": "^1.1.1",
    -        "fs-minipass": "^1.2.5",
    -        "minipass": "^2.8.6",
    -        "minizlib": "^1.2.1",
    -        "mkdirp": "^0.5.0",
    -        "safe-buffer": "^5.1.2",
    -        "yallist": "^3.0.3"
    +      "version": "4.4.17",
    +      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.17.tgz",
    +      "integrity": "sha512-q7OwXq6NTdcYIa+k58nEMV3j1euhDhGCs/VRw9ymx/PbH0jtIM2+VTgDE/BW3rbLkrBUXs5fzEKgic5oUciu7g==",
    +      "dependencies": {
    +        "chownr": "^1.1.4",
    +        "fs-minipass": "^1.2.7",
    +        "minipass": "^2.9.0",
    +        "minizlib": "^1.3.3",
    +        "mkdirp": "^0.5.5",
    +        "safe-buffer": "^5.2.1",
    +        "yallist": "^3.1.1"
           },
           "engines": {
             "node": ">=4.5"
    @@ -1541,7 +1642,10 @@
         "node_modules/traverse": {
           "version": "0.3.9",
           "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
    -      "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
    +      "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
    +      "engines": {
    +        "node": "*"
    +      }
         },
         "node_modules/tunnel-agent": {
           "version": "0.6.0",
    @@ -1586,6 +1690,9 @@
           },
           "engines": {
             "node": ">= 8.0.0"
    +      },
    +      "peerDependencies": {
    +        "typescript": ">=3.8.3"
           }
         },
         "node_modules/typedoc-default-themes": {
    @@ -1615,9 +1722,9 @@
           }
         },
         "node_modules/typescript": {
    -      "version": "3.9.9",
    -      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -      "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +      "version": "3.9.10",
    +      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +      "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
           "dev": true,
           "bin": {
             "tsc": "bin/tsc",
    @@ -1628,9 +1735,9 @@
           }
         },
         "node_modules/uglify-js": {
    -      "version": "3.13.8",
    -      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.8.tgz",
    -      "integrity": "sha512-PvFLMFIQHfIjFFlvAch69U2IvIxK9TNzNWt1SxZGp9JZ/v70yvqIQuiJeVPPtUMOzoNt+aNRDk4wgxb34wvEqA==",
    +      "version": "3.14.1",
    +      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz",
    +      "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==",
           "dev": true,
           "optional": true,
           "bin": {
    @@ -1715,6 +1822,7 @@
           "version": "3.4.0",
           "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
           "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
    +      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
           "bin": {
             "uuid": "bin/uuid"
           }
    @@ -1745,6 +1853,17 @@
             "xtend": "^4.0.0"
           }
         },
    +    "node_modules/websocket-stream/node_modules/duplexify": {
    +      "version": "3.7.1",
    +      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
    +      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
    +      "dependencies": {
    +        "end-of-stream": "^1.0.0",
    +        "inherits": "^2.0.1",
    +        "readable-stream": "^2.0.0",
    +        "stream-shift": "^1.0.0"
    +      }
    +    },
         "node_modules/websocket-stream/node_modules/isarray": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
    @@ -1833,11 +1952,23 @@
           "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
         },
         "node_modules/ws": {
    -      "version": "7.5.2",
    -      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.2.tgz",
    -      "integrity": "sha512-lkF7AWRicoB9mAgjeKbGqVUekLnSNO4VjKVnuPHpQeOxZOErX6BPXwJk70nFslRCEEA8EVW7ZjKwXaP9N+1sKQ==",
    +      "version": "7.5.3",
    +      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
    +      "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
           "engines": {
             "node": ">=8.3.0"
    +      },
    +      "peerDependencies": {
    +        "bufferutil": "^4.0.1",
    +        "utf-8-validate": "^5.0.2"
    +      },
    +      "peerDependenciesMeta": {
    +        "bufferutil": {
    +          "optional": true
    +        },
    +        "utf-8-validate": {
    +          "optional": true
    +        }
           }
         },
         "node_modules/xtend": {
    @@ -1974,16 +2105,40 @@
           "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
         },
         "aws-crt": {
    -      "version": "1.8.5",
    -      "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.8.5.tgz",
    -      "integrity": "sha512-7InVekvC8MiLqNrwQObQ+1Ltbi8/mdDQjquGF5mnwiaY+PlpN2Qg1tceuSyya/RIjwDuW52FyuYqj08etwH05g==",
    +      "version": "1.9.0",
    +      "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.9.0.tgz",
    +      "integrity": "sha512-LTjO3BRrPRcVw1gwXYAEMW7rG1u2rb7dUGscC/+wAAecbbZ6wTmETHteSdC184nq0MnrM0s9G7RaoTuFSAXhwQ==",
           "requires": {
             "axios": "^0.21.1",
             "cmake-js": "6.1.0",
             "crypto-js": "^4.0.0",
             "fastestsmallesttextencoderdecoder": "^1.0.22",
             "mqtt": "^4.2.8",
             "websocket-stream": "^5.5.2"
    +      },
    +      "dependencies": {
    +        "cmake-js": {
    +          "version": "6.1.0",
    +          "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.1.0.tgz",
    +          "integrity": "sha512-utmukLQftpgrCpGRCaHnkv4K27HZNNFqmBl4vnvccy0xp4c1erxjFU/Lq4wn5ngAhFZmpwBPQfoKWKThjSBiwg==",
    +          "requires": {
    +            "debug": "^4",
    +            "fs-extra": "^5.0.0",
    +            "is-iojs": "^1.0.1",
    +            "lodash": "^4",
    +            "memory-stream": "0",
    +            "npmlog": "^1.2.0",
    +            "rc": "^1.2.7",
    +            "request": "^2.54.0",
    +            "semver": "^5.0.3",
    +            "splitargs": "0",
    +            "tar": "^4",
    +            "unzipper": "^0.8.13",
    +            "url-join": "0",
    +            "which": "^1.0.9",
    +            "yargs": "^3.6.0"
    +          }
    +        }
           }
         },
         "aws-sign2": {
    @@ -2090,9 +2245,9 @@
           }
         },
         "buffer-from": {
    -      "version": "1.1.1",
    -      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
    -      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
    +      "version": "1.1.2",
    +      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
    +      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
         },
         "buffer-indexof-polyfill": {
           "version": "1.0.2",
    @@ -2143,18 +2298,19 @@
           }
         },
         "cmake-js": {
    -      "version": "6.1.0",
    -      "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.1.0.tgz",
    -      "integrity": "sha512-utmukLQftpgrCpGRCaHnkv4K27HZNNFqmBl4vnvccy0xp4c1erxjFU/Lq4wn5ngAhFZmpwBPQfoKWKThjSBiwg==",
    +      "version": "6.2.1",
    +      "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.2.1.tgz",
    +      "integrity": "sha512-wEpg0Z8SY6ihXTe+xosadh4PbASdWSM/locbLacWRYJCZfAjWLyOrd4RoVIeirLkfPxmG8GdNQA9tW/Rz5SfJA==",
    +      "dev": true,
           "requires": {
    +        "axios": "^0.21.1",
             "debug": "^4",
             "fs-extra": "^5.0.0",
             "is-iojs": "^1.0.1",
             "lodash": "^4",
             "memory-stream": "0",
             "npmlog": "^1.2.0",
             "rc": "^1.2.7",
    -        "request": "^2.54.0",
             "semver": "^5.0.3",
             "splitargs": "0",
             "tar": "^4",
    @@ -2228,9 +2384,9 @@
           "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
         },
         "crypto-js": {
    -      "version": "4.0.0",
    -      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz",
    -      "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg=="
    +      "version": "4.1.1",
    +      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
    +      "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
         },
         "dashdash": {
           "version": "1.14.1",
    @@ -2241,9 +2397,9 @@
           }
         },
         "debug": {
    -      "version": "4.3.1",
    -      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
    -      "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
    +      "version": "4.3.2",
    +      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
    +      "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
           "requires": {
             "ms": "2.1.2"
           }
    @@ -2311,46 +2467,32 @@
           }
         },
         "duplexify": {
    -      "version": "3.7.1",
    -      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
    -      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
    +      "version": "4.1.2",
    +      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz",
    +      "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==",
           "requires": {
    -        "end-of-stream": "^1.0.0",
    -        "inherits": "^2.0.1",
    -        "readable-stream": "^2.0.0",
    +        "end-of-stream": "^1.4.1",
    +        "inherits": "^2.0.3",
    +        "readable-stream": "^3.1.1",
             "stream-shift": "^1.0.0"
           },
           "dependencies": {
    -        "isarray": {
    -          "version": "1.0.0",
    -          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
    -          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
    -        },
             "readable-stream": {
    -          "version": "2.3.7",
    -          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
    -          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
    +          "version": "3.6.0",
    +          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
    +          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
               "requires": {
    -            "core-util-is": "~1.0.0",
    -            "inherits": "~2.0.3",
    -            "isarray": "~1.0.0",
    -            "process-nextick-args": "~2.0.0",
    -            "safe-buffer": "~5.1.1",
    -            "string_decoder": "~1.1.1",
    -            "util-deprecate": "~1.0.1"
    +            "inherits": "^2.0.3",
    +            "string_decoder": "^1.1.1",
    +            "util-deprecate": "^1.0.1"
               }
             },
    -        "safe-buffer": {
    -          "version": "5.1.2",
    -          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
    -          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
    -        },
             "string_decoder": {
    -          "version": "1.1.1",
    -          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
    -          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
    +          "version": "1.3.0",
    +          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
    +          "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
               "requires": {
    -            "safe-buffer": "~5.1.0"
    +            "safe-buffer": "~5.2.0"
               }
             }
           }
    @@ -2491,9 +2633,9 @@
           }
         },
         "graceful-fs": {
    -      "version": "4.2.6",
    -      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
    -      "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
    +      "version": "4.2.8",
    +      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
    +      "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
         },
         "handlebars": {
           "version": "4.7.7",
    @@ -2566,9 +2708,9 @@
           }
         },
         "highlight.js": {
    -      "version": "10.7.2",
    -      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz",
    -      "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==",
    +      "version": "10.7.3",
    +      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
    +      "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
           "dev": true
         },
         "http-signature": {
    @@ -2617,9 +2759,9 @@
           "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
         },
         "is-core-module": {
    -      "version": "2.4.0",
    -      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
    -      "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
    +      "version": "2.5.0",
    +      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
    +      "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
           "dev": true,
           "requires": {
             "has": "^1.0.3"
    @@ -2756,16 +2898,16 @@
           }
         },
         "mime-db": {
    -      "version": "1.48.0",
    -      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
    -      "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="
    +      "version": "1.49.0",
    +      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
    +      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA=="
         },
         "mime-types": {
    -      "version": "2.1.31",
    -      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
    -      "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
    +      "version": "2.1.32",
    +      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
    +      "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
           "requires": {
    -        "mime-db": "1.48.0"
    +        "mime-db": "1.49.0"
           }
         },
         "minimatch": {
    @@ -2827,17 +2969,6 @@
             "xtend": "^4.0.2"
           },
           "dependencies": {
    -        "duplexify": {
    -          "version": "4.1.1",
    -          "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz",
    -          "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==",
    -          "requires": {
    -            "end-of-stream": "^1.4.1",
    -            "inherits": "^2.0.3",
    -            "readable-stream": "^3.1.1",
    -            "stream-shift": "^1.0.0"
    -          }
    -        },
             "readable-stream": {
               "version": "3.6.0",
               "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
    @@ -3167,17 +3298,17 @@
           "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
         },
         "tar": {
    -      "version": "4.4.15",
    -      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.15.tgz",
    -      "integrity": "sha512-ItbufpujXkry7bHH9NpQyTXPbJ72iTlXgkBAYsAjDXk3Ds8t/3NfO5P4xZGy7u+sYuQUbimgzswX4uQIEeNVOA==",
    -      "requires": {
    -        "chownr": "^1.1.1",
    -        "fs-minipass": "^1.2.5",
    -        "minipass": "^2.8.6",
    -        "minizlib": "^1.2.1",
    -        "mkdirp": "^0.5.0",
    -        "safe-buffer": "^5.1.2",
    -        "yallist": "^3.0.3"
    +      "version": "4.4.17",
    +      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.17.tgz",
    +      "integrity": "sha512-q7OwXq6NTdcYIa+k58nEMV3j1euhDhGCs/VRw9ymx/PbH0jtIM2+VTgDE/BW3rbLkrBUXs5fzEKgic5oUciu7g==",
    +      "requires": {
    +        "chownr": "^1.1.4",
    +        "fs-minipass": "^1.2.7",
    +        "minipass": "^2.9.0",
    +        "minizlib": "^1.3.3",
    +        "mkdirp": "^0.5.5",
    +        "safe-buffer": "^5.2.1",
    +        "yallist": "^3.1.1"
           }
         },
         "tough-cookie": {
    @@ -3253,15 +3384,15 @@
           }
         },
         "typescript": {
    -      "version": "3.9.9",
    -      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -      "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +      "version": "3.9.10",
    +      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +      "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
           "dev": true
         },
         "uglify-js": {
    -      "version": "3.13.8",
    -      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.8.tgz",
    -      "integrity": "sha512-PvFLMFIQHfIjFFlvAch69U2IvIxK9TNzNWt1SxZGp9JZ/v70yvqIQuiJeVPPtUMOzoNt+aNRDk4wgxb34wvEqA==",
    +      "version": "3.14.1",
    +      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz",
    +      "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==",
           "dev": true,
           "optional": true
         },
    @@ -3363,6 +3494,17 @@
             "xtend": "^4.0.0"
           },
           "dependencies": {
    +        "duplexify": {
    +          "version": "3.7.1",
    +          "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
    +          "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
    +          "requires": {
    +            "end-of-stream": "^1.0.0",
    +            "inherits": "^2.0.1",
    +            "readable-stream": "^2.0.0",
    +            "stream-shift": "^1.0.0"
    +          }
    +        },
             "isarray": {
               "version": "1.0.0",
               "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
    @@ -3441,9 +3583,10 @@
           "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
         },
         "ws": {
    -      "version": "7.5.2",
    -      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.2.tgz",
    -      "integrity": "sha512-lkF7AWRicoB9mAgjeKbGqVUekLnSNO4VjKVnuPHpQeOxZOErX6BPXwJk70nFslRCEEA8EVW7ZjKwXaP9N+1sKQ=="
    +      "version": "7.5.3",
    +      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
    +      "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
    +      "requires": {}
         },
         "xtend": {
           "version": "4.0.2",
    
  • samples/node/basic_discovery/package-lock.json+14 14 modified
    @@ -21,7 +21,7 @@
                 "version": "1.0.0-dev",
                 "license": "Apache-2.0",
                 "dependencies": {
    -                "aws-crt": "1.7.1"
    +                "aws-crt": "1.9.0"
                 },
                 "devDependencies": {
                     "@convergencelabs/typedoc-plugin-custom-modules": "^0.4.0",
    @@ -227,9 +227,9 @@
                 }
             },
             "node_modules/typescript": {
    -            "version": "3.9.9",
    -            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -            "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +            "version": "3.9.10",
    +            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +            "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
                 "dev": true,
                 "bin": {
                     "tsc": "bin/tsc",
    @@ -281,9 +281,9 @@
                 }
             },
             "node_modules/yargs-parser": {
    -            "version": "15.0.1",
    -            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
    -            "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
    +            "version": "15.0.3",
    +            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
    +            "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
                 "dependencies": {
                     "camelcase": "^5.0.0",
                     "decamelize": "^1.2.0"
    @@ -315,7 +315,7 @@
                 "requires": {
                     "@convergencelabs/typedoc-plugin-custom-modules": "^0.4.0",
                     "@types/node": "^10.17.50",
    -                "aws-crt": "1.7.1",
    +                "aws-crt": "1.9.0",
                     "cmake-js": "^6.1.0",
                     "typedoc": "^0.17.8",
                     "typescript": "^3.9.7"
    @@ -446,9 +446,9 @@
                 }
             },
             "typescript": {
    -            "version": "3.9.9",
    -            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -            "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +            "version": "3.9.10",
    +            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +            "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
                 "dev": true
             },
             "which-module": {
    @@ -490,9 +490,9 @@
                 }
             },
             "yargs-parser": {
    -            "version": "15.0.1",
    -            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
    -            "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
    +            "version": "15.0.3",
    +            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
    +            "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
                 "requires": {
                     "camelcase": "^5.0.0",
                     "decamelize": "^1.2.0"
    
  • samples/node/fleet_provisioning/package-lock.json+14 14 modified
    @@ -21,7 +21,7 @@
                 "version": "1.0.0-dev",
                 "license": "Apache-2.0",
                 "dependencies": {
    -                "aws-crt": "1.7.1"
    +                "aws-crt": "1.9.0"
                 },
                 "devDependencies": {
                     "@convergencelabs/typedoc-plugin-custom-modules": "^0.4.0",
    @@ -227,9 +227,9 @@
                 }
             },
             "node_modules/typescript": {
    -            "version": "3.9.9",
    -            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -            "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +            "version": "3.9.10",
    +            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +            "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
                 "dev": true,
                 "bin": {
                     "tsc": "bin/tsc",
    @@ -281,9 +281,9 @@
                 }
             },
             "node_modules/yargs-parser": {
    -            "version": "15.0.1",
    -            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
    -            "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
    +            "version": "15.0.3",
    +            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
    +            "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
                 "dependencies": {
                     "camelcase": "^5.0.0",
                     "decamelize": "^1.2.0"
    @@ -315,7 +315,7 @@
                 "requires": {
                     "@convergencelabs/typedoc-plugin-custom-modules": "^0.4.0",
                     "@types/node": "^10.17.50",
    -                "aws-crt": "1.7.1",
    +                "aws-crt": "1.9.0",
                     "cmake-js": "^6.1.0",
                     "typedoc": "^0.17.8",
                     "typescript": "^3.9.7"
    @@ -446,9 +446,9 @@
                 }
             },
             "typescript": {
    -            "version": "3.9.9",
    -            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -            "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +            "version": "3.9.10",
    +            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +            "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
                 "dev": true
             },
             "which-module": {
    @@ -490,9 +490,9 @@
                 }
             },
             "yargs-parser": {
    -            "version": "15.0.1",
    -            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
    -            "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
    +            "version": "15.0.3",
    +            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
    +            "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
                 "requires": {
                     "camelcase": "^5.0.0",
                     "decamelize": "^1.2.0"
    
  • samples/node/pub_sub/package-lock.json+14 14 modified
    @@ -21,7 +21,7 @@
                 "version": "1.0.0-dev",
                 "license": "Apache-2.0",
                 "dependencies": {
    -                "aws-crt": "1.7.1"
    +                "aws-crt": "1.9.0"
                 },
                 "devDependencies": {
                     "@convergencelabs/typedoc-plugin-custom-modules": "^0.4.0",
    @@ -227,9 +227,9 @@
                 }
             },
             "node_modules/typescript": {
    -            "version": "3.9.9",
    -            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -            "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +            "version": "3.9.10",
    +            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +            "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
                 "dev": true,
                 "bin": {
                     "tsc": "bin/tsc",
    @@ -281,9 +281,9 @@
                 }
             },
             "node_modules/yargs-parser": {
    -            "version": "15.0.1",
    -            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
    -            "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
    +            "version": "15.0.3",
    +            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
    +            "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
                 "dependencies": {
                     "camelcase": "^5.0.0",
                     "decamelize": "^1.2.0"
    @@ -315,7 +315,7 @@
                 "requires": {
                     "@convergencelabs/typedoc-plugin-custom-modules": "^0.4.0",
                     "@types/node": "^10.17.50",
    -                "aws-crt": "1.7.1",
    +                "aws-crt": "1.9.0",
                     "cmake-js": "^6.1.0",
                     "typedoc": "^0.17.8",
                     "typescript": "^3.9.7"
    @@ -446,9 +446,9 @@
                 }
             },
             "typescript": {
    -            "version": "3.9.9",
    -            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
    -            "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
    +            "version": "3.9.10",
    +            "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
    +            "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
                 "dev": true
             },
             "which-module": {
    @@ -490,9 +490,9 @@
                 }
             },
             "yargs-parser": {
    -            "version": "15.0.1",
    -            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
    -            "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
    +            "version": "15.0.3",
    +            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
    +            "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
                 "requires": {
                     "camelcase": "^5.0.0",
                     "decamelize": "^1.2.0"
    
46375e9b1bfb

Fix CA override functions (#176)

https://github.com/aws/aws-iot-device-sdk-java-v2Michael GraebAug 16, 2021via ghsa
4 files changed · +6 6
  • android/app/build.gradle+1 1 modified
    @@ -50,7 +50,7 @@ repositories {
     dependencies {
         implementation fileTree(dir: 'libs', include: ['*.jar'])
         implementation project(":iotdevicesdk")
    -    implementation 'software.amazon.awssdk.crt:android:0.11.5'
    +    implementation 'software.amazon.awssdk.crt:android:0.14.0'
         implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
         implementation 'androidx.appcompat:appcompat:1.1.0'
         implementation 'androidx.core:core:1.2.0'
    
  • android/iotdevicesdk/build.gradle+1 1 modified
    @@ -87,7 +87,7 @@ repositories {
     
     dependencies {
         implementation fileTree(dir: 'libs', include: ['*.jar'])
    -    implementation 'software.amazon.awssdk.crt:android:0.11.5'
    +    implementation 'software.amazon.awssdk.crt:android:0.14.0'
         implementation 'com.google.code.gson:gson:2.8.5'
         implementation 'androidx.appcompat:appcompat:1.1.0'
         testImplementation 'junit:junit:4.12'
    
  • README.md+3 3 modified
    @@ -65,7 +65,7 @@ mvn clean install
     # NOTE: use the latest version of the CRT here
     
     
    -git clone --branch v0.11.5 https://github.com/awslabs/aws-crt-java.git
    +git clone --branch v0.14.0 https://github.com/awslabs/aws-crt-java.git
     
     git clone https://github.com/awslabs/aws-iot-device-sdk-java-v2.git
     cd aws-crt-java
    @@ -80,7 +80,7 @@ Supports API 26 or newer.
     NOTE: The shadow sample does not currently complete on android due to its dependence on stdin keyboard input.
     
     ``` sh
    -git clone --recursive --branch v0.11.5 https://github.com/awslabs/aws-crt-java.git
    +git clone --recursive --branch v0.14.0 https://github.com/awslabs/aws-crt-java.git
     git clone https://github.com/awslabs/aws-iot-device-sdk-java-v2.git
     cd aws-crt-java/android
     ./gradlew connectedCheck # optional, will run the unit tests on any connected devices/emulators
    @@ -101,7 +101,7 @@ repositories {
     }
     
     dependencies {
    -    implementation 'software.amazon.awssdk.crt:android:0.11.5'
    +    implementation 'software.amazon.awssdk.crt:android:0.14.0'
     }
     ```
     #### Caution
    
  • sdk/pom.xml+1 1 modified
    @@ -42,7 +42,7 @@
         <dependency>
           <groupId>software.amazon.awssdk.crt</groupId>
           <artifactId>aws-crt</artifactId>
    -      <version>0.13.2</version>
    +      <version>0.14.0</version>
         </dependency>
         <dependency>
           <groupId>junit</groupId>
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

6

News mentions

0

No linked articles in our index yet.