diff --git a/.github/workflows/latest-staging.yml b/.github/workflows/latest-staging.yml new file mode 100644 index 000000000..32658bb25 --- /dev/null +++ b/.github/workflows/latest-staging.yml @@ -0,0 +1,30 @@ +name: "Docker latest" + +on: + pull_request: + branches: [staging] # This workflow will run when a PR is merged or when a commit is made directly to these branches. + # NOTE: We want to create a "latest" Github package on changes to `dev`. + +jobs: + build-and-push-image: + name: Push Docker image to GitHub Packages + runs-on: ubuntu-latest + # we can run tests here, and require that they pass + # but tests should pass on the pull request used to kick this job off, + # unless we allow changes to `dev` or `release` branches without PRs + # needs: npm-run-tests + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + - name: Log in to GCR + run: | + docker login docker.pkg.github.com \ + --username ${{ github.actor }} \ + --password ${{ secrets.GITHUB_TOKEN }} + - name: Build Docker latest image + run: | + docker build \ + --file docker/Dockerfile \ + --tag docker.pkg.github.com/cveproject/cve-services/cveservices-staging:latest . + - name: Push Docker latest image to GCR + run: docker push docker.pkg.github.com/cveproject/cve-services/cveservices-staging:latest \ No newline at end of file diff --git a/.github/workflows/test-http.yml b/.github/workflows/test-http.yml index 48a1c42b7..934b4d91d 100644 --- a/.github/workflows/test-http.yml +++ b/.github/workflows/test-http.yml @@ -32,7 +32,13 @@ jobs: - name: Run Black Box Tests run: | cd test-http/ - docker exec demon pytest src/ > src/testOutput.txt + docker exec demon pytest src/ | tee src/testOutput.txt + - name: Archive Test Results + uses: actions/upload-artifact@v2 + with: + name: test-results + path: test-http/src/testOutput.txt + retention-days: 1 - name: Extract Tests Results run: docker exec demon /bin/bash src/parse_tests_output.sh | (read foo; echo "##[set-output name=result;]$(echo $foo)") id: tests_result diff --git a/datadump/pre-population/cves.json b/datadump/pre-population/cves.json index 8bc7727d1..e4039a74d 100644 --- a/datadump/pre-population/cves.json +++ b/datadump/pre-population/cves.json @@ -1,6539 +1,7325 @@ [ { - "time": { - "created": "2019-04-11T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-1999-0001", - "assignerShortName": "mitre", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2019-04-11T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-1999-0001", + "assignerShortName": "mitre", + "state": "REJECTED", + "dateUpdated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } + }, + { + "time": { + "created": "2018-10-30T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Robles-Howard", + "versions": [ + { + "version": "unit, expect, friend" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Happy order at total condition to contain movement. Particularly have top wall crime side." - } + { + "lang": "eng", + "value": "War early course local five house national. Not radio one color situation middle. Beautiful world budget.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + }, + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Charles Hooper", + "refsource": "GAS", + "url": "https://www.harper.com/" + }, + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Megan Morales", + "refsource": "GAS", + "url": "http://www.wright-white.com/posts/explore/tag/login/" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Sarah Jennings", + "refsource": "AGO", + "url": "https://powell.biz/author.htm" + }, + { + "name": "Emily Strickland", + "refsource": "SOMEBODY", + "url": "http://www.smith-spears.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-1999-0003", + "assignerShortName": "mitre", + "state": "PUBLISHED", + "dateUpdated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2018-10-30T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Robles-Howard", - "versions": [ - { - "version": "unit, expect, friend" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "War early course local five house national. Not radio one color situation middle. Beautiful world budget." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "f972b356-145d-4b2e-9a5c-b114d0982a3b" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - }, - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Charles Hooper", - "refsource": "GAS", - "url": "https://www.harper.com/" - }, - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Megan Morales", - "refsource": "GAS", - "url": "http://www.wright-white.com/posts/explore/tag/login/" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Sarah Jennings", - "refsource": "AGO", - "url": "https://powell.biz/author.htm" - }, - { - "name": "Emily Strickland", - "refsource": "SOMEBODY", - "url": "http://www.smith-spears.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-1999-0003", - "assignerShortName": "mitre", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-04-23T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Phillips PLC", + "versions": [ + { + "version": "clearly, author, positive, beautiful, turn, miss, check, body, book" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Born response old attorney politics front pay current. Market draw at run spend." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "12949f75-9f80-422c-a11e-ddd03dda4d6c" + }, + "references": [ + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-1999-0006", + "assignerShortName": "mitre", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-04-23T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Phillips PLC", - "versions": [ - { - "version": "clearly, author, positive, beautiful, turn, miss, check, body, book" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Born response old attorney politics front pay current. Market draw at run spend." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "12949f75-9f80-422c-a11e-ddd03dda4d6c" - }, - "references": [ - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-1999-0006", - "assignerShortName": "mitre", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2012-07-23T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "eng", + "value": "Less born material together bad available machine. Add serious woman get expert name. Worker push threat watch someone hospital speak. Weight easy color should clearly institution claim message.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-1999-0008", + "assignerShortName": "mitre", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-07-23T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-1999-0008", - "assignerShortName": "mitre", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2012-09-24T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Sanders Group", + "versions": [ + { + "version": "yard, language, teacher, food, music, game, moment, whatever, rise" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Less born material together bad available machine. Add serious woman get expert name. Worker push threat watch someone hospital speak. Weight easy color should clearly institution claim message." - } + { + "lang": "eng", + "value": "Tax turn standard front line product." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "98b746bd-357f-483d-8cda-ed822fecf787" + }, + "references": [ + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Charles Hooper", + "refsource": "GAS", + "url": "https://www.harper.com/" + }, + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "Katherine Carson", + "refsource": "SONG", + "url": "http://www.barker.com/faq.htm" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Dustin Wells", + "refsource": "AGO", + "url": "https://www.davis.org/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-1999-0009", + "assignerShortName": "mitre", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-09-24T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Sanders Group", - "versions": [ - { - "version": "yard, language, teacher, food, music, game, moment, whatever, rise" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Tax turn standard front line product." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "98b746bd-357f-483d-8cda-ed822fecf787" - }, - "references": [ - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Charles Hooper", - "refsource": "GAS", - "url": "https://www.harper.com/" - }, - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "Katherine Carson", - "refsource": "SONG", - "url": "http://www.barker.com/faq.htm" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Dustin Wells", - "refsource": "AGO", - "url": "https://www.davis.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-1999-0009", - "assignerShortName": "mitre", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2020-08-27T00:00:00.000000Z", + "modified": "2021-05-11 15:06:31.039685+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Rios-Graham", + "versions": [ + { + "version": "notice, necessary, stuff, they, level, example, significant" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Street camera method risk reason before one. Series operation choose between degree try. Important yard relate prove trial." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + }, + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-1999-0010", + "assignerShortName": "window_1", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-08-27T00:00:00.000000Z", - "modified": "2021-05-11 15:06:31.039685+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Rios-Graham", - "versions": [ - { - "version": "notice, necessary, stuff, they, level, example, significant" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Street camera method risk reason before one. Series operation choose between degree try. Important yard relate prove trial." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - }, - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-1999-0010", - "assignerShortName": "window_1", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2020-06-12T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0012"] + } + }, + "cveMetadata": { + "cveId": "CVE-2000-0002", + "assignerShortName": "window_1", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-06-12T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2000-0002", - "assignerShortName": "window_1", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2017-08-07T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Matthews Inc", + "versions": [ + { + "version": "life, discussion" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "His write those. Leader task program reach public." - } + { + "lang": "eng", + "value": "Yourself writer group movie toward. White music building place successful speak behind." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "04dbbca8-0340-44e0-bb68-c400480880e0" + }, + "references": [ + { + "name": "Jocelyn Bailey", + "refsource": "SOMEBODY", + "url": "https://www.rodriguez-martin.com/" + }, + { + "name": "http://www.washington.org/category/author.html", + "refsource": "MISC", + "url": "http://www.washington.org/category/author.html" + }, + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + }, + { + "name": "April Brandt", + "refsource": "SONG", + "url": "https://www.logan.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2000-0004", + "assignerShortName": "window_1", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-08-07T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Matthews Inc", - "versions": [ - { - "version": "life, discussion" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Yourself writer group movie toward. White music building place successful speak behind." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "04dbbca8-0340-44e0-bb68-c400480880e0" - }, - "references": [ - { - "name": "Jocelyn Bailey", - "refsource": "SOMEBODY", - "url": "https://www.rodriguez-martin.com/" - }, - { - "name": "http://www.washington.org/category/author.html", - "refsource": "MISC", - "url": "http://www.washington.org/category/author.html" - }, - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - }, - { - "name": "April Brandt", - "refsource": "SONG", - "url": "https://www.logan.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2000-0004", - "assignerShortName": "window_1", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2020-09-30T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2000-0005", + "assignerShortName": "window_1", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-09-30T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2000-0005", - "assignerShortName": "window_1", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2019-11-15T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Parks Group", + "versions": [ + { + "version": "weight, paper, church, production, personal, community, first" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Military program shake leave. You region we interesting impact more name investment." - } + { + "lang": "eng", + "value": "Happen manage over Mrs American information. Draw letter team body south air answer." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "017a8e7e-71e4-47ce-82ea-c37fc57e64eb" + }, + "references": [ + { + "name": "Charles Hooper", + "refsource": "GAS", + "url": "https://www.harper.com/" + }, + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Megan Morales", + "refsource": "GAS", + "url": "http://www.wright-white.com/posts/explore/tag/login/" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "Matthew Vargas", + "refsource": "INCREASE", + "url": "https://rice.com/" + }, + { + "name": "Sarah Jennings", + "refsource": "AGO", + "url": "https://powell.biz/author.htm" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2000-0008", + "assignerShortName": "window_1", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-11-15T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Parks Group", - "versions": [ - { - "version": "weight, paper, church, production, personal, community, first" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Happen manage over Mrs American information. Draw letter team body south air answer." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "017a8e7e-71e4-47ce-82ea-c37fc57e64eb" - }, - "references": [ - { - "name": "Charles Hooper", - "refsource": "GAS", - "url": "https://www.harper.com/" - }, - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Megan Morales", - "refsource": "GAS", - "url": "http://www.wright-white.com/posts/explore/tag/login/" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "Matthew Vargas", - "refsource": "INCREASE", - "url": "https://rice.com/" - }, - { - "name": "Sarah Jennings", - "refsource": "AGO", - "url": "https://powell.biz/author.htm" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2000-0008", - "assignerShortName": "window_1", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2013-03-30T00:00:00.000000Z", + "modified": "2021-05-11 15:06:32.643207+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2000-0010", + "assignerShortName": "church_2", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-03-30T00:00:00.000000Z", - "modified": "2021-05-11 15:06:32.643207+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2000-0010", - "assignerShortName": "church_2", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2016-11-19T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2001-0001", + "assignerShortName": "church_2", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } + }, + { + "time": { + "created": "2015-01-02T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Oneal-Graham", + "versions": [ + { + "version": "happen, type, air, store, small, tonight, first" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Not Republican imagine admit traditional amount. Fight crime may record teach. Amount door bit himself about night control." - } + { + "lang": "eng", + "value": "After wall record address. Serve employee responsibility age." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "Kevin Dickerson", + "refsource": "SONG", + "url": "https://www.mora.com/posts/faq/" + }, + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2001-0002", + "assignerShortName": "church_2", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-11-19T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2001-0001", - "assignerShortName": "church_2", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2012-11-04T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "White PLC", + "versions": [ + { + "version": "leave, environmental, size, to, coach, which, red, small, must" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Begin understand shoulder fact. Commercial father they wish must detail. And lay method protect improve. Trouble create country." - } + { + "lang": "eng", + "value": "Religious about quickly. Write no pressure boy size stock arrive. Listen like gas later five short because. System power forget anything." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Pre-emptive object-oriented conglomeration", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "12949f75-9f80-422c-a11e-ddd03dda4d6c" + }, + "references": [ + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Michelle Williams", + "refsource": "SONG", + "url": "https://www.harris-rogers.org/category.html" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Jocelyn Bailey", + "refsource": "SOMEBODY", + "url": "https://www.rodriguez-martin.com/" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2001-0004", + "assignerShortName": "church_2", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-01-02T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Oneal-Graham", - "versions": [ - { - "version": "happen, type, air, store, small, tonight, first" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "After wall record address. Serve employee responsibility age." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "Kevin Dickerson", - "refsource": "SONG", - "url": "https://www.mora.com/posts/faq/" - }, - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2001-0002", - "assignerShortName": "church_2", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2015-06-16T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2001-0005", + "assignerShortName": "church_2", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-11-04T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "White PLC", - "versions": [ - { - "version": "leave, environmental, size, to, coach, which, red, small, must" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Religious about quickly. Write no pressure boy size stock arrive. Listen like gas later five short because. System power forget anything." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Pre-emptive object-oriented conglomeration", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "12949f75-9f80-422c-a11e-ddd03dda4d6c" - }, - "references": [ - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Michelle Williams", - "refsource": "SONG", - "url": "https://www.harris-rogers.org/category.html" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Jocelyn Bailey", - "refsource": "SOMEBODY", - "url": "https://www.rodriguez-martin.com/" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2001-0004", - "assignerShortName": "church_2", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2014-02-26T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2001-0009", + "assignerShortName": "officer_3", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-06-16T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2001-0005", - "assignerShortName": "church_2", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Security strategy industry poor ask know commercial. Professional situation small serve clearly part run." - } - ] - } + "time": { + "created": "2013-03-03T00:00:00.000000Z", + "modified": "2021-05-11 15:06:34.757891+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2001-0010", + "assignerShortName": "officer_3", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-02-26T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2001-0009", - "assignerShortName": "officer_3", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2020-10-18T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Adams Inc", + "versions": [ + { + "version": "gun, improve, response, enter, thought, win, wish, college, number" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Full land management indicate individual key. Begin better interest identify discussion. Under hospital officer series our." - } + { + "lang": "eng", + "value": "Stand I however series without baby without. Want every would near." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "12949f75-9f80-422c-a11e-ddd03dda4d6c" + }, + "references": [ + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "Michelle Williams", + "refsource": "SONG", + "url": "https://www.harris-rogers.org/category.html" + }, + { + "name": "Kevin Dickerson", + "refsource": "SONG", + "url": "https://www.mora.com/posts/faq/" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "http://www.washington.org/category/author.html", + "refsource": "MISC", + "url": "http://www.washington.org/category/author.html" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + }, + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + }, + { + "name": "Sarah Jennings", + "refsource": "AGO", + "url": "https://powell.biz/author.htm" + }, + { + "name": "https://myers-scott.com/", + "refsource": "MISC", + "url": "https://myers-scott.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2002-0003", + "assignerShortName": "officer_3", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-03-03T00:00:00.000000Z", - "modified": "2021-05-11 15:06:34.757891+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2001-0010", - "assignerShortName": "officer_3", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2016-09-28T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Walker-Johnson", + "versions": [ + { + "version": "ever" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Mention happen even adult school know. Affect exactly particular owner class door evidence. Particularly artist to response imagine table." - } + { + "lang": "eng", + "value": "However spring that. Nor box five quality represent." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "8662b107-ba63-474d-905b-b451dc0bcef2" + }, + "references": [ + { + "name": "Charles Hooper", + "refsource": "GAS", + "url": "https://www.harper.com/" + }, + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Michelle Williams", + "refsource": "SONG", + "url": "https://www.harris-rogers.org/category.html" + }, + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Lisa Garrison DVM", + "refsource": "DURING", + "url": "http://www.newman-smith.com/about/" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "Dustin Wells", + "refsource": "AGO", + "url": "https://www.davis.org/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Joshua Garrett", + "refsource": "HEALTH", + "url": "http://www.hodges.com/app/list/faq/" + } ] - } - }, - { - "time": { - "created": "2020-10-18T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Adams Inc", - "versions": [ - { - "version": "gun, improve, response, enter, thought, win, wish, college, number" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Stand I however series without baby without. Want every would near." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "12949f75-9f80-422c-a11e-ddd03dda4d6c" - }, - "references": [ - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "Michelle Williams", - "refsource": "SONG", - "url": "https://www.harris-rogers.org/category.html" - }, - { - "name": "Kevin Dickerson", - "refsource": "SONG", - "url": "https://www.mora.com/posts/faq/" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "http://www.washington.org/category/author.html", - "refsource": "MISC", - "url": "http://www.washington.org/category/author.html" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - }, - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - }, - { - "name": "Sarah Jennings", - "refsource": "AGO", - "url": "https://powell.biz/author.htm" - }, - { - "name": "https://myers-scott.com/", - "refsource": "MISC", - "url": "https://myers-scott.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2002-0003", - "assignerShortName": "officer_3", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + } + }, + "cveMetadata": { + "cveId": "CVE-2002-0006", + "assignerShortName": "officer_3", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-09-28T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Walker-Johnson", - "versions": [ - { - "version": "ever" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "However spring that. Nor box five quality represent." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "8662b107-ba63-474d-905b-b451dc0bcef2" - }, - "references": [ - { - "name": "Charles Hooper", - "refsource": "GAS", - "url": "https://www.harper.com/" - }, - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Michelle Williams", - "refsource": "SONG", - "url": "https://www.harris-rogers.org/category.html" - }, - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Lisa Garrison DVM", - "refsource": "DURING", - "url": "http://www.newman-smith.com/about/" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "Dustin Wells", - "refsource": "AGO", - "url": "https://www.davis.org/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Joshua Garrett", - "refsource": "HEALTH", - "url": "http://www.hodges.com/app/list/faq/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2002-0006", - "assignerShortName": "officer_3", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2017-10-25T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2002-0007", + "assignerShortName": "officer_3", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-10-25T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2002-0007", - "assignerShortName": "officer_3", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2013-05-28T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "n/a", + "versions": [ + { + "version": "n/a" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Trial will in light power finish. Or while loss media others woman break. Similar level nor." - } + { + "lang": "eng", + "value": "Answer executive animal believe price camera building. Tv production movie individual. Themselves save news like." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "9845b82e-47a9-4fe7-8908-68646f952267" + }, + "references": [ + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Tiffany Roberts", + "refsource": "LIGHT", + "url": "http://olson-aguirre.net/index.jsp" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "Kevin Dickerson", + "refsource": "SONG", + "url": "https://www.mora.com/posts/faq/" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + }, + { + "name": "Emily Strickland", + "refsource": "SOMEBODY", + "url": "http://www.smith-spears.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2002-0008", + "assignerShortName": "range_4", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-05-28T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "n/a", - "versions": [ - { - "version": "n/a" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Answer executive animal believe price camera building. Tv production movie individual. Themselves save news like." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "9845b82e-47a9-4fe7-8908-68646f952267" - }, - "references": [ - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Tiffany Roberts", - "refsource": "LIGHT", - "url": "http://olson-aguirre.net/index.jsp" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "Kevin Dickerson", - "refsource": "SONG", - "url": "https://www.mora.com/posts/faq/" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - }, - { - "name": "Emily Strickland", - "refsource": "SOMEBODY", - "url": "http://www.smith-spears.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2002-0008", - "assignerShortName": "range_4", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2018-10-02T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2002-0009", + "assignerShortName": "range_4", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2018-10-02T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2002-0009", - "assignerShortName": "range_4", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2017-01-21T00:00:00.000000Z", + "modified": "2021-05-11 15:06:37.104457+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2003-0002", + "assignerShortName": "range_4", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } + }, + { + "time": { + "created": "2019-11-04T00:00:00.000000Z", + "modified": "2021-05-11 15:06:38.676931+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2004-0001", + "assignerShortName": "range_4", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } + }, + { + "time": { + "created": "2017-05-24T00:00:00.000000Z", + "modified": "2021-05-11 15:06:38.974947+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Wagner-Raymond", + "versions": [ + { + "version": "debate, short" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Notice character process section education thing all. Act trip couple from admit always hand decision. Field mission I reflect ago fish." - } + { + "lang": "eng", + "value": "His everything similar director feeling relate else. Environmental win owner receive business less activity prove." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" + }, + "references": [ + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Charles Hooper", + "refsource": "GAS", + "url": "https://www.harper.com/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "John Watson", + "refsource": "DEGREE", + "url": "http://heath.com/terms.htm" + }, + { + "name": "Sarah Jennings", + "refsource": "AGO", + "url": "https://powell.biz/author.htm" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2004-0003", + "assignerShortName": "range_4", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-01-21T00:00:00.000000Z", - "modified": "2021-05-11 15:06:37.104457+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2003-0002", - "assignerShortName": "range_4", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2015-01-21T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Gonzalez-Brooks", + "versions": [ + { + "version": "gun, share, amount, simple, week, population, pattern, why, light" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Attention kitchen early own deal. Customer film drug add gun number without." - } + { + "lang": "eng", + "value": "Imagine explain business. Enjoy it ok food check. Let begin will rather guy." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "1992df84-4c1d-42d3-b285-ea48a691832e" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "Jocelyn Bailey", + "refsource": "SOMEBODY", + "url": "https://www.rodriguez-martin.com/" + }, + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + }, + { + "name": "Sarah Jennings", + "refsource": "AGO", + "url": "https://powell.biz/author.htm" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2004-0007", + "assignerShortName": "win_5", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-11-04T00:00:00.000000Z", - "modified": "2021-05-11 15:06:38.676931+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2004-0001", - "assignerShortName": "range_4", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2020-11-05T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2004-0009", + "assignerShortName": "win_5", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } + }, + { + "time": { + "created": "2012-11-17T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Holloway Group", + "versions": [ + { + "version": "against, special" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Child pressure yard over coach admit prove. Receive southern charge attorney mind research." - } + { + "lang": "eng", + "value": "Role think manage admit contain talk front. She set interview condition. Media ground hope voice responsibility raise." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + }, + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Matthew Vargas", + "refsource": "INCREASE", + "url": "https://rice.com/" + }, + { + "name": "John Watson", + "refsource": "DEGREE", + "url": "http://heath.com/terms.htm" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Antonio Lee", + "refsource": "AGO", + "url": "https://www.west-perez.com/" + }, + { + "name": "Emily Strickland", + "refsource": "SOMEBODY", + "url": "http://www.smith-spears.com/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2004-0010", + "assignerShortName": "win_5", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-05-24T00:00:00.000000Z", - "modified": "2021-05-11 15:06:38.974947+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Wagner-Raymond", - "versions": [ - { - "version": "debate, short" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "His everything similar director feeling relate else. Environmental win owner receive business less activity prove." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" - }, - "references": [ - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Charles Hooper", - "refsource": "GAS", - "url": "https://www.harper.com/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "John Watson", - "refsource": "DEGREE", - "url": "http://heath.com/terms.htm" - }, - { - "name": "Sarah Jennings", - "refsource": "AGO", - "url": "https://powell.biz/author.htm" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2004-0003", - "assignerShortName": "range_4", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2013-04-27T00:00:00.000000Z", + "modified": "2021-05-11 15:06:40.553262+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2005-0001", + "assignerShortName": "win_5", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-01-21T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Gonzalez-Brooks", - "versions": [ - { - "version": "gun, share, amount, simple, week, population, pattern, why, light" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Imagine explain business. Enjoy it ok food check. Let begin will rather guy." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "1992df84-4c1d-42d3-b285-ea48a691832e" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "Jocelyn Bailey", - "refsource": "SOMEBODY", - "url": "https://www.rodriguez-martin.com/" - }, - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - }, - { - "name": "Sarah Jennings", - "refsource": "AGO", - "url": "https://powell.biz/author.htm" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2004-0007", - "assignerShortName": "win_5", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2015-05-05T00:00:00.000000Z", + "modified": "2021-05-11 15:06:41.286467+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2005-0005", + "assignerShortName": "win_5", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-11-05T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2004-0009", - "assignerShortName": "win_5", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2021-01-14T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Mendoza-Hayes", + "versions": [ + { + "version": "yeah" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Simply whatever mind start." - } + { + "lang": "eng", + "value": "Mouth meeting decision personal. Well state ball. Seat tax true structure argue. Go short matter pick cover argue so from." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Pre-emptive object-oriented conglomeration", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "0d907a04-5023-4495-9951-36e46926694f" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Michelle Williams", + "refsource": "SONG", + "url": "https://www.harris-rogers.org/category.html" + }, + { + "name": "Matthew Vargas", + "refsource": "INCREASE", + "url": "https://rice.com/" + }, + { + "name": "Jocelyn Bailey", + "refsource": "SOMEBODY", + "url": "https://www.rodriguez-martin.com/" + }, + { + "name": "John Watson", + "refsource": "DEGREE", + "url": "http://heath.com/terms.htm" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + }, + { + "name": "April Brandt", + "refsource": "SONG", + "url": "https://www.logan.com/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + }, + { + "name": "Antonio Lee", + "refsource": "AGO", + "url": "https://www.west-perez.com/" + } ] - } - }, - { - "time": { - "created": "2012-11-17T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Holloway Group", - "versions": [ - { - "version": "against, special" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Role think manage admit contain talk front. She set interview condition. Media ground hope voice responsibility raise." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - }, - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Matthew Vargas", - "refsource": "INCREASE", - "url": "https://rice.com/" - }, - { - "name": "John Watson", - "refsource": "DEGREE", - "url": "http://heath.com/terms.htm" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Antonio Lee", - "refsource": "AGO", - "url": "https://www.west-perez.com/" - }, - { - "name": "Emily Strickland", - "refsource": "SOMEBODY", - "url": "http://www.smith-spears.com/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2004-0010", - "assignerShortName": "win_5", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + } + }, + "cveMetadata": { + "cveId": "CVE-2005-0009", + "assignerShortName": "activity_6", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-04-27T00:00:00.000000Z", - "modified": "2021-05-11 15:06:40.553262+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2005-0001", - "assignerShortName": "win_5", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2016-04-17T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Watson-Young", + "versions": [ + { + "version": "lot, traditional, current, different, create, other, run" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Investment artist interest economy. Study interest budget reality likely history." - } + { + "lang": "eng", + "value": "Natural size wait book change home deal." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Jennifer Stevens", + "refsource": "HEALTH", + "url": "http://carroll.com/" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + }, + { + "name": "https://myers-scott.com/", + "refsource": "MISC", + "url": "https://myers-scott.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2006-0005", + "assignerShortName": "activity_6", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-05-05T00:00:00.000000Z", - "modified": "2021-05-11 15:06:41.286467+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2005-0005", - "assignerShortName": "win_5", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2013-11-06T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Johnson, Love and Flores", + "versions": [ + { + "version": "there, return, accept, area, scene" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "But rich card. To address through individual." - } + { + "lang": "eng", + "value": "Hair customer bed point paper crime. No school eye age sell house change indeed." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" + }, + "references": [ + { + "name": "Tiffany Roberts", + "refsource": "LIGHT", + "url": "http://olson-aguirre.net/index.jsp" + }, + { + "name": "Kevin Dickerson", + "refsource": "SONG", + "url": "https://www.mora.com/posts/faq/" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "Katherine Carson", + "refsource": "SONG", + "url": "http://www.barker.com/faq.htm" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + }, + { + "name": "https://myers-scott.com/", + "refsource": "MISC", + "url": "https://myers-scott.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2006-0006", + "assignerShortName": "activity_6", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2021-01-14T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Mendoza-Hayes", - "versions": [ - { - "version": "yeah" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Mouth meeting decision personal. Well state ball. Seat tax true structure argue. Go short matter pick cover argue so from." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Pre-emptive object-oriented conglomeration", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "0d907a04-5023-4495-9951-36e46926694f" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Michelle Williams", - "refsource": "SONG", - "url": "https://www.harris-rogers.org/category.html" - }, - { - "name": "Matthew Vargas", - "refsource": "INCREASE", - "url": "https://rice.com/" - }, - { - "name": "Jocelyn Bailey", - "refsource": "SOMEBODY", - "url": "https://www.rodriguez-martin.com/" - }, - { - "name": "John Watson", - "refsource": "DEGREE", - "url": "http://heath.com/terms.htm" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - }, - { - "name": "April Brandt", - "refsource": "SONG", - "url": "https://www.logan.com/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - }, - { - "name": "Antonio Lee", - "refsource": "AGO", - "url": "https://www.west-perez.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2005-0009", - "assignerShortName": "activity_6", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-07-18T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Hughes, Murphy and Nichols", + "versions": [ + { + "version": "wide, right, coach, picture, wife, specific, tax" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Eight computer college reality. Time key friend street find culture. Like natural girl discussion be east short." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "54d3fc19-e3ea-4558-b4c2-3bfe68798f57" + }, + "references": [ + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Jennifer Stevens", + "refsource": "HEALTH", + "url": "http://carroll.com/" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "Megan Morales", + "refsource": "GAS", + "url": "http://www.wright-white.com/posts/explore/tag/login/" + }, + { + "name": "http://www.mclaughlin-leon.com/login.php", + "refsource": "MISC", + "url": "http://www.mclaughlin-leon.com/login.php" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2006-0008", + "assignerShortName": "activity_6", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-04-17T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Watson-Young", - "versions": [ - { - "version": "lot, traditional, current, different, create, other, run" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Natural size wait book change home deal." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Jennifer Stevens", - "refsource": "HEALTH", - "url": "http://carroll.com/" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - }, - { - "name": "https://myers-scott.com/", - "refsource": "MISC", - "url": "https://myers-scott.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2006-0005", - "assignerShortName": "activity_6", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2012-10-27T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Chambers Ltd", + "versions": [ + { + "version": "travel, sure, describe, government, risk, your" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Current building minute. Record them thus focus race. White college citizen area series something think me." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "831d02cd-f6f8-4f8c-ab52-af2c06ba8e46" + }, + "references": [ + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2006-0009", + "assignerShortName": "activity_6", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-11-06T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Johnson, Love and Flores", - "versions": [ - { - "version": "there, return, accept, area, scene" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Hair customer bed point paper crime. No school eye age sell house change indeed." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" - }, - "references": [ - { - "name": "Tiffany Roberts", - "refsource": "LIGHT", - "url": "http://olson-aguirre.net/index.jsp" - }, - { - "name": "Kevin Dickerson", - "refsource": "SONG", - "url": "https://www.mora.com/posts/faq/" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "Katherine Carson", - "refsource": "SONG", - "url": "http://www.barker.com/faq.htm" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - }, - { - "name": "https://myers-scott.com/", - "refsource": "MISC", - "url": "https://myers-scott.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2006-0006", - "assignerShortName": "activity_6", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-09-22T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Howard-Horton", + "versions": [ + { + "version": "drop, view, dark, none, sea, those, goal" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "House enter image none generation head whatever. Around politics writer project. Always two answer reduce. Upon bring why product president voice." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2006-0010", + "assignerShortName": "seem_7", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-07-18T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Hughes, Murphy and Nichols", - "versions": [ - { - "version": "wide, right, coach, picture, wife, specific, tax" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Eight computer college reality. Time key friend street find culture. Like natural girl discussion be east short." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "54d3fc19-e3ea-4558-b4c2-3bfe68798f57" - }, - "references": [ - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Jennifer Stevens", - "refsource": "HEALTH", - "url": "http://carroll.com/" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "Megan Morales", - "refsource": "GAS", - "url": "http://www.wright-white.com/posts/explore/tag/login/" - }, - { - "name": "http://www.mclaughlin-leon.com/login.php", - "refsource": "MISC", - "url": "http://www.mclaughlin-leon.com/login.php" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2006-0008", - "assignerShortName": "activity_6", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2017-08-20T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2007-0006", + "assignerShortName": "seem_7", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-10-27T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Chambers Ltd", - "versions": [ - { - "version": "travel, sure, describe, government, risk, your" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Current building minute. Record them thus focus race. White college citizen area series something think me." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "831d02cd-f6f8-4f8c-ab52-af2c06ba8e46" - }, - "references": [ - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2006-0009", - "assignerShortName": "activity_6", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2014-07-03T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Hawkins-Allen", + "versions": [ + { + "version": "piece, police, describe, trip, us, out" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Writer social million other student. Population never along. Company beyond hear blood new successful allow oil." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "8662b107-ba63-474d-905b-b451dc0bcef2" + }, + "references": [ + { + "name": "Katherine Carson", + "refsource": "SONG", + "url": "http://www.barker.com/faq.htm" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Dustin Wells", + "refsource": "AGO", + "url": "https://www.davis.org/" + }, + { + "name": "Antonio Lee", + "refsource": "AGO", + "url": "https://www.west-perez.com/" + }, + { + "name": "Joshua Garrett", + "refsource": "HEALTH", + "url": "http://www.hodges.com/app/list/faq/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2007-0009", + "assignerShortName": "seem_7", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-09-22T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Howard-Horton", - "versions": [ - { - "version": "drop, view, dark, none, sea, those, goal" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "House enter image none generation head whatever. Around politics writer project. Always two answer reduce. Upon bring why product president voice." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2006-0010", - "assignerShortName": "seem_7", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2012-02-07T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Michael-Harris", + "versions": [ + { + "version": "modern, cut, policy" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Daughter candidate even it include someone. Wonder page half try city. Someone east man safe." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "04dbbca8-0340-44e0-bb68-c400480880e0" + }, + "references": [ + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "Sarah Jennings", + "refsource": "AGO", + "url": "https://powell.biz/author.htm" + }, + { + "name": "Joshua Garrett", + "refsource": "HEALTH", + "url": "http://www.hodges.com/app/list/faq/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2008-0002", + "assignerShortName": "seem_7", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-08-20T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2007-0006", - "assignerShortName": "seem_7", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2014-02-18T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Smith, Leon and Adkins", + "versions": [ + { + "version": "contain, yourself" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Seek cold those soon could. Exactly Republican let religious Democrat." - } + { + "lang": "eng", + "value": "Look us now after." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "1992df84-4c1d-42d3-b285-ea48a691832e" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Charles Hooper", + "refsource": "GAS", + "url": "https://www.harper.com/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + }, + { + "name": "http://www.washington.org/category/author.html", + "refsource": "MISC", + "url": "http://www.washington.org/category/author.html" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2008-0003", + "assignerShortName": "seem_7", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-07-03T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Hawkins-Allen", - "versions": [ - { - "version": "piece, police, describe, trip, us, out" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Writer social million other student. Population never along. Company beyond hear blood new successful allow oil." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "8662b107-ba63-474d-905b-b451dc0bcef2" - }, - "references": [ - { - "name": "Katherine Carson", - "refsource": "SONG", - "url": "http://www.barker.com/faq.htm" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Dustin Wells", - "refsource": "AGO", - "url": "https://www.davis.org/" - }, - { - "name": "Antonio Lee", - "refsource": "AGO", - "url": "https://www.west-perez.com/" - }, - { - "name": "Joshua Garrett", - "refsource": "HEALTH", - "url": "http://www.hodges.com/app/list/faq/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2007-0009", - "assignerShortName": "seem_7", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2015-08-07T00:00:00.000000Z", + "modified": "2021-05-11 15:06:46.571922+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2008-0004", + "assignerShortName": "cause_8", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-02-07T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Michael-Harris", - "versions": [ - { - "version": "modern, cut, policy" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Daughter candidate even it include someone. Wonder page half try city. Someone east man safe." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "04dbbca8-0340-44e0-bb68-c400480880e0" - }, - "references": [ - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "Sarah Jennings", - "refsource": "AGO", - "url": "https://powell.biz/author.htm" - }, - { - "name": "Joshua Garrett", - "refsource": "HEALTH", - "url": "http://www.hodges.com/app/list/faq/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2008-0002", - "assignerShortName": "seem_7", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2014-04-05T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Mercado, Sandoval and Garner", + "versions": [ + { + "version": "trade, white, truth, whether, per, over, treat, staff" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Determine direction collection huge member home public. Note thing few standard per." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Pre-emptive object-oriented conglomeration", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" + }, + "references": [ + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Jennifer Stevens", + "refsource": "HEALTH", + "url": "http://carroll.com/" + }, + { + "name": "Jocelyn Bailey", + "refsource": "SOMEBODY", + "url": "https://www.rodriguez-martin.com/" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2008-0008", + "assignerShortName": "cause_8", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-02-18T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Smith, Leon and Adkins", - "versions": [ - { - "version": "contain, yourself" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Look us now after." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "1992df84-4c1d-42d3-b285-ea48a691832e" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Charles Hooper", - "refsource": "GAS", - "url": "https://www.harper.com/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - }, - { - "name": "http://www.washington.org/category/author.html", - "refsource": "MISC", - "url": "http://www.washington.org/category/author.html" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2008-0003", - "assignerShortName": "seem_7", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2012-07-16T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2008-0009", + "assignerShortName": "cause_8", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-08-07T00:00:00.000000Z", - "modified": "2021-05-11 15:06:46.571922+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2008-0004", - "assignerShortName": "cause_8", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Decade among heart. Than poor nor right such." - } - ] - } + "time": { + "created": "2016-03-29T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2009-0001", + "assignerShortName": "cause_8", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-04-05T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Mercado, Sandoval and Garner", - "versions": [ - { - "version": "trade, white, truth, whether, per, over, treat, staff" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Determine direction collection huge member home public. Note thing few standard per." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Pre-emptive object-oriented conglomeration", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" - }, - "references": [ - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Jennifer Stevens", - "refsource": "HEALTH", - "url": "http://carroll.com/" - }, - { - "name": "Jocelyn Bailey", - "refsource": "SOMEBODY", - "url": "https://www.rodriguez-martin.com/" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2008-0008", - "assignerShortName": "cause_8", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2015-10-02T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2009-0002", + "assignerShortName": "cause_8", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-07-16T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2008-0009", - "assignerShortName": "cause_8", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2014-12-29T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Chavez, Green and Arnold", + "versions": [ + { + "version": "magazine, set, notice, surface, choose, too, remember, public" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Role sit certainly might design. Opportunity experience local think leader. Draw option really whose different marriage." - } + { + "lang": "eng", + "value": "Week energy star activity. Throw ok six price food office sister federal. Use others sound professor glass scientist." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" + }, + "references": [ + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "http://www.washington.org/category/author.html", + "refsource": "MISC", + "url": "http://www.washington.org/category/author.html" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2009-0004", + "assignerShortName": "admit_9", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-03-29T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2009-0001", - "assignerShortName": "cause_8", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Hotel to TV hundred why agree. Ask population defense trial. Body consider scene now garden long lay rate." - } - ] - } + "time": { + "created": "2014-08-05T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2009-0008", + "assignerShortName": "admit_9", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-10-02T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2009-0002", - "assignerShortName": "cause_8", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2013-12-02T00:00:00.000000Z", + "modified": "2021-05-11 15:06:49.001830+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Edwards, Cherry and Hernandez", + "versions": [ + { + "version": "people, effect, inside" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Hair stage cold certain across clearly parent computer. Individual PM friend special difference standard bag. Process individual see different matter." - } + { + "lang": "eng", + "value": "Strategy compare reflect fly development culture star hit. Executive ball attorney onto else." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "81dde97e-a452-4a23-8def-b62e0863acde" + }, + "references": [ + { + "name": "http://www.washington.org/category/author.html", + "refsource": "MISC", + "url": "http://www.washington.org/category/author.html" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2009-0010", + "assignerShortName": "admit_9", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-12-29T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Chavez, Green and Arnold", - "versions": [ - { - "version": "magazine, set, notice, surface, choose, too, remember, public" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Week energy star activity. Throw ok six price food office sister federal. Use others sound professor glass scientist." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "dcf2e6e2-55ed-43dc-b291-b63bb8c7103b" - }, - "references": [ - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "http://www.washington.org/category/author.html", - "refsource": "MISC", - "url": "http://www.washington.org/category/author.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2009-0004", - "assignerShortName": "admit_9", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-11-27T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2010-0003", + "assignerShortName": "admit_9", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-08-05T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2009-0008", - "assignerShortName": "admit_9", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Bill player decade factor. Gun outside enjoy world old." - } - ] - } + "time": { + "created": "2017-06-10T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2010-0005", + "assignerShortName": "admit_9", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-12-02T00:00:00.000000Z", - "modified": "2021-05-11 15:06:49.001830+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Edwards, Cherry and Hernandez", - "versions": [ - { - "version": "people, effect, inside" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Strategy compare reflect fly development culture star hit. Executive ball attorney onto else." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "81dde97e-a452-4a23-8def-b62e0863acde" - }, - "references": [ - { - "name": "http://www.washington.org/category/author.html", - "refsource": "MISC", - "url": "http://www.washington.org/category/author.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2009-0010", - "assignerShortName": "admit_9", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2012-01-16T00:00:00.000000Z", + "modified": "2021-05-11 15:06:50.021146+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2010-0006", + "assignerShortName": "beat_10", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-11-27T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2010-0003", - "assignerShortName": "admit_9", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Since pull picture what majority me." - } - ] - } + "time": { + "created": "2012-07-14T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2010-0008", + "assignerShortName": "beat_10", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-06-10T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2010-0005", - "assignerShortName": "admit_9", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Down live blood. Choose interesting summer shake citizen travel. Little too money himself response other race identify." - } - ] - } + "time": { + "created": "2012-10-01T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2011-0002", + "assignerShortName": "beat_10", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-01-16T00:00:00.000000Z", - "modified": "2021-05-11 15:06:50.021146+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2010-0006", - "assignerShortName": "beat_10", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2011-12-23T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Osborne-Richards", + "versions": [ + { + "version": "sea, represent, generation, fish" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Whatever style hear. Pattern Mrs eye industry country industry yet. Strategy give provide result anything factor line. Able discover performance reduce." - } + { + "lang": "eng", + "value": "Source want able wide other. Standard thought opportunity." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "12949f75-9f80-422c-a11e-ddd03dda4d6c" + }, + "references": [ + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2011-0004", + "assignerShortName": "beat_10", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-07-14T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2010-0008", - "assignerShortName": "beat_10", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2015-12-19T00:00:00.000000Z", + "modified": "2021-05-11 15:06:51.998184+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Smith-Price", + "versions": [ + { + "version": "anything, time, matter, detail, act, bank" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Drive activity may dinner half daughter student. Respond speak recent player gas." - } + { + "lang": "eng", + "value": "Want standard else final. Rule bank light suffer study raise moment show. Popular analysis worry point natural where view." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "1992df84-4c1d-42d3-b285-ea48a691832e" + }, + "references": [ + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + }, + { + "name": "Dustin Wells", + "refsource": "AGO", + "url": "https://www.davis.org/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "April Brandt", + "refsource": "SONG", + "url": "https://www.logan.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2011-0005", + "assignerShortName": "beat_10", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-10-01T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2011-0002", - "assignerShortName": "beat_10", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2020-05-10T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Torres, Harmon and Jones", + "versions": [ + { + "version": "call, land, sound, officer, necessary, value, and" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Hair apply clear. Good treatment whatever she. Human choose artist member." - } + { + "lang": "eng", + "value": "Audience share chair range program question ball. Major do little." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Pre-emptive object-oriented conglomeration", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "98b746bd-357f-483d-8cda-ed822fecf787" + }, + "references": [ + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Tiffany Roberts", + "refsource": "LIGHT", + "url": "http://olson-aguirre.net/index.jsp" + }, + { + "name": "Jennifer Stevens", + "refsource": "HEALTH", + "url": "http://carroll.com/" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + }, + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + } ] - } - }, - { - "time": { - "created": "2011-12-23T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Osborne-Richards", - "versions": [ - { - "version": "sea, represent, generation, fish" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Source want able wide other. Standard thought opportunity." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "12949f75-9f80-422c-a11e-ddd03dda4d6c" - }, - "references": [ - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2011-0004", - "assignerShortName": "beat_10", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + } + }, + "cveMetadata": { + "cveId": "CVE-2011-0006", + "assignerShortName": "tax_11", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-12-19T00:00:00.000000Z", - "modified": "2021-05-11 15:06:51.998184+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Smith-Price", - "versions": [ - { - "version": "anything, time, matter, detail, act, bank" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Want standard else final. Rule bank light suffer study raise moment show. Popular analysis worry point natural where view." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "1992df84-4c1d-42d3-b285-ea48a691832e" - }, - "references": [ - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - }, - { - "name": "Dustin Wells", - "refsource": "AGO", - "url": "https://www.davis.org/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "April Brandt", - "refsource": "SONG", - "url": "https://www.logan.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2011-0005", - "assignerShortName": "beat_10", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2020-10-12T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2011-0007", + "assignerShortName": "tax_11", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-05-10T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Torres, Harmon and Jones", - "versions": [ - { - "version": "call, land, sound, officer, necessary, value, and" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Audience share chair range program question ball. Major do little." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Pre-emptive object-oriented conglomeration", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "98b746bd-357f-483d-8cda-ed822fecf787" - }, - "references": [ - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Tiffany Roberts", - "refsource": "LIGHT", - "url": "http://olson-aguirre.net/index.jsp" - }, - { - "name": "Jennifer Stevens", - "refsource": "HEALTH", - "url": "http://carroll.com/" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - }, - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2011-0006", - "assignerShortName": "tax_11", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2019-04-07T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2011-0008", + "assignerShortName": "tax_11", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-10-12T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2011-0007", - "assignerShortName": "tax_11", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2013-11-24T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Nelson Inc", + "versions": [ + { + "version": "production, budget, source" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Involve give interest certainly however a enough." - } + { + "lang": "eng", + "value": "Bill will TV city. Free air important go thing lose." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "017a8e7e-71e4-47ce-82ea-c37fc57e64eb" + }, + "references": [ + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2011-0009", + "assignerShortName": "tax_11", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-04-07T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2011-0008", - "assignerShortName": "tax_11", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2021-04-11T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Johnson, Silva and Wilson", + "versions": [ + { + "version": "dark, blood" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Then career sell activity artist late authority gas. Dark more industry discuss early." - } + { + "lang": "eng", + "value": "Peace light sea behavior sort eye. Maintain during free necessary. Population particularly person hotel child sign relationship." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + }, + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "John Watson", + "refsource": "DEGREE", + "url": "http://heath.com/terms.htm" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + }, + { + "name": "Joshua Garrett", + "refsource": "HEALTH", + "url": "http://www.hodges.com/app/list/faq/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2012-0001", + "assignerShortName": "tax_11", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-11-24T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Nelson Inc", - "versions": [ - { - "version": "production, budget, source" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Bill will TV city. Free air important go thing lose." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "017a8e7e-71e4-47ce-82ea-c37fc57e64eb" - }, - "references": [ - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2011-0009", - "assignerShortName": "tax_11", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-01-12T00:00:00.000000Z", + "modified": "2021-05-11 15:06:53.402857+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2012-0002", + "assignerShortName": "face_12", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2021-04-11T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Johnson, Silva and Wilson", - "versions": [ - { - "version": "dark, blood" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Peace light sea behavior sort eye. Maintain during free necessary. Population particularly person hotel child sign relationship." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - }, - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "John Watson", - "refsource": "DEGREE", - "url": "http://heath.com/terms.htm" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - }, - { - "name": "Joshua Garrett", - "refsource": "HEALTH", - "url": "http://www.hodges.com/app/list/faq/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2012-0001", - "assignerShortName": "tax_11", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2013-05-17T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2012-0003", + "assignerShortName": "face_12", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-01-12T00:00:00.000000Z", - "modified": "2021-05-11 15:06:53.402857+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2012-0002", - "assignerShortName": "face_12", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2016-08-27T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "n/a", + "versions": [ + { + "version": "n/a" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Within letter away yeah suddenly meeting. Commercial last could his not food class experience. Performance soldier finally live research." - } + { + "lang": "eng", + "value": "Grow who time some firm." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "9845b82e-47a9-4fe7-8908-68646f952267" + }, + "references": [ + { + "name": "Megan Morales", + "refsource": "GAS", + "url": "http://www.wright-white.com/posts/explore/tag/login/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2012-0004", + "assignerShortName": "face_12", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-05-17T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2012-0003", - "assignerShortName": "face_12", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Decision recently size husband short study why. Happen everything black nature bit side fund. Way can condition prove star much. Fast staff language my peace later." - } - ] - } + "time": { + "created": "2019-02-11T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2012-0005", + "assignerShortName": "face_12", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-08-27T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "n/a", - "versions": [ - { - "version": "n/a" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Grow who time some firm." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "9845b82e-47a9-4fe7-8908-68646f952267" - }, - "references": [ - { - "name": "Megan Morales", - "refsource": "GAS", - "url": "http://www.wright-white.com/posts/explore/tag/login/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2012-0004", - "assignerShortName": "face_12", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2020-06-17T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Williams-Gomez", + "versions": [ + { + "version": "center, describe, which, against, two" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Send process impact lawyer art." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "12949f75-9f80-422c-a11e-ddd03dda4d6c" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + }, + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Tiffany Roberts", + "refsource": "LIGHT", + "url": "http://olson-aguirre.net/index.jsp" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "http://www.mclaughlin-leon.com/login.php", + "refsource": "MISC", + "url": "http://www.mclaughlin-leon.com/login.php" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "https://myers-scott.com/", + "refsource": "MISC", + "url": "https://myers-scott.com/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2012-0007", + "assignerShortName": "face_12", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-02-11T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2012-0005", - "assignerShortName": "face_12", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2013-04-06T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Sims, Silva and Strong", + "versions": [ + { + "version": "reality" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Picture personal of property follow. Campaign require box develop everything." - } + { + "lang": "eng", + "value": "Might maybe hand former more method news. Toward fill street soldier professional store against." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" + }, + "references": [ + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Michelle Williams", + "refsource": "SONG", + "url": "https://www.harris-rogers.org/category.html" + }, + { + "name": "Megan Morales", + "refsource": "GAS", + "url": "http://www.wright-white.com/posts/explore/tag/login/" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + }, + { + "name": "Lisa Garrison DVM", + "refsource": "DURING", + "url": "http://www.newman-smith.com/about/" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2012-0009", + "assignerShortName": "deal_13", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-06-17T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Williams-Gomez", - "versions": [ - { - "version": "center, describe, which, against, two" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Send process impact lawyer art." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "12949f75-9f80-422c-a11e-ddd03dda4d6c" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - }, - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Tiffany Roberts", - "refsource": "LIGHT", - "url": "http://olson-aguirre.net/index.jsp" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "http://www.mclaughlin-leon.com/login.php", - "refsource": "MISC", - "url": "http://www.mclaughlin-leon.com/login.php" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "https://myers-scott.com/", - "refsource": "MISC", - "url": "https://myers-scott.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2012-0007", - "assignerShortName": "face_12", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-12-14T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2013-0001", + "assignerShortName": "deal_13", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-04-06T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Sims, Silva and Strong", - "versions": [ - { - "version": "reality" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Might maybe hand former more method news. Toward fill street soldier professional store against." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" - }, - "references": [ - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Michelle Williams", - "refsource": "SONG", - "url": "https://www.harris-rogers.org/category.html" - }, - { - "name": "Megan Morales", - "refsource": "GAS", - "url": "http://www.wright-white.com/posts/explore/tag/login/" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - }, - { - "name": "Lisa Garrison DVM", - "refsource": "DURING", - "url": "http://www.newman-smith.com/about/" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2012-0009", - "assignerShortName": "deal_13", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2019-08-16T00:00:00.000000Z", + "modified": "2021-05-11 15:06:54.921128+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Williams-Wilcox", + "versions": [ + { + "version": "bill, speech, everything, billion, morning, method, cost, can, mean" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Fill respond line letter defense stuff. Plan really hear. Have generation writer image age buy." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "04dbbca8-0340-44e0-bb68-c400480880e0" + }, + "references": [ + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Michelle Williams", + "refsource": "SONG", + "url": "https://www.harris-rogers.org/category.html" + }, + { + "name": "Kevin Dickerson", + "refsource": "SONG", + "url": "https://www.mora.com/posts/faq/" + }, + { + "name": "John Watson", + "refsource": "DEGREE", + "url": "http://heath.com/terms.htm" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2013-0002", + "assignerShortName": "deal_13", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-12-14T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2013-0001", - "assignerShortName": "deal_13", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2011-06-29T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Soto, Porter and Wood", + "versions": [ + { + "version": "particular, travel, doctor, avoid, necessary, main, system" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Way report consumer bar thing Mr. To carry address citizen until report toward." - } + { + "lang": "eng", + "value": "Value bed spring rock. Bag less try major social president." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" + }, + "references": [ + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2013-0003", + "assignerShortName": "deal_13", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-08-16T00:00:00.000000Z", - "modified": "2021-05-11 15:06:54.921128+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Williams-Wilcox", - "versions": [ - { - "version": "bill, speech, everything, billion, morning, method, cost, can, mean" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Fill respond line letter defense stuff. Plan really hear. Have generation writer image age buy." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "04dbbca8-0340-44e0-bb68-c400480880e0" - }, - "references": [ - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Michelle Williams", - "refsource": "SONG", - "url": "https://www.harris-rogers.org/category.html" - }, - { - "name": "Kevin Dickerson", - "refsource": "SONG", - "url": "https://www.mora.com/posts/faq/" - }, - { - "name": "John Watson", - "refsource": "DEGREE", - "url": "http://heath.com/terms.htm" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2013-0002", - "assignerShortName": "deal_13", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2015-06-07T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2013-0004", + "assignerShortName": "deal_13", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2011-06-29T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Soto, Porter and Wood", - "versions": [ - { - "version": "particular, travel, doctor, avoid, necessary, main, system" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Value bed spring rock. Bag less try major social president." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" - }, - "references": [ - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2013-0003", - "assignerShortName": "deal_13", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2020-07-30T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2013-0005", + "assignerShortName": "environmental_14", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-06-07T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2013-0004", - "assignerShortName": "deal_13", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2020-08-01T00:00:00.000000Z", + "modified": "2021-05-11 15:06:55.529061+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Barnett, Perkins and Gonzalez", + "versions": [ + { + "version": "officer, check" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Care Congress sell cause beautiful week. Reason far choice heart. Me senior soon walk." - } + { + "lang": "eng", + "value": "Guess with sell the. Later partner worker already article." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "81dde97e-a452-4a23-8def-b62e0863acde" + }, + "references": [ + { + "name": "Katherine Carson", + "refsource": "SONG", + "url": "http://www.barker.com/faq.htm" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2013-0006", + "assignerShortName": "environmental_14", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-07-30T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2013-0005", - "assignerShortName": "environmental_14", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2018-01-26T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2013-0010", + "assignerShortName": "environmental_14", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } + }, + { + "time": { + "created": "2019-11-03T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Taylor, Gonzalez and Smith", + "versions": [ + { + "version": "still" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Find investment into else security little. Structure spring road must forward. Positive about choice approach language medical term." - } + { + "lang": "eng", + "value": "Phone act thought even throw major figure phone. Produce board find eight friend write. Consider close guy admit become ok." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" + }, + "references": [ + { + "name": "Jennifer Stevens", + "refsource": "HEALTH", + "url": "http://carroll.com/" + }, + { + "name": "Lisa Garrison DVM", + "refsource": "DURING", + "url": "http://www.newman-smith.com/about/" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2014-0001", + "assignerShortName": "environmental_14", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-08-01T00:00:00.000000Z", - "modified": "2021-05-11 15:06:55.529061+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Barnett, Perkins and Gonzalez", - "versions": [ - { - "version": "officer, check" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Guess with sell the. Later partner worker already article." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "81dde97e-a452-4a23-8def-b62e0863acde" - }, - "references": [ - { - "name": "Katherine Carson", - "refsource": "SONG", - "url": "http://www.barker.com/faq.htm" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2013-0006", - "assignerShortName": "environmental_14", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2014-08-20T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2014-0002", + "assignerShortName": "environmental_14", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2018-01-26T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2013-0010", - "assignerShortName": "environmental_14", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2018-04-23T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Adams Inc", + "versions": [ + { + "version": "who, treat, financial, while, especially, machine" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Sell sing identify matter may policy evidence. Rate serve forget could under writer career animal. Room move trade and send side. Sound sure thing save deep security serve." - } + { + "lang": "eng", + "value": "Management to subject involve rich road. Never defense never themselves then Mrs field. Meeting believe play." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" + }, + "references": [ + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Matthew Vargas", + "refsource": "INCREASE", + "url": "https://rice.com/" + }, + { + "name": "Jocelyn Bailey", + "refsource": "SOMEBODY", + "url": "https://www.rodriguez-martin.com/" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2014-0003", + "assignerShortName": "evidence_15", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-11-03T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Taylor, Gonzalez and Smith", - "versions": [ - { - "version": "still" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Phone act thought even throw major figure phone. Produce board find eight friend write. Consider close guy admit become ok." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" - }, - "references": [ - { - "name": "Jennifer Stevens", - "refsource": "HEALTH", - "url": "http://carroll.com/" - }, - { - "name": "Lisa Garrison DVM", - "refsource": "DURING", - "url": "http://www.newman-smith.com/about/" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2014-0001", - "assignerShortName": "environmental_14", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2017-12-29T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Donaldson, Valdez and Shelton", + "versions": [ + { + "version": "choice, technology" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Anything industry establish assume hotel stock paper data. Security medical coach lead base during behind. Think health too strategy save lot." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "04dbbca8-0340-44e0-bb68-c400480880e0" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2014-0006", + "assignerShortName": "evidence_15", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-08-20T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2014-0002", - "assignerShortName": "environmental_14", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2020-12-15T00:00:00.000000Z", + "modified": "2021-05-11 15:06:57.564330+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2014-0007", + "assignerShortName": "evidence_15", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } + }, + { + "time": { + "created": "2017-02-02T00:00:00.000000Z", + "modified": "2021-05-11 15:06:58.006553+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Stuart PLC", + "versions": [ + { + "version": "away, wish, skill, space" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Myself maintain administration at energy until. Character ball air investment seat." - } + { + "lang": "eng", + "value": "Oil what process ok. Staff movie add wonder time its painting. Agent gas moment should." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "54d3fc19-e3ea-4558-b4c2-3bfe68798f57" + }, + "references": [ + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Antonio Lee", + "refsource": "AGO", + "url": "https://www.west-perez.com/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2014-0009", + "assignerShortName": "evidence_15", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2018-04-23T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Adams Inc", - "versions": [ - { - "version": "who, treat, financial, while, especially, machine" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Management to subject involve rich road. Never defense never themselves then Mrs field. Meeting believe play." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" - }, - "references": [ - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Matthew Vargas", - "refsource": "INCREASE", - "url": "https://rice.com/" - }, - { - "name": "Jocelyn Bailey", - "refsource": "SOMEBODY", - "url": "https://www.rodriguez-martin.com/" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2014-0003", - "assignerShortName": "evidence_15", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2018-07-13T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2014-0010", + "assignerShortName": "evidence_15", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-12-29T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Donaldson, Valdez and Shelton", - "versions": [ - { - "version": "choice, technology" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Anything industry establish assume hotel stock paper data. Security medical coach lead base during behind. Think health too strategy save lot." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "04dbbca8-0340-44e0-bb68-c400480880e0" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2014-0006", - "assignerShortName": "evidence_15", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2011-09-05T00:00:00.000000Z", + "modified": "2021-05-11 15:06:59.228583+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2015-0007", + "assignerShortName": "response_16", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-12-15T00:00:00.000000Z", - "modified": "2021-05-11 15:06:57.564330+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2014-0007", - "assignerShortName": "evidence_15", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2018-10-18T00:00:00.000000Z", + "modified": "2021-05-11 15:06:59.328746+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Ford, Smith and Rodriguez", + "versions": [ + { + "version": "Congress, sister, away, half, worker" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Why never worker mind material moment red. Benefit approach kid sign teach." - } + { + "lang": "eng", + "value": "Turn blue attorney see red evening. Huge glass race today toward challenge hard." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" + }, + "references": [ + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2015-0008", + "assignerShortName": "response_16", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-02-02T00:00:00.000000Z", - "modified": "2021-05-11 15:06:58.006553+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Stuart PLC", - "versions": [ - { - "version": "away, wish, skill, space" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Oil what process ok. Staff movie add wonder time its painting. Agent gas moment should." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "54d3fc19-e3ea-4558-b4c2-3bfe68798f57" - }, - "references": [ - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Antonio Lee", - "refsource": "AGO", - "url": "https://www.west-perez.com/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2014-0009", - "assignerShortName": "evidence_15", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2014-03-05T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2015-0009", + "assignerShortName": "response_16", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2018-07-13T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2014-0010", - "assignerShortName": "evidence_15", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Way face make risk many authority. Television it about say then bar short." - } - ] - } + "time": { + "created": "2013-03-16T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2015-0010", + "assignerShortName": "response_16", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2011-09-05T00:00:00.000000Z", - "modified": "2021-05-11 15:06:59.228583+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2015-0007", - "assignerShortName": "response_16", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "Blue road friend approach after general our step. Cause three ground activity once boy general do. Reality example their fish." - } - ] - } + "time": { + "created": "2014-05-27T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2016-0001", + "assignerShortName": "response_16", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2018-10-18T00:00:00.000000Z", - "modified": "2021-05-11 15:06:59.328746+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Ford, Smith and Rodriguez", - "versions": [ - { - "version": "Congress, sister, away, half, worker" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Turn blue attorney see red evening. Huge glass race today toward challenge hard." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" - }, - "references": [ - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2015-0008", - "assignerShortName": "response_16", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2020-09-11T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2016-0002", + "assignerShortName": "if_17", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-03-05T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2015-0009", - "assignerShortName": "response_16", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2012-08-25T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Espinoza-Glover", + "versions": [ + { + "version": "brother, teacher" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Measure simply seek when. Drive fire enough role pressure woman. Market off establish option remain." - } + { + "lang": "eng", + "value": "Modern important upon suffer. Prevent group become green manage." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "017a8e7e-71e4-47ce-82ea-c37fc57e64eb" + }, + "references": [ + { + "name": "Tiffany Roberts", + "refsource": "LIGHT", + "url": "http://olson-aguirre.net/index.jsp" + }, + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + }, + { + "name": "Joshua Garrett", + "refsource": "HEALTH", + "url": "http://www.hodges.com/app/list/faq/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2016-0005", + "assignerShortName": "if_17", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-03-16T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2015-0010", - "assignerShortName": "response_16", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2018-12-18T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Whitney and Sons", + "versions": [ + { + "version": "half, attention, imagine, speech, participant, oil" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Vote degree professional pick activity argue stock. Which bag theory boy have trial." - } + { + "lang": "eng", + "value": "The cell line eight help ago everyone. Act rate must rise during most. Describe last large student stock southern." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "0d907a04-5023-4495-9951-36e46926694f" + }, + "references": [ + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2016-0006", + "assignerShortName": "if_17", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-05-27T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2016-0001", - "assignerShortName": "response_16", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2021-02-22T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Castillo Ltd", + "versions": [ + { + "version": "seek, right" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Here next expert. Oil short none part save amount." - } + { + "lang": "eng", + "value": "Although stop return. Thing law organization color he lead." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "references": [ + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "John Watson", + "refsource": "DEGREE", + "url": "http://heath.com/terms.htm" + }, + { + "name": "http://www.washington.org/category/author.html", + "refsource": "MISC", + "url": "http://www.washington.org/category/author.html" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2016-0008", + "assignerShortName": "if_17", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-09-11T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2016-0002", - "assignerShortName": "if_17", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2020-02-09T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Hickman, Burgess and Hill", + "versions": [ + { + "version": "theory, realize, likely, meet, night, much, project" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Training power individual treat make shake. Determine last ok heavy heavy." - } + { + "lang": "eng", + "value": "Else own four capital. Personal market address thought." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Pre-emptive object-oriented conglomeration", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + }, + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "Joshua Garrett", + "refsource": "HEALTH", + "url": "http://www.hodges.com/app/list/faq/" + } ] - } - }, - { - "time": { - "created": "2012-08-25T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Espinoza-Glover", - "versions": [ - { - "version": "brother, teacher" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Modern important upon suffer. Prevent group become green manage." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "017a8e7e-71e4-47ce-82ea-c37fc57e64eb" - }, - "references": [ - { - "name": "Tiffany Roberts", - "refsource": "LIGHT", - "url": "http://olson-aguirre.net/index.jsp" - }, - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - }, - { - "name": "Joshua Garrett", - "refsource": "HEALTH", - "url": "http://www.hodges.com/app/list/faq/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2016-0005", - "assignerShortName": "if_17", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + } + }, + "cveMetadata": { + "cveId": "CVE-2016-0009", + "assignerShortName": "if_17", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2018-12-18T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Whitney and Sons", - "versions": [ - { - "version": "half, attention, imagine, speech, participant, oil" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "The cell line eight help ago everyone. Act rate must rise during most. Describe last large student stock southern." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "0d907a04-5023-4495-9951-36e46926694f" - }, - "references": [ - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2016-0006", - "assignerShortName": "if_17", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2011-07-14T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2017-0001", + "assignerShortName": "if_17", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2021-02-22T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Castillo Ltd", - "versions": [ - { - "version": "seek, right" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Although stop return. Thing law organization color he lead." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "f972b356-145d-4b2e-9a5c-b114d0982a3b" - }, - "references": [ - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "John Watson", - "refsource": "DEGREE", - "url": "http://heath.com/terms.htm" - }, - { - "name": "http://www.washington.org/category/author.html", - "refsource": "MISC", - "url": "http://www.washington.org/category/author.html" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2016-0008", - "assignerShortName": "if_17", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2013-09-01T00:00:00.000000Z", + "modified": "2021-05-11 15:07:01.868135+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Johnson LLC", + "versions": [ + { + "version": "yourself, just, reduce, big, science, after, lay, most" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Form just customer century owner student. Which factor state. Try everybody north offer suggest finally listen." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced needs-based parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Lisa Garrison DVM", + "refsource": "DURING", + "url": "http://www.newman-smith.com/about/" + }, + { + "name": "Dustin Wells", + "refsource": "AGO", + "url": "https://www.davis.org/" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + }, + { + "name": "Emily Strickland", + "refsource": "SOMEBODY", + "url": "http://www.smith-spears.com/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2017-0002", + "assignerShortName": "most_18", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2020-02-09T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Hickman, Burgess and Hill", - "versions": [ - { - "version": "theory, realize, likely, meet, night, much, project" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Else own four capital. Personal market address thought." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Pre-emptive object-oriented conglomeration", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - }, - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "Joshua Garrett", - "refsource": "HEALTH", - "url": "http://www.hodges.com/app/list/faq/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2016-0009", - "assignerShortName": "if_17", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2012-01-12T00:00:00.000000Z", + "modified": "2021-05-11 15:07:02.013219+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Wilson, Smith and Foley", + "versions": [ + { + "version": "trial, stock, he, network, lay, office, grow, PM" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Control century early discover. Third moment value without somebody off." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" + }, + "references": [ + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "Lisa Garrison DVM", + "refsource": "DURING", + "url": "http://www.newman-smith.com/about/" + }, + { + "name": "Crystal Baker", + "refsource": "INCREASE", + "url": "https://smith.com/privacy.htm" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2017-0003", + "assignerShortName": "most_18", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2011-07-14T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2017-0001", - "assignerShortName": "if_17", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2016-08-15T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Vaughan, Gonzalez and Richardson", + "versions": [ + { + "version": "work" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Test town enter worry. Fear provide threat parent. Magazine himself argue parent almost likely analysis." - } + { + "lang": "eng", + "value": "Company recent tend wife idea want. Out watch political fine second deep structure." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "04dbbca8-0340-44e0-bb68-c400480880e0" + }, + "references": [ + { + "name": "Danielle Roberts", + "refsource": "SPECIAL", + "url": "http://arnold-rollins.com/" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "http://www.mclaughlin-leon.com/login.php", + "refsource": "MISC", + "url": "http://www.mclaughlin-leon.com/login.php" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "John Watson", + "refsource": "DEGREE", + "url": "http://heath.com/terms.htm" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + }, + { + "name": "Joseph Griffin", + "refsource": "GAS", + "url": "https://brock-nguyen.org/category.html" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2017-0004", + "assignerShortName": "most_18", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-09-01T00:00:00.000000Z", - "modified": "2021-05-11 15:07:01.868135+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Johnson LLC", - "versions": [ - { - "version": "yourself, just, reduce, big, science, after, lay, most" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Form just customer century owner student. Which factor state. Try everybody north offer suggest finally listen." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced needs-based parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Lisa Garrison DVM", - "refsource": "DURING", - "url": "http://www.newman-smith.com/about/" - }, - { - "name": "Dustin Wells", - "refsource": "AGO", - "url": "https://www.davis.org/" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - }, - { - "name": "Emily Strickland", - "refsource": "SOMEBODY", - "url": "http://www.smith-spears.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2017-0002", - "assignerShortName": "most_18", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2014-01-13T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Miller Ltd", + "versions": [ + { + "version": "sport, officer, theory, either, early, own, old" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "As outside necessary ok finally system. Anything establish because raise civil past rich. Attorney newspaper sure alone too all according prepare." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "f0d54ab9-fa90-4ed8-b023-d6a01acb2267" + }, + "references": [ + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + }, + { + "name": "Emily Strickland", + "refsource": "SOMEBODY", + "url": "http://www.smith-spears.com/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2017-0009", + "assignerShortName": "most_18", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2012-01-12T00:00:00.000000Z", - "modified": "2021-05-11 15:07:02.013219+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Wilson, Smith and Foley", - "versions": [ - { - "version": "trial, stock, he, network, lay, office, grow, PM" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Control century early discover. Third moment value without somebody off." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "334ff4f5-eac6-4605-98d0-9270d7be6fdd" - }, - "references": [ - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "Lisa Garrison DVM", - "refsource": "DURING", - "url": "http://www.newman-smith.com/about/" - }, - { - "name": "Crystal Baker", - "refsource": "INCREASE", - "url": "https://smith.com/privacy.htm" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2017-0003", - "assignerShortName": "most_18", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-04-30T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Snyder, Pierce and Mcknight", + "versions": [ + { + "version": "around, teach, believe, head" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Join same seven organization evidence about. Policy space build head my method last tax." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "1992df84-4c1d-42d3-b285-ea48a691832e" + }, + "references": [ + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Tiffany Roberts", + "refsource": "LIGHT", + "url": "http://olson-aguirre.net/index.jsp" + }, + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + }, + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2017-0010", + "assignerShortName": "most_18", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-08-15T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Vaughan, Gonzalez and Richardson", - "versions": [ - { - "version": "work" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Company recent tend wife idea want. Out watch political fine second deep structure." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "04dbbca8-0340-44e0-bb68-c400480880e0" - }, - "references": [ - { - "name": "Danielle Roberts", - "refsource": "SPECIAL", - "url": "http://arnold-rollins.com/" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "http://www.mclaughlin-leon.com/login.php", - "refsource": "MISC", - "url": "http://www.mclaughlin-leon.com/login.php" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "John Watson", - "refsource": "DEGREE", - "url": "http://heath.com/terms.htm" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - }, - { - "name": "Joseph Griffin", - "refsource": "GAS", - "url": "https://brock-nguyen.org/category.html" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2017-0004", - "assignerShortName": "most_18", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2019-12-29T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Rios, Morris and Bird", + "versions": [ + { + "version": "thank, animal, chair, light, back, account, on, security" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Against who center. Become contain speech window enjoy trouble summer. Congress stage itself option month responsibility." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Pre-emptive object-oriented conglomeration", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "references": [ + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "Michelle Williams", + "refsource": "SONG", + "url": "https://www.harris-rogers.org/category.html" + }, + { + "name": "Megan Morales", + "refsource": "GAS", + "url": "http://www.wright-white.com/posts/explore/tag/login/" + }, + { + "name": "http://www.mclaughlin-leon.com/login.php", + "refsource": "MISC", + "url": "http://www.mclaughlin-leon.com/login.php" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "Emily Strickland", + "refsource": "SOMEBODY", + "url": "http://www.smith-spears.com/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + }, + { + "name": "https://myers-scott.com/", + "refsource": "MISC", + "url": "https://myers-scott.com/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2018-0001", + "assignerShortName": "interesting_19", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-01-13T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Miller Ltd", - "versions": [ - { - "version": "sport, officer, theory, either, early, own, old" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "As outside necessary ok finally system. Anything establish because raise civil past rich. Attorney newspaper sure alone too all according prepare." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "f0d54ab9-fa90-4ed8-b023-d6a01acb2267" - }, - "references": [ - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - }, - { - "name": "Emily Strickland", - "refsource": "SOMEBODY", - "url": "http://www.smith-spears.com/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2017-0009", - "assignerShortName": "most_18", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2015-08-03T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2018-0002", + "assignerShortName": "interesting_19", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-04-30T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Snyder, Pierce and Mcknight", - "versions": [ - { - "version": "around, teach, believe, head" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Join same seven organization evidence about. Policy space build head my method last tax." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "1992df84-4c1d-42d3-b285-ea48a691832e" - }, - "references": [ - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Tiffany Roberts", - "refsource": "LIGHT", - "url": "http://olson-aguirre.net/index.jsp" - }, - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - }, - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2017-0010", - "assignerShortName": "most_18", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-01-09T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2018-0004", + "assignerShortName": "interesting_19", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-12-29T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Rios, Morris and Bird", - "versions": [ - { - "version": "thank, animal, chair, light, back, account, on, security" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Against who center. Become contain speech window enjoy trouble summer. Congress stage itself option month responsibility." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Pre-emptive object-oriented conglomeration", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "f972b356-145d-4b2e-9a5c-b114d0982a3b" - }, - "references": [ - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "Michelle Williams", - "refsource": "SONG", - "url": "https://www.harris-rogers.org/category.html" - }, - { - "name": "Megan Morales", - "refsource": "GAS", - "url": "http://www.wright-white.com/posts/explore/tag/login/" - }, - { - "name": "http://www.mclaughlin-leon.com/login.php", - "refsource": "MISC", - "url": "http://www.mclaughlin-leon.com/login.php" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "Emily Strickland", - "refsource": "SOMEBODY", - "url": "http://www.smith-spears.com/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - }, - { - "name": "https://myers-scott.com/", - "refsource": "MISC", - "url": "https://myers-scott.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2018-0001", - "assignerShortName": "interesting_19", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2021-03-17T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2018-0007", + "assignerShortName": "interesting_19", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-08-03T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2018-0002", - "assignerShortName": "interesting_19", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2015-01-28T00:00:00.000000Z", + "modified": "2021-05-11 15:07:04.870588+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Chaney PLC", + "versions": [ + { + "version": "thought, role" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Even beautiful behavior of off. Network respond animal stay yard government." - } + { + "lang": "eng", + "value": "Free stuff teacher more conference kind article. Student push full most image day whom. Game start social begin high." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Pre-emptive object-oriented conglomeration", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "12949f75-9f80-422c-a11e-ddd03dda4d6c" + }, + "references": [ + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Justin Archer", + "refsource": "SOMEBODY", + "url": "https://adkins.com/blog/blog/wp-content/login.html" + }, + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + }, + { + "name": "Megan Morales", + "refsource": "GAS", + "url": "http://www.wright-white.com/posts/explore/tag/login/" + }, + { + "name": "Alex Patterson", + "refsource": "DURING", + "url": "http://www.rose-goodwin.com/main/explore/tag/home/" + }, + { + "name": "http://www.mclaughlin-leon.com/login.php", + "refsource": "MISC", + "url": "http://www.mclaughlin-leon.com/login.php" + }, + { + "name": "Lisa Garrison DVM", + "refsource": "DURING", + "url": "http://www.newman-smith.com/about/" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2018-0009", + "assignerShortName": "interesting_19", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-01-09T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2018-0004", - "assignerShortName": "interesting_19", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2012-02-25T00:00:00.000000Z", + "modified": "2021-05-11 15:07:05.313845+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Nelson Group", + "versions": [ + { + "version": "range, although, trouble, system, almost, onto, trade, rate" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Baby including control study skin amount once feel. Hope phone team seat." - } + { + "lang": "eng", + "value": "Despite friend popular collection recently attention. Mind method likely eat. Office act matter if trade movie respond exist." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Joshua Green", + "refsource": "INCREASE", + "url": "https://www.stevens.net/" + }, + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "Tiffany Roberts", + "refsource": "LIGHT", + "url": "http://olson-aguirre.net/index.jsp" + }, + { + "name": "Shelly Kane", + "refsource": "SOMEBODY", + "url": "https://middleton.com/tag/category.html" + }, + { + "name": "Becky Nelson", + "refsource": "AGO", + "url": "https://www.summers.biz/search/categories/list/home.html" + }, + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + }, + { + "name": "https://kennedy.com/terms/", + "refsource": "MISC", + "url": "https://kennedy.com/terms/" + }, + { + "name": "Dustin Wells", + "refsource": "AGO", + "url": "https://www.davis.org/" + }, + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2019-0002", + "assignerShortName": "sister_20", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2021-03-17T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2018-0007", - "assignerShortName": "interesting_19", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2015-04-01T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Mcclain-Nichols", + "versions": [ + { + "version": "PM, image" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Finally season sport popular feeling represent. Language treat with nearly. Free miss soon she money maintain brother." - } + { + "lang": "eng", + "value": "Heart situation music section important firm process. Land subject section turn. Matter her term expect. Born manager town tree eight." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" + }, + "references": [ + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + }, + { + "name": "Jennifer Stevens", + "refsource": "HEALTH", + "url": "http://carroll.com/" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "Matthew Vargas", + "refsource": "INCREASE", + "url": "https://rice.com/" + }, + { + "name": "http://www.mclaughlin-leon.com/login.php", + "refsource": "MISC", + "url": "http://www.mclaughlin-leon.com/login.php" + } ] - } - }, - { - "time": { - "created": "2015-01-28T00:00:00.000000Z", - "modified": "2021-05-11 15:07:04.870588+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Chaney PLC", - "versions": [ - { - "version": "thought, role" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Free stuff teacher more conference kind article. Student push full most image day whom. Game start social begin high." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Pre-emptive object-oriented conglomeration", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "12949f75-9f80-422c-a11e-ddd03dda4d6c" - }, - "references": [ - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Justin Archer", - "refsource": "SOMEBODY", - "url": "https://adkins.com/blog/blog/wp-content/login.html" - }, - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - }, - { - "name": "Megan Morales", - "refsource": "GAS", - "url": "http://www.wright-white.com/posts/explore/tag/login/" - }, - { - "name": "Alex Patterson", - "refsource": "DURING", - "url": "http://www.rose-goodwin.com/main/explore/tag/home/" - }, - { - "name": "http://www.mclaughlin-leon.com/login.php", - "refsource": "MISC", - "url": "http://www.mclaughlin-leon.com/login.php" - }, - { - "name": "Lisa Garrison DVM", - "refsource": "DURING", - "url": "http://www.newman-smith.com/about/" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2018-0009", - "assignerShortName": "interesting_19", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } - }, - { - "time": { - "created": "2012-02-25T00:00:00.000000Z", - "modified": "2021-05-11 15:07:05.313845+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Nelson Group", - "versions": [ - { - "version": "range, although, trouble, system, almost, onto, trade, rate" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Despite friend popular collection recently attention. Mind method likely eat. Office act matter if trade movie respond exist." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "f972b356-145d-4b2e-9a5c-b114d0982a3b" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Joshua Green", - "refsource": "INCREASE", - "url": "https://www.stevens.net/" - }, - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "Tiffany Roberts", - "refsource": "LIGHT", - "url": "http://olson-aguirre.net/index.jsp" - }, - { - "name": "Shelly Kane", - "refsource": "SOMEBODY", - "url": "https://middleton.com/tag/category.html" - }, - { - "name": "Becky Nelson", - "refsource": "AGO", - "url": "https://www.summers.biz/search/categories/list/home.html" - }, - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - }, - { - "name": "https://kennedy.com/terms/", - "refsource": "MISC", - "url": "https://kennedy.com/terms/" - }, - { - "name": "Dustin Wells", - "refsource": "AGO", - "url": "https://www.davis.org/" - }, - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2019-0002", - "assignerShortName": "sister_20", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + } + }, + "cveMetadata": { + "cveId": "CVE-2019-0003", + "assignerShortName": "sister_20", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-04-01T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Mcclain-Nichols", - "versions": [ - { - "version": "PM, image" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Heart situation music section important firm process. Land subject section turn. Matter her term expect. Born manager town tree eight." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" - }, - "references": [ - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - }, - { - "name": "Jennifer Stevens", - "refsource": "HEALTH", - "url": "http://carroll.com/" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "Matthew Vargas", - "refsource": "INCREASE", - "url": "https://rice.com/" - }, - { - "name": "http://www.mclaughlin-leon.com/login.php", - "refsource": "MISC", - "url": "http://www.mclaughlin-leon.com/login.php" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2019-0003", - "assignerShortName": "sister_20", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2011-06-25T00:00:00.000000Z", + "modified": "2021-05-11 15:07:06.205427+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Clark and Sons", + "versions": [ + { + "version": "manage, government, relationship, contain, sell, state, expert, else" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Talk or life identify. Indeed activity gun must she realize guess." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "n/a", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "references": [ + { + "name": "Dr. Heidi Harris", + "refsource": "SONG", + "url": "http://www.mora.com/home/" + }, + { + "name": "Susan Coleman", + "refsource": "INCREASE", + "url": "http://www.harmon.com/" + }, + { + "name": "Jocelyn Bailey", + "refsource": "SOMEBODY", + "url": "https://www.rodriguez-martin.com/" + }, + { + "name": "Jessica Griffin", + "refsource": "DURING", + "url": "http://www.bush.biz/tag/explore/search/" + }, + { + "name": "April Brandt", + "refsource": "SONG", + "url": "https://www.logan.com/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + }, + { + "name": "Sarah Jennings", + "refsource": "AGO", + "url": "https://powell.biz/author.htm" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2019-0007", + "assignerShortName": "sister_20", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2011-06-25T00:00:00.000000Z", - "modified": "2021-05-11 15:07:06.205427+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Clark and Sons", - "versions": [ - { - "version": "manage, government, relationship, contain, sell, state, expert, else" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Talk or life identify. Indeed activity gun must she realize guess." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "n/a", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "f972b356-145d-4b2e-9a5c-b114d0982a3b" - }, - "references": [ - { - "name": "Dr. Heidi Harris", - "refsource": "SONG", - "url": "http://www.mora.com/home/" - }, - { - "name": "Susan Coleman", - "refsource": "INCREASE", - "url": "http://www.harmon.com/" - }, - { - "name": "Jocelyn Bailey", - "refsource": "SOMEBODY", - "url": "https://www.rodriguez-martin.com/" - }, - { - "name": "Jessica Griffin", - "refsource": "DURING", - "url": "http://www.bush.biz/tag/explore/search/" - }, - { - "name": "April Brandt", - "refsource": "SONG", - "url": "https://www.logan.com/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - }, - { - "name": "Sarah Jennings", - "refsource": "AGO", - "url": "https://powell.biz/author.htm" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2019-0007", - "assignerShortName": "sister_20", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2015-12-10T00:00:00.000000Z", + "modified": "2021-05-11 15:07:06.659530+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2019-0010", + "assignerShortName": "sister_20", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-12-10T00:00:00.000000Z", - "modified": "2021-05-11 15:07:06.659530+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2019-0010", - "assignerShortName": "sister_20", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2015-11-30T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Jones, Proctor and Bass", + "versions": [ + { + "version": "war, floor, style" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Find beat live only. Thus mention resource him service view history." - } + { + "lang": "eng", + "value": "Fund former four. Off Republican practice letter right over win." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" + }, + "references": [ + { + "name": "https://small.biz/", + "refsource": "CONFIRM", + "url": "https://small.biz/" + }, + { + "name": "Robert Carter", + "refsource": "DURING", + "url": "http://www.griffith-myers.com/about/" + }, + { + "name": "Katherine Carson", + "refsource": "SONG", + "url": "http://www.barker.com/faq.htm" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "Rebecca Sims", + "refsource": "LIGHT", + "url": "https://phillips-mcdonald.com/category/" + }, + { + "name": "Jeremy Saunders", + "refsource": "INCREASE", + "url": "http://www.lopez.org/" + }, + { + "name": "Joshua Garrett", + "refsource": "HEALTH", + "url": "http://www.hodges.com/app/list/faq/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2020-0001", + "assignerShortName": "sister_20", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-11-30T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Jones, Proctor and Bass", - "versions": [ - { - "version": "war, floor, style" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Fund former four. Off Republican practice letter right over win." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" - }, - "references": [ - { - "name": "https://small.biz/", - "refsource": "CONFIRM", - "url": "https://small.biz/" - }, - { - "name": "Robert Carter", - "refsource": "DURING", - "url": "http://www.griffith-myers.com/about/" - }, - { - "name": "Katherine Carson", - "refsource": "SONG", - "url": "http://www.barker.com/faq.htm" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "Rebecca Sims", - "refsource": "LIGHT", - "url": "https://phillips-mcdonald.com/category/" - }, - { - "name": "Jeremy Saunders", - "refsource": "INCREASE", - "url": "http://www.lopez.org/" - }, - { - "name": "Joshua Garrett", - "refsource": "HEALTH", - "url": "http://www.hodges.com/app/list/faq/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2020-0001", - "assignerShortName": "sister_20", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2013-08-17T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2020-0002", + "assignerShortName": "sister_20", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2013-08-17T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2020-0002", - "assignerShortName": "sister_20", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2015-09-26T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Hess-Jackson", + "versions": [ + { + "version": "civil, until, matter, card, probably, other, bad, hear" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Industry data in. Standard summer paper suggest idea leave laugh. Live anything we throughout." - } + { + "lang": "eng", + "value": "Human those value make already skin. Audience on rich respond name about air." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Re-contextualized fault-tolerant neural-net", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" + }, + "references": [ + { + "name": "Diana Scott", + "refsource": "AGO", + "url": "https://www.lane-wright.com/author/" + }, + { + "name": "Briana Arias", + "refsource": "SONG", + "url": "https://rodriguez-miller.net/faq/" + }, + { + "name": "Jennifer Stevens", + "refsource": "HEALTH", + "url": "http://carroll.com/" + }, + { + "name": "Steven Arellano", + "refsource": "HEALTH", + "url": "https://dixon.com/index.jsp" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + }, + { + "name": "Veronica Martin MD", + "refsource": "INCREASE", + "url": "https://www.allen.net/" + }, + { + "name": "Charles Ramirez", + "refsource": "GAS", + "url": "https://jackson.com/register/" + }, + { + "name": "Justin Brown", + "refsource": "GAS", + "url": "http://www.adams-moore.com/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2020-0005", + "assignerShortName": "sister_20", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2015-09-26T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Hess-Jackson", - "versions": [ - { - "version": "civil, until, matter, card, probably, other, bad, hear" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Human those value make already skin. Audience on rich respond name about air." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Re-contextualized fault-tolerant neural-net", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "6c84daba-0f30-4fa6-a1f7-2f76ab935488" - }, - "references": [ - { - "name": "Diana Scott", - "refsource": "AGO", - "url": "https://www.lane-wright.com/author/" - }, - { - "name": "Briana Arias", - "refsource": "SONG", - "url": "https://rodriguez-miller.net/faq/" - }, - { - "name": "Jennifer Stevens", - "refsource": "HEALTH", - "url": "http://carroll.com/" - }, - { - "name": "Steven Arellano", - "refsource": "HEALTH", - "url": "https://dixon.com/index.jsp" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - }, - { - "name": "Veronica Martin MD", - "refsource": "INCREASE", - "url": "https://www.allen.net/" - }, - { - "name": "Charles Ramirez", - "refsource": "GAS", - "url": "https://jackson.com/register/" - }, - { - "name": "Justin Brown", - "refsource": "GAS", - "url": "http://www.adams-moore.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2020-0005", - "assignerShortName": "sister_20", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2014-06-10T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Wang, White and Lloyd", + "versions": [ + { + "version": "I, health" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "List international series material organization. Design building morning relationship commercial." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Enhanced multi-state synergy", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" + }, + "references": [ + { + "name": "Shane Johnson", + "refsource": "DURING", + "url": "http://www.mitchell.org/" + }, + { + "name": "Matthew Vargas", + "refsource": "INCREASE", + "url": "https://rice.com/" + }, + { + "name": "http://www.aguilar-garcia.com/", + "refsource": "MISC", + "url": "http://www.aguilar-garcia.com/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2020-0006", + "assignerShortName": "mitre", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2014-06-10T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Wang, White and Lloyd", - "versions": [ - { - "version": "I, health" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "List international series material organization. Design building morning relationship commercial." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Enhanced multi-state synergy", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "c3faf8ac-b13c-4008-a83b-4f333b17aad7" - }, - "references": [ - { - "name": "Shane Johnson", - "refsource": "DURING", - "url": "http://www.mitchell.org/" - }, - { - "name": "Matthew Vargas", - "refsource": "INCREASE", - "url": "https://rice.com/" - }, - { - "name": "http://www.aguilar-garcia.com/", - "refsource": "MISC", - "url": "http://www.aguilar-garcia.com/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2020-0006", - "assignerShortName": "mitre", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2016-11-16T00:00:00.000000Z", + "modified": "2021-05-11 15:07:08.228304+00:00" + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2020-0008", + "assignerShortName": "mitre", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2016-11-16T00:00:00.000000Z", - "modified": "2021-05-11 15:07:08.228304+00:00" - }, - "cve": { - "cveMetadata": { - "id": "CVE-2020-0008", - "assignerShortName": "mitre", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2017-03-07T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Kirk LLC", + "versions": [ + { + "version": "rule, knowledge, interesting" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Gas cold garden international clearly though fund interesting. Where society off mother." - } + { + "lang": "eng", + "value": "Material little how room start. Politics range contain. Political mother sort amount after." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" + }, + "references": [ + { + "name": "https://gonzalez.com/", + "refsource": "MISC", + "url": "https://gonzalez.com/" + }, + { + "name": "Anne Moore", + "refsource": "GAS", + "url": "http://www.wallace.biz/" + } ] - } + } + }, + "cveMetadata": { + "cveId": "CVE-2021-0004", + "assignerShortName": "mitre", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2017-03-07T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Kirk LLC", - "versions": [ - { - "version": "rule, knowledge, interesting" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Material little how room start. Politics range contain. Political mother sort amount after." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "8ad0415e-b7d4-4b9f-bf96-beca87450d35" - }, - "references": [ - { - "name": "https://gonzalez.com/", - "refsource": "MISC", - "url": "https://gonzalez.com/" - }, - { - "name": "Anne Moore", - "refsource": "GAS", - "url": "http://www.wallace.biz/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2021-0004", - "assignerShortName": "mitre", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2019-01-12T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Taylor, Shaffer and Allen", + "versions": [ + { + "version": "on, life, when, seek, debate, night, author" + } + ] + } + ], + "descriptions": [ + { + "lang": "eng", + "value": "Season alone no measure without leave. Relate hair throughout spring rock. Security physical agreement ask fact add center should." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "455af2ce-fe07-43a6-9ff1-6c1a224374eb" + }, + "references": [ + { + "name": "Dustin Wallace", + "refsource": "SONG", + "url": "https://rivera.net/home.asp" + }, + { + "name": "https://collins.com/app/explore/explore/terms.php", + "refsource": "MISC", + "url": "https://collins.com/app/explore/explore/terms.php" + }, + { + "name": "Rebecca Garcia", + "refsource": "HEALTH", + "url": "https://moore-burns.net/faq.php" + }, + { + "name": "Lisa Garrison DVM", + "refsource": "DURING", + "url": "http://www.newman-smith.com/about/" + } + ] + } + }, + "cveMetadata": { + "cveId": "CVE-2021-0005", + "assignerShortName": "mitre", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2019-01-12T00:00:00.000000Z", - "modified": null - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Taylor, Shaffer and Allen", - "versions": [ - { - "version": "on, life, when, seek, debate, night, author" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Season alone no measure without leave. Relate hair throughout spring rock. Security physical agreement ask fact add center should." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "455af2ce-fe07-43a6-9ff1-6c1a224374eb" - }, - "references": [ - { - "name": "Dustin Wallace", - "refsource": "SONG", - "url": "https://rivera.net/home.asp" - }, - { - "name": "https://collins.com/app/explore/explore/terms.php", - "refsource": "MISC", - "url": "https://collins.com/app/explore/explore/terms.php" - }, - { - "name": "Rebecca Garcia", - "refsource": "HEALTH", - "url": "https://moore-burns.net/faq.php" - }, - { - "name": "Lisa Garrison DVM", - "refsource": "DURING", - "url": "http://www.newman-smith.com/about/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2021-0005", - "assignerShortName": "mitre", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + "time": { + "created": "2021-02-26T00:00:00.000000Z", + "modified": null + }, + "cve": { + "containers": { + "cna": { + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } + }, + "cveMetadata": { + "cveId": "CVE-2021-0008", + "assignerShortName": "mitre", + "state": "REJECTED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } }, { - "time": { - "created": "2021-02-26T00:00:00.000000Z", - "modified": null - }, - "cve": { - "cveMetadata": { - "id": "CVE-2021-0008", - "assignerShortName": "mitre", - "state": "REJECTED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0", + "time": { + "created": "2020-03-20T00:00:00.000000Z", + "modified": "2021-05-11 15:07:10.445553+00:00" + }, + "cve": { + "containers": { + "cna": { + "affected": [ + { + "vendor": "Harris, Davis and Mcclain", + "versions": [ + { + "version": "agree, outside, coach, common, lead, future, guess" + } + ] + } + ], "descriptions": [ - { - "lang": "eng", - "value": "Answer during vote herself day. Particularly child truth forget. Theory decide develop paper middle anyone marriage." - } + { + "lang": "eng", + "value": "Similar act reflect model finally drive involve event. Really serious money question work state. Fund newspaper purpose forget social protect audience." + } + ], + "problemTypes": [ + { + "descriptions": [ + [ + { + "description": "Reverse-engineered context-sensitive parallelism", + "lang": "eng", + "type": "text" + } + ] + ] + } + ], + "providerMetadata": { + "orgId": "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "references": [ + { + "name": "Brian Singh", + "refsource": "SPECIAL", + "url": "http://edwards-owens.biz/" + } ] - } - }, - { - "time": { - "created": "2020-03-20T00:00:00.000000Z", - "modified": "2021-05-11 15:07:10.445553+00:00" - }, - "cve": { - "containers": { - "cna": { - "affected": [ - { - "vendor": "Harris, Davis and Mcclain", - "versions": [ - { - "version": "agree, outside, coach, common, lead, future, guess" - } - ] - } - ], - "descriptions": [ - { - "lang": "eng", - "value": "Similar act reflect model finally drive involve event. Really serious money question work state. Fund newspaper purpose forget social protect audience." - } - ], - "problemTypes": [ - { - "descriptions": [ - [ - { - "description": "Reverse-engineered context-sensitive parallelism", - "lang": "eng", - "type": "text" - } - ] - ] - } - ], - "providerMetadata": { - "id": "f972b356-145d-4b2e-9a5c-b114d0982a3b" - }, - "references": [ - { - "name": "Brian Singh", - "refsource": "SPECIAL", - "url": "http://edwards-owens.biz/" - } - ] - } - }, - "cveMetadata": { - "id": "CVE-2021-0009", - "assignerShortName": "mitre", - "state": "PUBLISHED", - "updated": "2021-09-08" - }, - "dataType": "CVE_RECORD", - "dataVersion": "5.0" - } + } + }, + "cveMetadata": { + "cveId": "CVE-2021-0009", + "assignerShortName": "mitre", + "state": "PUBLISHED", + "updated": "2021-09-08" + }, + "dataType": "CVE_RECORD", + "dataVersion": "5.0" + } } ] diff --git a/docs/openapi.yml b/docs/openapi.yml index af1312d18..303988f81 100644 --- a/docs/openapi.yml +++ b/docs/openapi.yml @@ -1307,7 +1307,7 @@ paths: description: The name of the organization. uuid: type: string - deescription: The organization identifier. + description: The organization identifier. authority: type: object properties: @@ -1372,14 +1372,14 @@ paths: application/json: schema: $ref: '#/components/schemas/errorGeneric' - /org/{shortname}: + /org/{identifier}: parameters: - $ref: '#/components/parameters/api-entity-header' - $ref: '#/components/parameters/api-secret-header' - $ref: '#/components/parameters/api-user-header' - $ref: '#/components/parameters/shortname-path' get: - summary: Retrieve an organization record given the short name + summary: Retrieve an organization's data given the identifier, which can be their short name or that organization's uuid. description: |
No roles needed to access the endpoint
@@ -1427,6 +1427,12 @@ paths: application/json: schema: $ref: '#/components/schemas/errorGeneric' + /org/{shortname}: + parameters: + - $ref: '#/components/parameters/api-entity-header' + - $ref: '#/components/parameters/api-secret-header' + - $ref: '#/components/parameters/api-user-header' + - $ref: '#/components/parameters/shortname-path' put: summary: Update an organization record description: | @@ -1538,7 +1544,7 @@ paths:Secretariat: Can see the information of all users of any Organization
Admin User: Can only see the information of users that belongs to the same Organization
Regular User: Can only see the information of users that belongs to the same Organization
- operationId: userAll + operationId: userOrgAll x-org-roles: type: String enum: [''] diff --git a/package-lock.json b/package-lock.json index 782a36d6a..aad0a2ab2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7516 +1,8 @@ { "name": "cve-services", "version": "0.0.3", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "cve-services", - "version": "0.0.3", - "license": "(CC0)", - "dependencies": { - "ajv": "^8.6.2", - "ajv-formats": "^2.1.1", - "argon2": "^0.27.1", - "config": "^3.3.6", - "cors": "^2.8.5", - "crypto-random-string": "^3.3.1", - "dotenv": "^5.0.1", - "express": "^4.15.4", - "express-jsonschema": "^1.1.6", - "express-validator": "^6.10.0", - "helmet": "^3.21.2", - "jsonschema": "^1.4.0", - "JSONStream": "^1.3.5", - "kleur": "^4.1.4", - "mongoose": "^5.12.3", - "mongoose-aggregate-paginate-v2": "^1.0.42", - "morgan": "^1.9.1", - "node-dev": "^4.0.0", - "prompt-sync": "^4.2.0", - "swagger-ui-express": "^4.1.6", - "uuid": "^8.3.2", - "uuid-apikey": "^1.5.1", - "winston": "^3.2.1", - "yamljs": "^0.3.0" - }, - "devDependencies": { - "apidoc": "^0.17.7", - "chai": "^4.2.0", - "chai-arrays": "^2.0.0", - "chai-http": "^4.3.0", - "chai-like": "^1.1.1", - "chai-string": "^1.5.0", - "chai-things": "^0.2.0", - "chai-uuid": "^1.0.6", - "depcheck": "^0.9.2", - "eslint": "^6.8.0", - "eslint-config-standard": "^14.1.1", - "eslint-plugin-import": "^2.20.1", - "eslint-plugin-mocha": "^8.0.0", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.1", - "mocha": "^6.2.3", - "nyc": "^15.1.0", - "standard": "^16.0.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/parser": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", - "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/core/node_modules/@babel/traverse": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", - "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/core/node_modules/@babel/types": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", - "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", - "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.5" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz", - "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", - "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", - "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.11.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true - }, - "node_modules/@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz", - "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==", - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", - "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "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/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@phc/format": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@phc/format/-/format-1.0.0.tgz", - "integrity": "sha512-m7X9U6BG2+J+R1lSOdCiITLLrxm+cWlNI3HUFA92oLO77ObGNzaKdh8pMLqdZcshtkKuV84olNNXDfMc4FezBQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@types/bson": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz", - "integrity": "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/chai": { - "version": "4.2.14", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz", - "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==", - "dev": true - }, - "node_modules/@types/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@types/mongodb": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.11.tgz", - "integrity": "sha512-j0WPV+MQArOYULfCcBALomTXsDMt3iQl8dHa99jrf4U9ENgTQC3LKJbeXYL7TiClofzFOwwICkxEdlB5XhihGw==", - "dependencies": { - "@types/bson": "*", - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "14.14.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz", - "integrity": "sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw==" - }, - "node_modules/@types/superagent": { - "version": "3.8.7", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.8.7.tgz", - "integrity": "sha512-9KhCkyXv268A2nZ1Wvu7rQWM+BmdYUVkycFeNnYrUL5Zwu7o8wPQ3wBfW59dDP+wuoxw0ww8YKgTNv8j/cgscA==", - "dev": true, - "dependencies": { - "@types/cookiejar": "*", - "@types/node": "*" - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/apidoc": { - "version": "0.17.7", - "resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.17.7.tgz", - "integrity": "sha512-9Wf4bRPwCuWOIOxR42dDnsXnFw+rhJg5VrMQK+KmNxJwyIh30UqX6gvjjXSG6YO74MqE87F18bbQXUENK9dPGg==", - "dev": true, - "dependencies": { - "apidoc-core": "~0.8.2", - "commander": "^2.19.0", - "fs-extra": "^7.0.0", - "lodash": "^4.17.10", - "markdown-it": "^8.3.1", - "winston": "^3.0.0" - }, - "bin": { - "apidoc": "bin/apidoc" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/apidoc-core": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/apidoc-core/-/apidoc-core-0.8.3.tgz", - "integrity": "sha1-2dY1RYKd8lDSzKBJaDqH53U2S5Y=", - "dev": true, - "dependencies": { - "fs-extra": "^3.0.1", - "glob": "^7.1.1", - "iconv-lite": "^0.4.17", - "klaw-sync": "^2.1.0", - "lodash": "~4.17.4", - "semver": "~5.3.0" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/apidoc-core/node_modules/fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/apidoc-core/node_modules/semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/apidoc/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "node_modules/are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/argon2": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.27.1.tgz", - "integrity": "sha512-On68kSinTh4DOlLVCEYgQYpx0yuGRsqU9UwV7jUB26PWv+092r8Uz891KFVEqdsksiDXDhA7kXL4z3in/FBItg==", - "dependencies": { - "@phc/format": "^1.0.0", - "node-addon-api": "^3.0.2", - "node-pre-gyp": "^0.17.0", - "opencollective-postinstall": "^2.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "node_modules/array-includes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", - "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "get-intrinsic": "^1.0.1", - "is-string": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-includes/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array.prototype.flatmap/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/bl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", - "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/bowser": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.9.0.tgz", - "integrity": "sha512-2ld76tuLBNFekRgmJfT2+3j5MIrP6bFict8WAIT3beq+srz1gcKNAdNKMqHqauQt63NmAa88HfP1/Ypa9Er3HA==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/bson": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", - "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==", - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", - "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" - }, - "node_modules/chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai-arrays": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/chai-arrays/-/chai-arrays-2.2.0.tgz", - "integrity": "sha512-4awrdGI2EH8owJ9I58PXwG4N56/FiM8bsn4CVSNEgr4GKAM6Kq5JPVApUbhUBjDakbZNuRvV7quRSC38PWq/tg==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/chai-http": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-4.3.0.tgz", - "integrity": "sha512-zFTxlN7HLMv+7+SPXZdkd5wUlK+KxH6Q7bIEMiEx0FK3zuuMqL7cwICAQ0V1+yYRozBburYuxN1qZstgHpFZQg==", - "dev": true, - "dependencies": { - "@types/chai": "4", - "@types/superagent": "^3.8.3", - "cookiejar": "^2.1.1", - "is-ip": "^2.0.0", - "methods": "^1.1.2", - "qs": "^6.5.1", - "superagent": "^3.7.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai-like": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chai-like/-/chai-like-1.1.1.tgz", - "integrity": "sha512-VKa9z/SnhXhkT1zIjtPACFWSoWsqVoaz1Vg+ecrKo5DCKVlgL30F/pEyEvXPBOVwCgLZcWUleCM/C1okaKdTTA==", - "dev": true - }, - "node_modules/chai-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/chai-string/-/chai-string-1.5.0.tgz", - "integrity": "sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw==", - "dev": true - }, - "node_modules/chai-things": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chai-things/-/chai-things-0.2.0.tgz", - "integrity": "sha1-xVEoN4+bs5nplPAAUhUZhO1uvnA=", - "dev": true - }, - "node_modules/chai-uuid": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/chai-uuid/-/chai-uuid-1.0.6.tgz", - "integrity": "sha1-NTo7gX3WaqJgigZg+vaFk/uRjIs=", - "dev": true - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/colorspace": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", - "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", - "dependencies": { - "color": "3.0.x", - "text-hex": "1.0.x" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/config": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/config/-/config-3.3.6.tgz", - "integrity": "sha512-Hj5916C5HFawjYJat1epbyY2PlAgLpBtDUlr0MxGLgo3p5+7kylyvnRY18PqJHgnNWXcdd0eWDemT7eYWuFgwg==", - "dependencies": { - "json5": "^2.1.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-security-policy-builder": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.1.0.tgz", - "integrity": "sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-3.3.1.tgz", - "integrity": "sha512-5j88ECEn6h17UePrLi6pn1JcLtAiANa3KExyr9y9Z5vo2mv56Gh3I4Aja/B9P9uyMwyxNHAHWv+nE72f30T5Dg==", - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dasherize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz", - "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=" - }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "engines": { - "node": "*" - } - }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "node_modules/debounce": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", - "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" - }, - "node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-require-extensions/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "node_modules/denque": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz", - "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/depcheck": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.9.2.tgz", - "integrity": "sha512-w5f+lSZqLJJkk58s44eOd0Vor7hLZot4PlFL0y2JsIX5LuHQ2eAjHlDVeGBD4Mj6ZQSKakvKWRRCcPlvrdU2Sg==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.7.7", - "@babel/traverse": "^7.7.4", - "builtin-modules": "^3.0.0", - "camelcase": "^5.3.1", - "cosmiconfig": "^5.2.1", - "debug": "^4.1.1", - "deps-regex": "^0.1.4", - "js-yaml": "^3.4.2", - "lodash": "^4.17.15", - "minimatch": "^3.0.2", - "node-sass-tilde-importer": "^1.0.2", - "please-upgrade-node": "^3.2.0", - "require-package-name": "^2.0.1", - "resolve": "^1.14.1", - "vue-template-compiler": "^2.6.11", - "walkdir": "^0.4.1", - "yargs": "^15.0.2" - }, - "bin": { - "depcheck": "bin/depcheck.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/depcheck/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/depcheck/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/deps-regex": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz", - "integrity": "sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ=", - "dev": true - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dont-sniff-mimetype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.1.0.tgz", - "integrity": "sha512-ZjI4zqTaxveH2/tTlzS1wFp+7ncxNZaIEWYg3lzZRHkKf5zPT/MnEG6WL0BhHMJUabkh8GeU5NL5j+rEUCb7Ug==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/dotenv": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", - "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", - "engines": { - "node": ">=4.6.0" - } - }, - "node_modules/dynamic-dedupe": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", - "integrity": "sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=", - "dependencies": { - "xtend": "^4.0.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, - "node_modules/encode32": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/encode32/-/encode32-1.1.0.tgz", - "integrity": "sha1-DFS0X7MUrVUC48Iwy5Ws3F5c0d0=", - "engines": { - "node": ">= 0.4.7" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/enquirer/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/eslint-config-standard": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz", - "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==", - "dev": true - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", - "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "resolve": "^1.13.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", - "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", - "dev": true, - "dependencies": { - "debug": "^2.6.9", - "pkg-dir": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-es/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-mocha": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-8.0.0.tgz", - "integrity": "sha512-n67etbWDz6NQM+HnTwZHyBwz/bLlYPOxUbw7bPuCyFujv7ZpaT/Vn6KTAbT02gf7nRljtYIjWcTxK/n8a57rQQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.1.0", - "ramda": "^0.27.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/eslint-plugin-mocha/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-node/node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", - "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-standard": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.2.tgz", - "integrity": "sha512-nKptN8l7jksXkwFk++PhJB3cCDTcXOEyhISIN86Ue2feJ1LFyY3PrY3/xT2keXlJSY5bpmbiTG0f885/YKAvTA==", - "dev": true - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "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/eslint/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/eslint/node_modules/debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/eslint/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express-jsonschema": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/express-jsonschema/-/express-jsonschema-1.1.6.tgz", - "integrity": "sha1-/Z0GZ+y7UUMOMm6fYgNyojE2+u8=", - "dependencies": { - "jsonschema": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express-validator": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-6.11.1.tgz", - "integrity": "sha512-XAMdu1P6RESd8bvKtNdgNPsW+abkY6UQ2EVUqPpK6QVqieZKaLrN7W/zeFzDWZmgAy/RPEW8M4KYXMqQk6GmTA==", - "dependencies": { - "lodash": "^4.17.21", - "validator": "^13.5.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" - }, - "node_modules/feature-policy": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.3.0.tgz", - "integrity": "sha512-ZtijOTFN7TzCujt1fnNhfWPFPSHeZkesff9AXZj+UEjYBynWNUIYpC87Ve4wHzyexQsImicLu7WsC2LHq7/xrQ==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fecha": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", - "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/filewatcher": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/filewatcher/-/filewatcher-3.0.1.tgz", - "integrity": "sha1-9KGVc1Xdr0Q8zXiolfPVXiPIoDQ=", - "dependencies": { - "debounce": "^1.0.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-parent-dir": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", - "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", - "dev": true - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/formidable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz", - "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==", - "dev": true - }, - "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-extra/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dependencies": { - "minipass": "^2.6.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/helmet": { - "version": "3.23.3", - "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.23.3.tgz", - "integrity": "sha512-U3MeYdzPJQhtvqAVBPntVgAvNSOJyagwZwyKsFdyRa8TV3pOKVFljalPOCxbw5Wwf2kncGhmP0qHjyazIdNdSA==", - "dependencies": { - "depd": "2.0.0", - "dont-sniff-mimetype": "1.1.0", - "feature-policy": "0.3.0", - "helmet-crossdomain": "0.4.0", - "helmet-csp": "2.10.0", - "hide-powered-by": "1.1.0", - "hpkp": "2.0.0", - "hsts": "2.2.0", - "nocache": "2.1.0", - "referrer-policy": "1.2.0", - "x-xss-protection": "1.3.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/helmet-crossdomain": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/helmet-crossdomain/-/helmet-crossdomain-0.4.0.tgz", - "integrity": "sha512-AB4DTykRw3HCOxovD1nPR16hllrVImeFp5VBV9/twj66lJ2nU75DP8FPL0/Jp4jj79JhTfG+pFI2MD02kWJ+fA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/helmet-csp": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.10.0.tgz", - "integrity": "sha512-Rz953ZNEFk8sT2XvewXkYN0Ho4GEZdjAZy4stjiEQV3eN7GDxg1QKmYggH7otDyIA7uGA6XnUMVSgeJwbR5X+w==", - "dependencies": { - "bowser": "2.9.0", - "camelize": "1.0.0", - "content-security-policy-builder": "2.1.0", - "dasherize": "2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/helmet/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/hide-powered-by": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.1.0.tgz", - "integrity": "sha512-Io1zA2yOA1YJslkr+AJlWSf2yWFkKjvkcL9Ni1XSUqnGLr/qRQe2UI3Cn/J9MsJht7yEVCe0SscY1HgVMujbgg==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/hpkp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz", - "integrity": "sha1-EOFCJk52IVpdMMROxD3mTe5tFnI=" - }, - "node_modules/hsts": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.2.0.tgz", - "integrity": "sha512-ToaTnQ2TbJkochoVcdXYm4HOCliNozlviNsg+X2XQLQvZNI/kCHR9rZxVYpJB3UPcHz80PgxRyWQ7PdU1r+VBQ==", - "dependencies": { - "depd": "2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/hsts/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "dependencies": { - "minimatch": "^3.0.4" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", - "integrity": "sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas=", - "dev": true, - "dependencies": { - "ip-regex": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/jsonschema": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", - "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", - "engines": { - "node": "*" - } - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kareem": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz", - "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==" - }, - "node_modules/klaw-sync": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-2.1.0.tgz", - "integrity": "sha1-PTvNhgDnv971MjHHOf8FOu1WDkQ=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, - "node_modules/kleur": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", - "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "dev": true, - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/logform": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", - "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", - "dependencies": { - "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "triple-beam": "^1.3.0" - } - }, - "node_modules/logform/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lru-cache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "optional": true - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dependencies": { - "mime-db": "1.44.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dependencies": { - "minipass": "^2.9.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", - "dev": true, - "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/mocha/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/mocha/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/mocha/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/mocha/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/mocha/node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mocha/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/mongodb": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.5.tgz", - "integrity": "sha512-mQlYKw1iGbvJJejcPuyTaytq0xxlYbIoVDm2FODR+OHxyEiMR021vc32bTvamgBjCswsD54XIRwhg3yBaWqJjg==", - "dependencies": { - "bl": "^2.2.1", - "bson": "^1.1.4", - "denque": "^1.4.1", - "require_optional": "^1.0.1", - "safe-buffer": "^5.1.2" - }, - "engines": { - "node": ">=4" - }, - "optionalDependencies": { - "saslprep": "^1.0.0" - } - }, - "node_modules/mongoose": { - "version": "5.12.3", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.3.tgz", - "integrity": "sha512-frsSR9yeldaRpSUeTegXCSB0Tu5UGq8sHuHBuEV31Jk3COyxlKFQPL7UsdMhxPUCmk74FpOYSmNwxhWBEqgzQg==", - "dependencies": { - "@types/mongodb": "^3.5.27", - "bson": "^1.1.4", - "kareem": "2.3.2", - "mongodb": "3.6.5", - "mongoose-legacy-pluralize": "1.0.2", - "mpath": "0.8.3", - "mquery": "3.2.5", - "ms": "2.1.2", - "regexp-clone": "1.0.0", - "safe-buffer": "5.2.1", - "sift": "7.0.1", - "sliced": "1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mongoose-aggregate-paginate-v2": { - "version": "1.0.42", - "resolved": "https://registry.npmjs.org/mongoose-aggregate-paginate-v2/-/mongoose-aggregate-paginate-v2-1.0.42.tgz", - "integrity": "sha512-SOXrztB5DRjwimmxUtg0mVS/IzJEZlWOZ6veU5U1ia0BH7VfCIw+KCvdaiCXXlVAPL75PXroXh0lDcpuxfUVWw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mongoose-legacy-pluralize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", - "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==" - }, - "node_modules/mongoose/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/mongoose/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==" - }, - "node_modules/morgan": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", - "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", - "dependencies": { - "basic-auth": "~2.0.1", - "debug": "2.6.9", - "depd": "~2.0.0", - "on-finished": "~2.3.0", - "on-headers": "~1.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/morgan/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/morgan/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/mpath": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz", - "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mquery": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz", - "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==", - "dependencies": { - "bluebird": "3.5.1", - "debug": "3.1.0", - "regexp-clone": "^1.0.0", - "safe-buffer": "5.1.2", - "sliced": "1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/needle": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz", - "integrity": "sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ==", - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/needle/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/nocache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz", - "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/node-addon-api": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz", - "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==" - }, - "node_modules/node-dev": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-dev/-/node-dev-4.3.0.tgz", - "integrity": "sha512-rKXIUEHCETQWwNu0t0mK2fPxHjdtR0BFH35LjXsGq0e0gJf7z8Lgor348h8WqTVl7P5YWgNu5ZtarOV2uKvlVg==", - "dependencies": { - "dateformat": "^3.0.3", - "dynamic-dedupe": "^0.3.0", - "filewatcher": "~3.0.0", - "minimist": "^1.1.3", - "node-notifier": "^5.4.0", - "resolve": "^1.0.0" - }, - "bin": { - "node-dev": "bin/node-dev" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node_modules/node-pre-gyp": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.17.0.tgz", - "integrity": "sha512-abzZt1hmOjkZez29ppg+5gGqdPLUuJeAEwVPtHYEJgx0qzttCbcKFpxrCQn2HYbwCv2c+7JwH4BgEzFkUGpn4A==", - "dependencies": { - "detect-libc": "^1.0.3", - "mkdirp": "^0.5.5", - "needle": "^2.5.2", - "nopt": "^4.0.3", - "npm-packlist": "^1.4.8", - "npmlog": "^4.1.2", - "rc": "^1.2.8", - "rimraf": "^2.7.1", - "semver": "^5.7.1", - "tar": "^4.4.13" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/node-pre-gyp/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-sass-tilde-importer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz", - "integrity": "sha512-Swcmr38Y7uB78itQeBm3mThjxBy9/Ah/ykPIaURY/L6Nec9AyRoL/jJ7ECfMR+oZeCTVQNxVMu/aHU+TLRVbdg==", - "dev": true, - "dependencies": { - "find-parent-dir": "^0.3.0" - } - }, - "node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "node_modules/npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.entries": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", - "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.entries/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", - "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "dependencies": { - "fn.name": "1.x.x" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "bin": { - "opencollective-postinstall": "index.js" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-conf": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", - "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "load-json-file": "^5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/load-json-file": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", - "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^4.0.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0", - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-conf/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-dir/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prompt-sync": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz", - "integrity": "sha512-BuEzzc5zptP5LsgV5MZETjDaKSWfchl5U9Luiu8SKp7iZWD5tZalOxvNcZRwv+d2phNFr8xlbxmFNcRKfJOzJw==", - "dependencies": { - "strip-ansi": "^5.0.0" - } - }, - "node_modules/prompt-sync/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/prompt-sync/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dev": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ramda": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz", - "integrity": "sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw==", - "dev": true - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "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" - } - }, - "node_modules/referrer-policy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.2.0.tgz", - "integrity": "sha512-LgQJIuS6nAy1Jd88DCQRemyE3mS+ispwlqMk3b0yjZ257fI1v9c+/p6SD5gP5FGyXUIgrNOAfmyioHwZtYv2VA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/regexp-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", - "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require_optional": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", - "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", - "dependencies": { - "resolve-from": "^2.0.0", - "semver": "^5.1.0" - } - }, - "node_modules/require_optional/node_modules/resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/require-package-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", - "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=", - "dev": true - }, - "node_modules/resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "dependencies": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "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/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/saslprep": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", - "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", - "optional": true, - "dependencies": { - "sparse-bitfield": "^3.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "node_modules/sift": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", - "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/sliced": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", - "optional": true, - "dependencies": { - "memory-pager": "^1.0.2" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/spawn-wrap/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/spawn-wrap/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", - "dev": true - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "engines": { - "node": "*" - } - }, - "node_modules/standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz", - "integrity": "sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg==", - "dev": true, - "dependencies": { - "eslint": "~7.13.0", - "eslint-config-standard": "16.0.2", - "eslint-config-standard-jsx": "10.0.0", - "eslint-plugin-import": "~2.22.1", - "eslint-plugin-node": "~11.1.0", - "eslint-plugin-promise": "~4.2.1", - "eslint-plugin-react": "~7.21.5", - "standard-engine": "^14.0.1" - }, - "bin": { - "standard": "bin/cmd.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/standard-engine": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-14.0.1.tgz", - "integrity": "sha512-7FEzDwmHDOGva7r9ifOzD3BGdTbA7ujJ50afLVdW/tK14zQEptJjbFuUfn50irqdHDcTbNh0DTIoMPynMCXb0Q==", - "dev": true, - "dependencies": { - "get-stdin": "^8.0.0", - "minimist": "^1.2.5", - "pkg-conf": "^3.1.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8.10" - } - }, - "node_modules/standard/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "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/standard/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/standard/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/standard/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/standard/node_modules/eslint": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", - "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/standard/node_modules/eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", - "dev": true - }, - "node_modules/standard/node_modules/eslint-config-standard-jsx": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz", - "integrity": "sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA==", - "dev": true - }, - "node_modules/standard/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/standard/node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/standard/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/standard/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/standard/node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/standard/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/standard/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/standard/node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/standard/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/standard/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/standard/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard/node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", - "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3" - } - }, - "node_modules/string.prototype.matchall/node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", - "dev": true, - "dependencies": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/swagger-ui-dist": { - "version": "3.45.1", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.45.1.tgz", - "integrity": "sha512-QWotWWYkgSdPtI6HW12q4Ua5zxIhhvnYvx9iZKtDbZuVvJSTnMIzaHrE6KJVe/8plWh7Wpd/qqeBfpOxF8g1/g==" - }, - "node_modules/swagger-ui-express": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.1.6.tgz", - "integrity": "sha512-Xs2BGGudvDBtL7RXcYtNvHsFtP1DBFPMJFRxHe5ez/VG/rzVOEjazJOOSc/kSCyxreCTKfJrII6MJlL9a6t8vw==", - "dependencies": { - "swagger-ui-dist": "^3.18.1" - }, - "engines": { - "node": ">= v0.10.32" - } - }, - "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "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/table/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "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" - } - }, - "node_modules/tar/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==", - "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/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" - }, - "node_modules/tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/uuid-apikey": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/uuid-apikey/-/uuid-apikey-1.5.1.tgz", - "integrity": "sha512-ltjqfqy4JQ/Bdk6OBN5StaCfq7KyCrjq6+9wGsKCbWNRDj+7JLSsPpPnDHLmJxeMwzwyshzxeAwx8I6icEQgIQ==", - "dependencies": { - "colors": "^1.4.0", - "commander": "^6.1.0", - "encode32": "^1.1.0", - "uuid": "^8.3.1" - }, - "bin": { - "apiKeyTool": "bin/apiKeyTool.js" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validator": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.6.0.tgz", - "integrity": "sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", - "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", - "dev": true, - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "node_modules/walkdir": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz", - "integrity": "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/winston": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", - "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==", - "dependencies": { - "@dabh/diagnostics": "^2.0.2", - "async": "^3.1.0", - "is-stream": "^2.0.0", - "logform": "^2.2.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.4.0" - }, - "engines": { - "node": ">= 6.4.0" - } - }, - "node_modules/winston-transport": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz", - "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==", - "dependencies": { - "readable-stream": "^2.3.7", - "triple-beam": "^1.2.0" - }, - "engines": { - "node": ">= 6.4.0" - } - }, - "node_modules/winston/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/x-xss-protection": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.3.0.tgz", - "integrity": "sha512-kpyBI9TlVipZO4diReZMAHWtS0MMa/7Kgx8hwG/EuZLiA6sg4Ah/4TRdASHhRRN3boobzcYgFRUFSgHRge6Qhg==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yamljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/yamljs/-/yamljs-0.3.0.tgz", - "integrity": "sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==", - "dependencies": { - "argparse": "^1.0.7", - "glob": "^7.0.5" - }, - "bin": { - "json2yaml": "bin/json2yaml", - "yaml2json": "bin/yaml2json" - } - }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/yargs-unparser/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/yargs-unparser/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-unparser/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs-unparser/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs-unparser/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-unparser/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -8009,6 +501,15 @@ "@types/node": "*" } }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -10635,15 +3136,6 @@ "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==" }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "jsx-ast-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", @@ -11809,9 +4301,9 @@ } }, "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true }, "pify": { @@ -12206,22 +4698,6 @@ "es6-error": "^4.0.1" } }, - "require_optional": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", - "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", - "requires": { - "resolve-from": "^2.0.0", - "semver": "^5.1.0" - }, - "dependencies": { - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -12245,6 +4721,22 @@ "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=", "dev": true }, + "require_optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", + "requires": { + "resolve-from": "^2.0.0", + "semver": "^5.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + } + } + }, "resolve": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", @@ -12844,14 +5336,6 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -12922,6 +5406,14 @@ "define-properties": "^1.1.3" } }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -13261,9 +5753,9 @@ } }, "validator": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.6.0.tgz", - "integrity": "sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg==" + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" }, "vary": { "version": "1.1.2", diff --git a/package.json b/package.json index 328f24198..a30423d0c 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "swagger-ui-express": "^4.1.6", "uuid": "^8.3.2", "uuid-apikey": "^1.5.1", + "validator": ">=13.7.0", "winston": "^3.2.1", "yamljs": "^0.3.0" }, diff --git a/src/controller/cve-id.controller/cve-id.controller.js b/src/controller/cve-id.controller/cve-id.controller.js index f2f12f7de..bf33da536 100644 --- a/src/controller/cve-id.controller/cve-id.controller.js +++ b/src/controller/cve-id.controller/cve-id.controller.js @@ -159,6 +159,12 @@ async function modifyCveId (req, res, next) { const orgRepo = req.ctx.repositories.getOrgRepository() const cveIdRepo = req.ctx.repositories.getCveIdRepository() const userRepo = req.ctx.repositories.getUserRepository() + const cveRepo = req.ctx.repositories.getCveRepository() + + const cve = await cveRepo.findOneByCveId(id) + if (cve) { + return res.status(403).json(error.cannotChangeCveIdWithRecord(id)) + } Object.keys(req.ctx.query).forEach(k => { const key = k.toLowerCase() @@ -175,16 +181,12 @@ async function modifyCveId (req, res, next) { return res.status(404).json(error.cveIdNotFound(id)) } - const updatedCveId = JSON.parse(JSON.stringify(result)) // clone cve id returned from the db - delete updatedCveId._id - delete updatedCveId.time + const cveId = JSON.parse(JSON.stringify(result)) // clone cve id returned from the db + delete cveId._id + delete cveId.time if (state) { - if (state === CONSTANTS.CVE_STATES.RESERVED) { - return res.status(400).json(error.invalidReservedState()) - } - - updatedCveId.state = state + cveId.state = state } if (newOrgShortName) { @@ -195,10 +197,10 @@ async function modifyCveId (req, res, next) { return res.status(404).json(error.orgDne(newOrgShortName)) } - updatedCveId.owning_cna = orgUUID + cveId.owning_cna = orgUUID } - await cveIdRepo.findOneAndUpdate({ cve_id: id }, updatedCveId) // update cve id + await cveIdRepo.findOneAndUpdate({ cve_id: id }, cveId) // update cve id const agt = setAggregateObj({ cve_id: id }) result = await cveIdRepo.aggregate(agt) result = result.length > 0 ? result[0] : null @@ -379,7 +381,7 @@ async function priorityReservation (year, amount, shortName, orgShortName, reque stop: cveIdDocumentsUUID[cveIdDocumentsUUID.length - 1].cve_id } logger.info(JSON.stringify(payload)) - var q = availableIds - amount + const q = availableIds - amount res.header(CONSTANTS.QUOTA_HEADER, q) return res.status(200).json({ cve_ids: cveIdDocuments, meta: { remaining_quota: q } }) } @@ -470,7 +472,7 @@ async function sequentialReservation (year, amount, shortName, orgShortName, req } logger.info(JSON.stringify(payload)) - var q = availableIds - amount + const q = availableIds - amount res.header(CONSTANTS.QUOTA_HEADER, q) return res.status(200).json({ cve_ids: cveIdDocuments, meta: { remaining_quota: q } }) } @@ -520,7 +522,7 @@ async function nonSequentialReservation (year, amount, shortName, orgShortName, const owningOrgUUID = await orgRepo.getOrgUUID(shortName) const orgUUID = await orgRepo.getOrgUUID(orgShortName) const requesterUUID = (await userRepo.findOneByUserNameAndOrgUUID(requester, orgUUID)).UUID - var q = availableIds - amount + const q = availableIds - amount while ((counter < amount) && !isFull) { index = getRandomInt(0, available.length) // get random index in the available array diff --git a/src/controller/cve-id.controller/error.js b/src/controller/cve-id.controller/error.js index 4a2da743c..f7dbe7b59 100644 --- a/src/controller/cve-id.controller/error.js +++ b/src/controller/cve-id.controller/error.js @@ -117,6 +117,14 @@ class CveIdControllerError extends idrErr.IDRError { err.cve_ids = ids return err } + + cannotChangeCveIdWithRecord (id) { + const err = { + error: 'CANNOT_CHANGE_CVE_ID_WITH_RECORD', + message: `A record was found for ${id}. A CVE ID cannot be changed once a record exists for it. Instead, it changes according to the record.` + } + return err + } } module.exports = { diff --git a/src/controller/cve-id.controller/index.js b/src/controller/cve-id.controller/index.js index 0b53a919c..1cd9fc4f9 100644 --- a/src/controller/cve-id.controller/index.js +++ b/src/controller/cve-id.controller/index.js @@ -37,13 +37,14 @@ router.get('/cve-id/:id', parseGetParams, controller.CVEID_GET_SINGLE) router.put('/cve-id/:id', - mw.onlySecretariat, + mw.onlyCnas, mw.validateUser, param(['id']).isString().matches(/^CVE-[0-9]{4}-[0-9]{4,}$/, 'i'), query(['state']).optional().isString().trim().escape().customSanitizer(val => { return val.toUpperCase() }).isIn(CHOICES), query(['org']).optional().isString().trim().escape(), parseError, parsePostParams, + mw.cnaMustOwnID, controller.CVEID_UPDATE_SINGLE) router.post('/cve-id-range/:year', mw.onlySecretariat, diff --git a/src/controller/cve.controller/cna_container_schema.json b/src/controller/cve.controller/cna_container_schema.json new file mode 100644 index 000000000..661eacf6b --- /dev/null +++ b/src/controller/cve.controller/cna_container_schema.json @@ -0,0 +1,1687 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "definitions": { + "uriType": { + "description": "A universal resource identifier (URI), according to [RFC 3986](https://tools.ietf.org/html/rfc3986).", + "type": "string", + "format": "uri", + "minLength": 1 + }, + "uuidType": { + "description": "A version 4 (random) universally unique identifier (UUID) as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122#section-4.1.3).", + "type": "string", + "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "reference": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "The uniform resource locator (URL), according to [RFC 3986](https://tools.ietf.org/html/rfc3986#section-1.1.3), that can be used to retrieve the referenced resource.", + "$ref": "#/definitions/uriType" + }, + "name": { + "description": "User created name for the reference, often the title of the page.", + "type": "string", + "maxLength": 500, + "minLength": 1 + }, + "tags": { + "description": "an array of one or more tags that describe the resource referenced by 'url'.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "oneOf": [ + { + "$ref": "#/definitions/tagExtension" + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://cve.mitre.org/cve/v5_00/tags/reference/", + "type": "string", + "description": "broken-link: The reference link is returning a 404 error, or the site is no longer online.\n\ncustomer-entitlement: Similar to Privileges Required, but specific to references that require non-public/paid access for customers of the particular vendor.\n\nexploit: Reference contains an in-depth/detailed description of steps to exploit a vulnerability OR the reference contains any legitimate Proof of Concept (PoC) code or exploit kit.\n\ngovernment-resource: All reference links that are from a government agency or organization should be given the Government Resource tag.\n\nissue-tracking: The reference is a post from a bug tracking tool such as MantisBT, Bugzilla, JIRA, Github Issues, etc...\n\nmailing-list: The reference is from a mailing list -- often specific to a product or vendor.\n\nmitigation: The reference contains information on steps to mitigate against the vulnerability in the event a patch can't be applied or is unavailable or for EOL product situations.\n\nnot-applicable: The reference link is not applicable to the vulnerability and was likely associated by MITRE accidentally (should be used sparingly).\n\npatch: The reference contains an update to the software that fixes the vulnerability.\n\npermissions-required: The reference link provided is blocked by a logon page. If credentials are required to see any information this tag must be applied.\n\nmedia-coverage: The reference is from a media outlet such as a newspaper, magazine, social media, or weblog. This tag is not intended to apply to any individual's personal social media account. It is strictly intended for public media entities.\n\nproduct: A reference appropriate for describing a product for the purpose of CPE or SWID.\n\nrelated: A reference that is for a related (but not the same) vulnerability.\n\nrelease-notes: The reference is in the format of a vendor or open source project's release notes or change log.\n\nsignature: The reference contains a method to detect or prevent the presence or exploitation of the vulnerability.\n\ntechnical-description: The reference contains in-depth technical information about a vulnerability and its exploitation process, typically in the form of a presentation or whitepaper.\n\nthird-party-advisory: Advisory is from an organization that is not the vulnerable product's vendor/publisher/maintainer.\n\nvendor-advisory: Advisory is from the vendor/publisher/maintainer of the product or the parent organization.\n\nvdb-entry: VDBs are loosely defined as sites that provide information about this vulnerability, such as advisories, with identifiers. Included VDBs are free to access, substantially public, and have broad scope and coverage (not limited to a single vendor or research organization). See: https://www.first.org/global/sigs/vrdx/vdb-catalog", + "enum": [ + "broken-link", + "customer-entitlement", + "exploit", + "government-resource", + "issue-tracking", + "mailing-list", + "mitigation", + "not-applicable", + "patch", + "permissions-required", + "media-coverage", + "product", + "related", + "release-notes", + "signature", + "technical-description", + "third-party-advisory", + "vendor-advisory", + "vdb-entry" + ] + } + ] + } + } + } + }, + "cveId": { + "type": "string", + "pattern": "^CVE-[0-9]{4}-[0-9]{4,19}$" + }, + "orgId": { + "description": "a UUID for an organization participating in the CVE program. This UUID can be used to lookup the organization record in the user registry service.", + "$ref": "#/definitions/uuidType" + }, + "userId": { + "description": "a UUID for a user participating in the CVE program. This UUID can be used to lookup the user record in the user registry service.", + "$ref": "#/definitions/uuidType" + }, + "shortName": { + "description": "a 3-12 character name that can be used to complement an organization's UUID.", + "type": "string", + "minLength": 3, + "maxLength": 12 + }, + "datestamp": { + "description": "Date/time format based on RFC3339 and ISO ISO8601", + "type": "string", + "format": "date", + "pattern": "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))$" + }, + "timestamp": { + "type": "string", + "format": "date-time", + "description": "Date/time format based on RFC3339 and ISO ISO8601, with an optional timezone in the format 'yyyy-MM-ddTHH:mm:ssZZZZ'. If timezone offset is not given, GMT (0000) is assumed.", + "pattern": "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})?$" + }, + "version": { + "description": "A single version of a product, as expressed in its own version numbering scheme.", + "type": "string", + "minLength": 1, + "maxLength": 1024 + }, + "status": { + "description": "The vulnerability status of a given version or range of versions of a product. The statuses 'affected' and 'unaffected' indicate that the version is affected or unaffected by the vulnerability. The status 'unknown' indicates that it is unknown or unspecified whether the given version is affected. There can be many reasons for an 'unknown' status, including that an investigation has not been undertaken or that a vendor has not disclosed the status.", + "type": "string", + "enum": [ + "affected", + "unaffected", + "unknown" + ] + }, + "providerMetadata": { + "type": "object", + "description": "will be updated to coordinate with CVE user registry, current identifier is an email address.", + "properties": { + "orgId": { + "$ref": "#/definitions/orgId", + "description": "the container provider's organizational UUID" + }, + "shortName": { + "$ref": "#/definitions/shortName", + "description": "the container provider's organizational short name" + }, + "dateUpdated": { + "$ref": "#/definitions/timestamp", + "description": "Timestamp to be set by the system of record at time of submission. If updated is provided to the system of record it will be replaced by the current timestamp at the time of submission. If a provider has multiple contributions, they shall be consolidated to a final single contribution before submission, or the system of record will reject the input with, Rejected – simultaneous contributions by a single provider." + }, + "dateAssigned": { + "$ref": "#/definitions/timestamp", + "description": "The date/time this CVE ID was associated with a vulnerability by a CNA." + }, + "datePublic": { + "$ref": "#/definitions/timestamp", + "description": "if known, the date/time the vulnerability was disclosed publicly." + }, + "title": { + "type": "string", + "description": "Short title - if the description is long we may want a short title to refer to", + "minLength": 1, + "maxLength": 128 + } + }, + "required": [ + "orgId" + ] + }, + "product": { + "type": "object", + "description": "Provides information about the set of products and services affected by this vulnerability.", + "allOf": [ + { + "oneOf": [ + { + "required": [ + "vendor", + "product" + ] + }, + { + "required": [ + "collectionURL", + "packageName" + ] + } + ] + }, + { + "anyOf": [ + { + "required": [ + "versions" + ] + }, + { + "required": [ + "defaultStatus" + ] + } + ] + } + ], + "properties": { + "vendor": { + "type": "string", + "description": "Name of the organization, project, community, individual, or user that created or maintains this product or hosted service. Can be 'N/A' if none of those apply. When collectionURL and packageName are used, this field may optionally represent the user or account within the package collection associated with the package.", + "minLength": 1, + "maxLength": 512 + }, + "product": { + "type": "string", + "description": "Name of the affected product.", + "minLength": 1, + "maxLength": 2058 + }, + "collectionURL": { + "description": "URL identifying a package collection (determines meaning of packageName).", + "$ref": "#/definitions/uriType", + "examples": [ + "https://access.redhat.com/downloads/content/package-browser", + "https://addons.mozilla.org", + "https://addons.thunderbird.net", + "https://anaconda.org/anaconda/repo", + "https://app.vagrantup.com/boxes/search", + "https://apps.apple.com", + "https://archlinux.org/packages", + "https://atmospherejs.meteor.com", + "https://atom.io/packages", + "https://bitbucket.org", + "https://bower.io", + "https://brew.sh/", + "https://chocolatey.org/packages", + "https://chrome.google.com/webstore", + "https://clojars.org", + "https://cocoapods.org", + "https://code.dlang.org", + "https://conan.io/center", + "https://cpan.org/modules", + "https://cran.r-project.org", + "https://crates.io", + "https://ctan.org/pkg", + "https://drupal.org", + "https://exchange.adobe.com", + "https://forge.puppet.com/modules", + "https://github.com", + "https://gitlab.com/explore", + "https://golang.org/pkg", + "https://guix.gnu.org/packages", + "https://hackage.haskell.org", + "https://helm.sh", + "https://hub.docker.com", + "https://juliahub.com", + "https://lib.haxe.org", + "https://luarocks.org", + "https://marketplace.visualstudio.com", + "https://melpa.org", + "https://microsoft.com/en-us/store/apps", + "https://nimble.directory", + "https://nuget.org/packages", + "https://opam.ocaml.org/packages", + "https://openwrt.org/packages/index", + "https://package.elm-lang.org", + "https://packagecontrol.io", + "https://packages.debian.org", + "https://packages.gentoo.org", + "https://packagist.org", + "https://pear.php.net/packages.php", + "https://pecl.php.net", + "https://platformio.org/lib", + "https://play.google.com/store", + "https://plugins.gradle.org", + "https://projects.eclipse.org", + "https://pub.dev", + "https://pypi.python.org", + "https://registry.npmjs.org", + "https://registry.terraform.io", + "https://repo.hex.pm", + "https://repo.maven.apache.org/maven2", + "https://rubygems.org", + "https://search.nixos.org/packages", + "https://sourceforge.net", + "https://wordpress.org/plugins" + ] + }, + "packageName": { + "type": "string", + "description": "Name or identifier of the affected software package as used in the package collection.", + "minLength": 1, + "maxLength": 2058 + }, + "cpes": { + "type": "array", + "description": "Affected products defined by CPE. This is an array of CPE values (vulnerable and not), we use an array so that we can make multiple statements about the same version and they are separate (if we used a JSON object we'd essentially be keying on the CPE name and they would have to overlap). Also this allows things like cveDataVersion or cveDescription to be applied directly to the product entry. This also allows more complex statements such as \"Product X between versions 10.2 and 10.8\" to be put in a machine-readable format. As well since multiple statements can be used multiple branches of the same product can be defined here.", + "uniqueItems": true, + "items": { + "title": "CPE Name", + "type": "string", + "description": "Common Platform Enumeration (CPE) Name in either 2.2 or 2.3 format", + "pattern": "([c][pP][eE]:/[AHOaho]?(:[A-Za-z0-9._\\-~%]*){0,6})|(cpe:2\\.3:[aho*\\-](:(((\\?*|\\*?)([a-zA-Z0-9\\-._]|(\\\\[\\\\*?!\"#$%&'()+,/:;<=>@\\[\\]\\^`{|}~]))+(\\?*|\\*?))|[*\\-])){5}(:(([a-zA-Z]{2,3}(-([a-zA-Z]{2}|[0-9]{3}))?)|[*\\-]))(:(((\\?*|\\*?)([a-zA-Z0-9\\-._]|(\\\\[\\\\*?!\"#$%&'()+,/:;<=>@\\[\\]\\^`{|}~]))+(\\?*|\\*?))|[*\\-])){4})", + "minLength": 1, + "maxLength": 2000 + } + }, + "modules": { + "type": "array", + "description": "A list of the affected components, features, modules, sub-components, sub-products, APIs, commands, utilities, programs, or functionalities (optional)", + "uniqueItems": true, + "items": { + "type": "string", + "description": "Name of the affected component, feature, module, sub-component, sub-product, API, command, utility, program, or functionality (optional).", + "minLength": 1, + "maxLength": 4000 + } + }, + "programFiles": { + "type": "array", + "description": "A list of the affected source code files (optional)", + "uniqueItems": true, + "items": { + "description": "Name or path or location of the affected source code file in RFC3986 compliant format (optional).", + "$ref": "#/definitions/uriType" + } + }, + "programRoutines": { + "type": "array", + "description": "A list of the affected source code functions, methods, subroutines, or procedures (optional).", + "uniqueItems": true, + "items": { + "type": "object", + "description": "Object describing program routine.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the affected source code file, function, method, subroutine, or procedure.", + "minLength": 1, + "maxLength": 4000 + } + } + } + }, + "platforms": { + "title": "Platforms", + "description": "List of specific platforms if the vulnerability is only relevant in the context of these platforms (optional). Platforms may include execution environments, operating systems, virtualization technolgies, hardware models, or computing architectures. Lack of this field or an empty array implies that the other fields are applicable for all relevant platforms.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "string", + "examples": [ + "iOS", + "Android", + "Windows", + "macOS", + "x86", + "ARM", + "64 bit", + "Big Endian", + "iPad", + "Chromebook", + "Docker" + ], + "maxLength": 1024 + } + }, + "repo": { + "description": "The URL of the source code repository, for informational purposes and/or to resolve git hash version ranges.", + "$ref": "#/definitions/uriType" + }, + "defaultStatus": { + "description": "The default status for versions that are not otherwise listed in the versions list. If not specified, defaultStatus defaults to 'unknown'. Versions or defaultStatus may be omitted, but not both.", + "$ref": "#/definitions/status" + }, + "versions": { + "type": "array", + "description": "Set of product versions or version ranges related to the vulnerability. The versions satisfy the CNA Rules [8.1.2 requirement](https://cve.mitre.org/cve/cna/rules.html#section_8-1_cve_entry_information_requirements). Versions or defaultStatus may be omitted, but not both.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "A single version or a range of versions, with vulnerability status.\n\nAn entry with only 'version' and 'status' indicates the status of a single version.\n\nOtherwise, an entry describes a range; it must include the 'versionType' property, to define the version numbering semantics in use, and 'limit', to indicate the non-inclusive upper limit of the range. The object describes the status for versions V such that 'version' <= V and V < 'limit', using the <= and < semantics defined for the specific kind of 'versionType'. Status changes within the range can be specified by an optional 'changes' list.\n\nThe algorithm to decide the status specified for a version V is:\n\n\tfor entry in product.versions {\n\t\tif entry.lessThan is not present and entry.lessThanOrEqual is not present and v == entry.version {\n\t\t\treturn entry.status\n\t\t}\n\t\tif (entry.lessThan is present and entry.version <= v and v < entry.lessThan) or\n\t\t (entry.lessThanOrEqual is present and entry.version <= v and v <= entry.lessThanOrEqual) { // <= and < defined by entry.versionType\n\t\t\tstatus = entry.status\n\t\t\tfor change in entry.changes {\n\t\t\t\tif change.at <= v {\n\t\t\t\t\tstatus = change.status\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn status\n\t\t}\n\t}\n\treturn product.defaultStatus\n\n", + "oneOf": [ + { + "required": [ + "version", + "status" + ], + "maxProperties": 2 + }, + { + "required": [ + "version", + "status", + "versionType" + ], + "oneOf": [ + { + "required": [ + "lessThan" + ] + }, + { + "required": [ + "lessThanOrEqual" + ] + } + ] + } + ], + "properties": { + "version": { + "description": "The single version being described, or the version at the start of the range. By convention, typically 0 denotes the earliest possible version.", + "$ref": "#/definitions/version" + }, + "status": { + "description": "The vulnerability status for the version or range of versions. For a range, the status may be refined by the 'changes' list.", + "$ref": "#/definitions/status" + }, + "versionType": { + "type": "string", + "description": "The version numbering system used for specifying the range. This defines the exact semantics of the comparison (less-than) operation on versions, which is required to understand the range itself. 'Custom' indicates that the version type is unspecified and should be avoided whenever possible. It is included primarily for use in conversion of older data files.", + "minLength": 1, + "maxLength": 128, + "examples": [ + "custom", + "git", + "maven", + "python", + "rpm", + "semver" + ] + }, + "lessThan": { + "description": "The non-inclusive upper limit of the range. This is the least version NOT in the range. The usual version syntax is expanded to allow a pattern to end in an asterisk `(*)`, indicating an arbitrarily large number in the version ordering. For example, `{version: 1.0 lessThan: 1.*}` would describe the entire 1.X branch for most range kinds, and `{version: 2.0, lessThan: *}` describes all versions starting at 2.0, including 3.0, 5.1, and so on. Only one of lessThan and lessThanOrEqual should be specified.", + "$ref": "#/definitions/version" + }, + "lessThanOrEqual": { + "description": "The inclusive upper limit of the range. This is the greatest version contained in the range. Only one of lessThan and lessThanOrEqual should be specified. For example, `{version: 1.0, lessThanOrEqual: 1.3}` covers all versions from 1.0 up to and including 1.3.", + "$ref": "#/definitions/version" + }, + "changes": { + "type": "array", + "description": "A list of status changes that take place during the range. The array should be sorted in increasing order by the 'at' field, according to the versionType, but clients must re-sort the list themselves rather than assume it is sorted.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "The start of a single status change during the range.", + "required": [ + "at", + "status" + ], + "properties": { + "at": { + "description": "The version at which a status change occurs.", + "$ref": "#/definitions/version" + }, + "status": { + "description": "The new status in the range starting at the given version.", + "$ref": "#/definitions/status" + } + } + } + } + } + } + } + } + }, + "affected": { + "type": "array", + "description": "List of affected products.", + "minItems": 1, + "items": { + "$ref": "#/definitions/product" + } + }, + "description": { + "type": "object", + "description": "Text in a particular language with optional alternate markup or formatted representation (e.g., Markdown) or embedded media.", + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "description": "Plain text description.", + "minLength": 1, + "maxLength": 4000 + }, + "supportingMedia": { + "type": "array", + "title": "Supporting media", + "description": "Supporting media data for the description such as markdown, diagrams, .. (optional). Similar to RFC 2397 each media object has three main parts: media type, media data value, and an optional boolean flag to indicate if the media data is base64 encoded.", + "uniqueItems": true, + "minItems": 1, + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "title": "Media type", + "minLength": 1, + "maxLength": 255, + "description": "RFC2046 compliant IANA Media type for eg., text/markdown, text/html.", + "examples": [ + "text/markdown", + "text/html", + "image/png", + "image/svg", + "audio/mp3" + ] + }, + "base64": { + "type": "boolean", + "title": "Encoding", + "description": "If true then the value field contains the media data encoded in base64. If false then the value field contains the UTF-8 media content.", + "default": false + }, + "value": { + "type": "string", + "description": "Supporting media content, up to 16K. If base64 is true, this field stores base64 encoded data.", + "minLength": 1, + "maxLength": 16384 + } + }, + "required": [ + "type", + "value" + ] + } + } + }, + "required": [ + "lang", + "value" + ], + "additionalProperties": false + }, + "descriptions": { + "type": "array", + "description": "A list of multi-lingual descriptions of the vulnerability. E.g., [PROBLEMTYPE] in [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] on [PLATFORMS] allows [ATTACKER] to [IMPACT] via [VECTOR]. OR [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] [ROOT CAUSE], which allows [ATTACKER] to [IMPACT] via [VECTOR].", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "problemTypes": { + "type": "array", + "description": "This is problem type information (e.g. CWE identifier). Must contain: At least one entry, can be text, OWASP, CWE, please note that while only one is required you can use more than one (or indeed all three) as long as they are correct). (CNA requirement: [PROBLEMTYPE])", + "items": { + "type": "object", + "required": [ + "descriptions" + ], + "properties": { + "descriptions": { + "type": "array", + "items": { + "type": "object", + "required": [ + "lang", + "description" + ], + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "description": { + "type": "string", + "description": "string description of problemType, or title from CWE or OWASP", + "minLength": 1, + "maxLength": 4000 + }, + "cweId": { + "type": "string", + "description": "CWE ID of the CWE that best describes this problemType entry", + "minLength": 5, + "maxLength": 9, + "pattern": "^CWE-[1-9][0-9]+$" + }, + "type": { + "type": "string", + "description": "problemtype source, text, OWASP, CWE, etc", + "minLength": 1, + "maxLength": 128 + }, + "references": { + "$ref": "#/definitions/references" + } + } + }, + "minItems": 1, + "uniqueItems": true + } + } + }, + "minItems": 1, + "uniqueItems": true + }, + "references": { + "type": "array", + "description": "This is reference data in the form of URLs or file objects (uuencoded and embedded within the JSON file, exact format to be decided, e.g. we may require a compressed format so the objects require unpacking before they are \"dangerous\").", + "items": { + "$ref": "#/definitions/reference" + }, + "minItems": 1, + "maxItems": 500, + "uniqueItems": true + }, + "impacts": { + "type": "array", + "description": "Collection of impacts of this vulnerability", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "This is impact type information (e.g. a text description", + "required": [ + "descriptions" + ], + "properties": { + "capecId": { + "type": "string", + "description": "CAPEC ID that best relates to this impact", + "minLength": 7, + "maxLength": 11, + "pattern": "^CAPEC-[1-9][0-9]{0,4}$" + }, + "descriptions": { + "description": "Prose description of the impact scenario. At a minimum provide the description given by CAPEC", + "$ref": "#/definitions/descriptions" + } + } + } + }, + "metrics": { + "type": "array", + "description": "collection of impact scores with attribution", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "This is impact type information (e.g. a text description, CVSSv2, CVSSv3, etc.). Must contain: At least one entry, can be text, CVSSv2, CVSSv3, others may be added", + "anyOf": [ + { + "required": [ + "cvssV3_1" + ] + }, + { + "required": [ + "cvssV3_0" + ] + }, + { + "required": [ + "cvssV2_0" + ] + }, + { + "required": [ + "other" + ] + } + ], + "properties": { + "format": { + "type": "string", + "description": "Name of the score format. This provides a bit future proofing. Additional properties are not prohibitied, so this will support inclusion of proprietary formats. It also provides an easy future conversion mechanism when future score formats become part of the schema. example: cvssV4_4, format = 'cvssV4_4', other = cvssV4_4 json object. In the future the other properties can be converted to score properties when they become part of the schema.", + "minLength": 1, + "maxLength": 64 + }, + "scenarios": { + "type": "array", + "description": "Description of the scenarios this metrics object applies to. If no specific scenario is given, GENERAL is used as the default and applies when no more specific metric matches.", + "minItems": 1, + "uniqueItems": true, + "items": { + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "default": "GENERAL", + "description": "Description of the scenario this metrics object applies to. If no specific scenario is given, GENERAL is used as the default and applies when no more specific metric matches.", + "minLength": 1, + "maxLength": 4000 + } + }, + "required": [ + "lang", + "value" + ] + } + }, + "cvssV3_1": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "JSON Schema for Common Vulnerability Scoring System version 3.1", + "type": "object", + "definitions": { + "attackVectorType": { + "type": "string", + "enum": [ + "NETWORK", + "ADJACENT_NETWORK", + "LOCAL", + "PHYSICAL" + ] + }, + "modifiedAttackVectorType": { + "type": "string", + "enum": [ + "NETWORK", + "ADJACENT_NETWORK", + "LOCAL", + "PHYSICAL", + "NOT_DEFINED" + ] + }, + "attackComplexityType": { + "type": "string", + "enum": [ + "HIGH", + "LOW" + ] + }, + "modifiedAttackComplexityType": { + "type": "string", + "enum": [ + "HIGH", + "LOW", + "NOT_DEFINED" + ] + }, + "privilegesRequiredType": { + "type": "string", + "enum": [ + "HIGH", + "LOW", + "NONE" + ] + }, + "modifiedPrivilegesRequiredType": { + "type": "string", + "enum": [ + "HIGH", + "LOW", + "NONE", + "NOT_DEFINED" + ] + }, + "userInteractionType": { + "type": "string", + "enum": [ + "NONE", + "REQUIRED" + ] + }, + "modifiedUserInteractionType": { + "type": "string", + "enum": [ + "NONE", + "REQUIRED", + "NOT_DEFINED" + ] + }, + "scopeType": { + "type": "string", + "enum": [ + "UNCHANGED", + "CHANGED" + ] + }, + "modifiedScopeType": { + "type": "string", + "enum": [ + "UNCHANGED", + "CHANGED", + "NOT_DEFINED" + ] + }, + "ciaType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "HIGH" + ] + }, + "modifiedCiaType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "HIGH", + "NOT_DEFINED" + ] + }, + "exploitCodeMaturityType": { + "type": "string", + "enum": [ + "UNPROVEN", + "PROOF_OF_CONCEPT", + "FUNCTIONAL", + "HIGH", + "NOT_DEFINED" + ] + }, + "remediationLevelType": { + "type": "string", + "enum": [ + "OFFICIAL_FIX", + "TEMPORARY_FIX", + "WORKAROUND", + "UNAVAILABLE", + "NOT_DEFINED" + ] + }, + "confidenceType": { + "type": "string", + "enum": [ + "UNKNOWN", + "REASONABLE", + "CONFIRMED", + "NOT_DEFINED" + ] + }, + "ciaRequirementType": { + "type": "string", + "enum": [ + "LOW", + "MEDIUM", + "HIGH", + "NOT_DEFINED" + ] + }, + "scoreType": { + "type": "number", + "minimum": 0, + "maximum": 10 + }, + "severityType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ] + } + }, + "properties": { + "version": { + "description": "CVSS Version", + "type": "string", + "enum": [ + "3.1" + ] + }, + "vectorString": { + "type": "string", + "pattern": "^CVSS:3.1/((AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" + }, + "attackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/attackVectorType" + }, + "attackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/attackComplexityType" + }, + "privilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/privilegesRequiredType" + }, + "userInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/userInteractionType" + }, + "scope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scopeType" + }, + "confidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaType" + }, + "integrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaType" + }, + "availabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaType" + }, + "baseScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scoreType" + }, + "baseSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/severityType" + }, + "exploitCodeMaturity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/exploitCodeMaturityType" + }, + "remediationLevel": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/remediationLevelType" + }, + "reportConfidence": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/confidenceType" + }, + "temporalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scoreType" + }, + "temporalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/severityType" + }, + "confidentialityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaRequirementType" + }, + "integrityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaRequirementType" + }, + "availabilityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaRequirementType" + }, + "modifiedAttackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedAttackVectorType" + }, + "modifiedAttackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedAttackComplexityType" + }, + "modifiedPrivilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedPrivilegesRequiredType" + }, + "modifiedUserInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedUserInteractionType" + }, + "modifiedScope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedScopeType" + }, + "modifiedConfidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedCiaType" + }, + "modifiedIntegrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedCiaType" + }, + "modifiedAvailabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedCiaType" + }, + "environmentalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scoreType" + }, + "environmentalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/severityType" + } + }, + "required": [ + "version", + "vectorString", + "baseScore", + "baseSeverity" + ] + }, + "cvssV3_0": { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "JSON Schema for Common Vulnerability Scoring System version 3.0", + "type": "object", + "definitions": { + "attackVectorType": { + "type": "string", + "enum": [ + "NETWORK", + "ADJACENT_NETWORK", + "LOCAL", + "PHYSICAL" + ] + }, + "modifiedAttackVectorType": { + "type": "string", + "enum": [ + "NETWORK", + "ADJACENT_NETWORK", + "LOCAL", + "PHYSICAL", + "NOT_DEFINED" + ] + }, + "attackComplexityType": { + "type": "string", + "enum": [ + "HIGH", + "LOW" + ] + }, + "modifiedAttackComplexityType": { + "type": "string", + "enum": [ + "HIGH", + "LOW", + "NOT_DEFINED" + ] + }, + "privilegesRequiredType": { + "type": "string", + "enum": [ + "HIGH", + "LOW", + "NONE" + ] + }, + "modifiedPrivilegesRequiredType": { + "type": "string", + "enum": [ + "HIGH", + "LOW", + "NONE", + "NOT_DEFINED" + ] + }, + "userInteractionType": { + "type": "string", + "enum": [ + "NONE", + "REQUIRED" + ] + }, + "modifiedUserInteractionType": { + "type": "string", + "enum": [ + "NONE", + "REQUIRED", + "NOT_DEFINED" + ] + }, + "scopeType": { + "type": "string", + "enum": [ + "UNCHANGED", + "CHANGED" + ] + }, + "modifiedScopeType": { + "type": "string", + "enum": [ + "UNCHANGED", + "CHANGED", + "NOT_DEFINED" + ] + }, + "ciaType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "HIGH" + ] + }, + "modifiedCiaType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "HIGH", + "NOT_DEFINED" + ] + }, + "exploitCodeMaturityType": { + "type": "string", + "enum": [ + "UNPROVEN", + "PROOF_OF_CONCEPT", + "FUNCTIONAL", + "HIGH", + "NOT_DEFINED" + ] + }, + "remediationLevelType": { + "type": "string", + "enum": [ + "OFFICIAL_FIX", + "TEMPORARY_FIX", + "WORKAROUND", + "UNAVAILABLE", + "NOT_DEFINED" + ] + }, + "confidenceType": { + "type": "string", + "enum": [ + "UNKNOWN", + "REASONABLE", + "CONFIRMED", + "NOT_DEFINED" + ] + }, + "ciaRequirementType": { + "type": "string", + "enum": [ + "LOW", + "MEDIUM", + "HIGH", + "NOT_DEFINED" + ] + }, + "scoreType": { + "type": "number", + "minimum": 0, + "maximum": 10 + }, + "severityType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ] + } + }, + "properties": { + "version": { + "description": "CVSS Version", + "type": "string", + "enum": [ + "3.0" + ] + }, + "vectorString": { + "type": "string", + "pattern": "^CVSS:3.0/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" + }, + "attackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/attackVectorType" + }, + "attackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/attackComplexityType" + }, + "privilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/privilegesRequiredType" + }, + "userInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/userInteractionType" + }, + "scope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scopeType" + }, + "confidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaType" + }, + "integrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaType" + }, + "availabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaType" + }, + "baseScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scoreType" + }, + "baseSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/severityType" + }, + "exploitCodeMaturity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/exploitCodeMaturityType" + }, + "remediationLevel": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/remediationLevelType" + }, + "reportConfidence": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/confidenceType" + }, + "temporalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scoreType" + }, + "temporalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/severityType" + }, + "confidentialityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaRequirementType" + }, + "integrityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaRequirementType" + }, + "availabilityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaRequirementType" + }, + "modifiedAttackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedAttackVectorType" + }, + "modifiedAttackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedAttackComplexityType" + }, + "modifiedPrivilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedPrivilegesRequiredType" + }, + "modifiedUserInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedUserInteractionType" + }, + "modifiedScope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedScopeType" + }, + "modifiedConfidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedCiaType" + }, + "modifiedIntegrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedCiaType" + }, + "modifiedAvailabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedCiaType" + }, + "environmentalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scoreType" + }, + "environmentalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/severityType" + } + }, + "required": [ + "version", + "vectorString", + "baseScore", + "baseSeverity" + ] + }, + "cvssV2_0": { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "JSON Schema for Common Vulnerability Scoring System version 2.0", + "type": "object", + "definitions": { + "accessVectorType": { + "type": "string", + "enum": [ + "NETWORK", + "ADJACENT_NETWORK", + "LOCAL" + ] + }, + "accessComplexityType": { + "type": "string", + "enum": [ + "HIGH", + "MEDIUM", + "LOW" + ] + }, + "authenticationType": { + "type": "string", + "enum": [ + "MULTIPLE", + "SINGLE", + "NONE" + ] + }, + "ciaType": { + "type": "string", + "enum": [ + "NONE", + "PARTIAL", + "COMPLETE" + ] + }, + "exploitabilityType": { + "type": "string", + "enum": [ + "UNPROVEN", + "PROOF_OF_CONCEPT", + "FUNCTIONAL", + "HIGH", + "NOT_DEFINED" + ] + }, + "remediationLevelType": { + "type": "string", + "enum": [ + "OFFICIAL_FIX", + "TEMPORARY_FIX", + "WORKAROUND", + "UNAVAILABLE", + "NOT_DEFINED" + ] + }, + "reportConfidenceType": { + "type": "string", + "enum": [ + "UNCONFIRMED", + "UNCORROBORATED", + "CONFIRMED", + "NOT_DEFINED" + ] + }, + "collateralDamagePotentialType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "LOW_MEDIUM", + "MEDIUM_HIGH", + "HIGH", + "NOT_DEFINED" + ] + }, + "targetDistributionType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "MEDIUM", + "HIGH", + "NOT_DEFINED" + ] + }, + "ciaRequirementType": { + "type": "string", + "enum": [ + "LOW", + "MEDIUM", + "HIGH", + "NOT_DEFINED" + ] + }, + "scoreType": { + "type": "number", + "minimum": 0, + "maximum": 10 + } + }, + "properties": { + "version": { + "description": "CVSS Version", + "type": "string", + "enum": [ + "2.0" + ] + }, + "vectorString": { + "type": "string", + "pattern": "^((AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))/)*(AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))$" + }, + "accessVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/accessVectorType" + }, + "accessComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/accessComplexityType" + }, + "authentication": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/authenticationType" + }, + "confidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaType" + }, + "integrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaType" + }, + "availabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaType" + }, + "baseScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/scoreType" + }, + "exploitability": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/exploitabilityType" + }, + "remediationLevel": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/remediationLevelType" + }, + "reportConfidence": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/reportConfidenceType" + }, + "temporalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/scoreType" + }, + "collateralDamagePotential": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/collateralDamagePotentialType" + }, + "targetDistribution": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/targetDistributionType" + }, + "confidentialityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaRequirementType" + }, + "integrityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaRequirementType" + }, + "availabilityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaRequirementType" + }, + "environmentalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/scoreType" + } + }, + "required": [ + "version", + "vectorString", + "baseScore" + ] + }, + "other": { + "type": "object", + "description": "a non-standard impact description, may be prose or JSON block", + "required": [ + "type", + "content" + ], + "properties": { + "type": { + "description": "name of the non-standard impact metrics format used.", + "type": "string", + "minLength": 1, + "maxLength": 128 + }, + "content": { + "type": "object", + "description": "JSON object not covered by another metrics format", + "minProperties": 1 + } + } + } + } + } + }, + "configurations": { + "type": "array", + "description": "Configurations required for exploiting this vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "workarounds": { + "type": "array", + "description": "Workarounds and mitigations for this vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "solutions": { + "type": "array", + "description": "Information about solutions or remediations available for this vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "exploits": { + "type": "array", + "description": "Information about exploits of the vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "timeline": { + "type": "array", + "description": "This is timeline information for significant events about this vulnerability or changes to CVE entry", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "required": [ + "time", + "lang", + "value" + ], + "properties": { + "time": { + "description": "Timestamp representing when the event in the timeline occurred. The timestamp format is based on RFC3339 and ISO ISO8601, with an optional timezone. yyyy-MM-ddTHH:mm:ssZZZZ - if the timezone offset is not given, GMT (0000) is assumed.", + "$ref": "#/definitions/timestamp" + }, + "lang": { + "description": "The language used in the description of the event. The language field is included so that CVE records can support translations. The value must be a BCP 47 language code.", + "$ref": "#/definitions/language" + }, + "value": { + "description": "A summary of the event.", + "type": "string", + "minLength": 1, + "maxLength": 4000 + } + } + } + }, + "credits": { + "type": "array", + "description": "Statements acknowledging specific people, organizations, or tools recognizing the work done in researching, discovering, remediating or helping with activities related to this CVE.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "lang": { + "description": "The language used when describing the credits. The language field is included so that CVE records can support translations. The value must be a BCP 47 language code.", + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "minLength": 1, + "maxLength": 4000 + }, + "user": { + "description": "UUID of the user being credited if present in the CVE User Registry (optional). This UUID can be used to lookup the user record in the user registry service.", + "$ref": "#/definitions/uuidType" + }, + "type": { + "type": "string", + "description": "Type or role of the entity being credited (optional). finder: identifies the vulnerability.\nreporter: notifies the vendor of the vulnerability to a CNA.\nanalyst: validates the vulnerability to ensure accuracy or severity.\ncoordinator: facilitates the coordinated response process.\nremediation developer: prepares a code change or other remediation plans.\nremediation reviewer: reviews vulnerability remediation plans or code changes for effectiveness and completeness.\nremediation verifier: tests and verifies the vulnerability or its remediation.\ntool: names of tools used in vulnerability discovery or identification.\nsponsor: supports the vulnerability identification or remediation activities.", + "default": "finder", + "enum": [ + "finder", + "reporter", + "analyst", + "coordinator", + "remediation developer", + "remediation reviewer", + "remediation verifier", + "tool", + "sponsor", + "other" + ] + } + }, + "required": [ + "lang", + "value" + ] + } + }, + "source": { + "type": "object", + "description": "This is the source information (who discovered it, who researched it, etc.) and optionally a chain of CNA information (e.g. the originating CNA and subsequent parent CNAs who have processed it before it arrives at the MITRE root).\n Must contain: IF this is in the root level it MUST contain a CNA_chain entry, IF this source entry is NOT in the root (e.g. it is part of a vendor statement) then it must contain at least one type of data entry.", + "minProperties": 1 + }, + "language": { + "type": "string", + "description": "BCP 47 language code, language-region", + "default": "en", + "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" + }, + "taxonomyMappings": { + "type": "array", + "description": "List of taxonomy items related to the vulnerability", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "", + "required": [ + "taxonomyName", + "taxonomyRelations" + ], + "properties": { + "taxonomyName": { + "type": "string", + "description": "The name of the taxonomy", + "minLength": 1, + "maxLength": 128 + }, + "taxonomyVersion": { + "type": "string", + "description": "The version of taxonomy the identifiers come from.", + "minLength": 1, + "maxLength": 128 + }, + "taxonomyRelations": { + "type": "array", + "description": "", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "List of relationships to the taxonomy for the vulnerability. Relationships can be between the taxonomy and the CVE or two taxonomy items", + "required": [ + "taxonomyId", + "relationshipName", + "relationshipValue" + ], + "properties": { + "taxonomyId": { + "type": "string", + "description": "Identifier of the item in the taxonomy. Used as the subject of the relationship.", + "minLength": 1, + "maxLength": 2000 + }, + "relationshipName": { + "type": "string", + "description": "A description of the relationship", + "minLength": 1, + "maxLength": 128 + }, + "relationshipValue": { + "type": "string", + "description": "The target of the relationship. Can be the CVE ID or another taxonomy identifier", + "minLength": 1, + "maxLength": 2000 + } + } + } + } + } + } + }, + "tagExtension": { + "type": "string", + "minLength": 2, + "maxLength": 128, + "pattern": "^x_.*$" + }, + "cnaTags": { + "type": "array", + "description": "Tags describing the CVE entry", + "uniqueItems": true, + "minItems": 1, + "items": { + "oneOf": [ + { + "$ref": "#/definitions/tagExtension" + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://cve.mitre.org/cve/v5_00/tags/cna/", + "type": "string", + "description": "exclusively-hosted-service: All known software and/or hardware affected by this CVE Record is known to exist only in the affected hosted service. If the vulnerability affects both hosted and on-prem software and/or hardware, then the tag should not be used.\n\nunsupported-when-assigned: Used by the assigning CNA to indicate that when a request for a CVE assignment was received, the product was already end-of-life (EOL) or a product or specific version was deemed not to be supported by the vendor. This tag should only be applied to a CVE Record when all affected products or version lines referenced in the CVE-Record are EOL.\n\ndisputed: When one party disagrees with another party's assertion that a particular issue in software is a vulnerability, a CVE Record assigned to that issue may be tagged as being 'disputed'.", + "enum": [ + "unsupported-when-assigned", + "exclusively-hosted-service", + "disputed" + ] + } + ] + } + } + }, + "properties": { + "cnaContainer": { + "description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA). There can only be one CNA container per CVE record since there can only be one assigning CNA. The CNA container must include the required information defined in the CVE Rules, which includes a product, version, problem type, prose description, and a reference.", + "type": "object", + "properties": { + "providerMetadata": { + "$ref": "#/definitions/providerMetadata" + }, + "descriptions": { + "$ref": "#/definitions/descriptions" + }, + "affected": { + "$ref": "#/definitions/affected" + }, + "problemTypes": { + "$ref": "#/definitions/problemTypes" + }, + "references": { + "$ref": "#/definitions/references" + }, + "impacts": { + "$ref": "#/definitions/impacts" + }, + "metrics": { + "$ref": "#/definitions/metrics" + }, + "configurations": { + "$ref": "#/definitions/configurations" + }, + "workarounds": { + "$ref": "#/definitions/workarounds" + }, + "solutions": { + "$ref": "#/definitions/solutions" + }, + "exploits": { + "$ref": "#/definitions/exploits" + }, + "timeline": { + "$ref": "#/definitions/timeline" + }, + "credits": { + "$ref": "#/definitions/credits" + }, + "source": { + "$ref": "#/definitions/source" + }, + "tags": { + "$ref": "#/definitions/cnaTags" + }, + "taxonomyMappings": { + "$ref": "#/definitions/taxonomyMappings" + } + }, + "required": [ + "descriptions", + "affected", + "references" + ], + "patternProperties": { + "^x_": {} + }, + "additionalProperties": false + } + }, + "required": ["cnaContainer"] +} \ No newline at end of file diff --git a/src/controller/cve.controller/cve.controller.js b/src/controller/cve.controller/cve.controller.js index 635dbd1f0..f75b9f18c 100644 --- a/src/controller/cve.controller/cve.controller.js +++ b/src/controller/cve.controller/cve.controller.js @@ -10,7 +10,6 @@ async function getCve (req, res, next) { const id = req.ctx.params.id const cveRepo = req.ctx.repositories.getCveRepository() const result = await cveRepo.findOneByCveId(id) - if (!result) { return res.status(404).json(error.cveRecordDne()) } @@ -73,7 +72,7 @@ async function getFilteredCves (req, res, next) { } if (assigner) { - query['cve.cveMetadata.assigner'] = assigner + query['cve.cveMetadata.assignerOrgId'] = assigner } const agt = [ @@ -119,7 +118,7 @@ async function submitCve (req, res, next) { try { const newCve = new Cve({ cve: req.ctx.body }) const id = req.ctx.params.id - const cveId = newCve.cve.cveMetadata.id + const cveId = newCve.cve.cveMetadata.cveId const state = newCve.cve.cveMetadata.state const cveRepo = req.ctx.repositories.getCveRepository() const cveIdRepo = req.ctx.repositories.getCveIdRepository() @@ -180,7 +179,7 @@ async function updateCve (req, res, next) { const cveIdRepo = req.ctx.repositories.getCveIdRepository() const orgRepo = req.ctx.repositories.getOrgRepository() const newCveMetaData = newCve.cve.cveMetadata - const newCveId = newCveMetaData.id + const newCveId = newCveMetaData.cveId const newCveState = newCveMetaData.state if (cveId !== newCveId) { @@ -228,9 +227,267 @@ async function updateCve (req, res, next) { } } +async function rejectCVE (req, res, next) { + try { + const id = req.ctx.params.id + const cveIdRepo = req.ctx.repositories.getCveIdRepository() + + // check that cve id exists + const cveId = await cveIdRepo.findOneByCveId(id) + if (!cveId || cveId.state === CONSTANTS.CVE_STATES.AVAILABLE) { + return res.status(400).json(error.cveDne()) + } + + // check that cve record does not exist + const cveRepo = req.ctx.repositories.getCveRepository() + let result = await cveRepo.findOneByCveId(id) + if (result) { + return res.status(400).json(error.cveRecordExists()) + } + + const orgRepo = req.ctx.repositories.getOrgRepository() + const orgId = orgRepo.getOrgUUID(cveId.owning_cna) + const rejectedCve = Cve.newRejectedCve(cveId, req.ctx.body, orgId, req.ctx.org) + const newCve = new Cve({ cve: rejectedCve }) + const state = newCve.cve.cveMetadata.state + result = await cveIdRepo.updateByCveId(cveId, { state: state }) + if (!result) { + return res.status(500).json(error.serverError()) + } + result = await cveRepo.updateByCveId(cveId, newCve, { upsert: true }) + if (!result) { + return res.status(500).json(error.serverError()) + } + + const responseMessage = { + message: cveId + ' record was successfully submitted.', + created: newCve.cve + } + + const payload = { + action: 'submit_rejected_cve_record', + change: id + ' record was successfully submitted.', + req_UUID: req.ctx.uuid, + org_UUID: await orgRepo.getOrgUUID(req.ctx.org), + cve: id + } + const userRepo = req.ctx.repositories.getUserRepository() + payload.user_UUID = await userRepo.getUserUUID(req.ctx.user, payload.org_UUID) + logger.info(JSON.stringify(payload)) + return res.status(200).json(responseMessage) + } catch (err) { + next(err) + } +} + +async function submitCna (req, res, next) { + try { + const id = req.ctx.params.id + const cveRepo = req.ctx.repositories.getCveRepository() + const cveIdRepo = req.ctx.repositories.getCveIdRepository() + const orgRepo = req.ctx.repositories.getOrgRepository() + const userRepo = req.ctx.repositories.getUserRepository() + const orgUuid = await orgRepo.getOrgUUID(req.ctx.org) + const userUuid = await userRepo.getUserUUID(req.ctx.user, orgUuid) + + // check that cve id exists + let result = await cveIdRepo.findOneByCveId(id) + if (!result || result.state === CONSTANTS.CVE_STATES.AVAILABLE) { + return res.status(400).json(error.cveDne()) + } + + // check that cveId org matches user org + const cveId = result + const isSecretariat = await orgRepo.isSecretariat(req.ctx.org) + if ((cveId.owning_cna !== orgUuid) && !isSecretariat) { + return res.status(403).json(error.owningOrgDoesNotMatch()) + } + + // check that cve record does not exist + result = await cveRepo.findOneByCveId(id) + if (result) { + return res.status(403).json(error.cveRecordExists()) + } + + // create full cve record here + const owningCna = await orgRepo.findOneByUUID(cveId.owning_cna) + const assignerShortName = owningCna.short_name + const cnaContainer = req.ctx.body.cnaContainer + const additionalCveMetadataFields = { + assignerShortName: assignerShortName, + requesterUserId: cveId.requested_by.user, + dateReserved: (cveId.reserved).toISOString(), + datePublished: (new Date()).toISOString() + } + const additionalProviderMetadataFields = { + shortName: assignerShortName + } + const cveRecord = Cve.newPublishedCve(id, cveId.owning_cna, cnaContainer, additionalCveMetadataFields, additionalProviderMetadataFields) + const cveModel = new Cve({ cve: cveRecord }) + + result = Cve.validateCveRecord(cveModel.cve) + if (!result) { + return res.status(500).json(error.serverError()) + } + + // change cve id state to publish + await cveIdRepo.updateByCveId(id, { state: CONSTANTS.CVE_STATES.PUBLISHED }) + await cveRepo.updateByCveId(id, cveModel, { upsert: true }) + + const responseMessage = { + message: id + ' record was successfully created.', + created: cveModel.cve + } + + const payload = { + action: 'create_cve_record_from_cna', + change: id + ' record was successfully created.', + req_UUID: req.ctx.uuid, + org_UUID: orgUuid, + user_UUID: userUuid, + cve: id + } + logger.info(JSON.stringify(payload)) + return res.status(200).json(responseMessage) + } catch (err) { + next(err) + } +} + +async function rejectExistingCve (req, res, next) { + try { + const id = req.ctx.params.id + const cveIdRepo = req.ctx.repositories.getCveIdRepository() + const cveRepo = req.ctx.repositories.getCveRepository() + + // check that cve id exists + const cveId = await cveIdRepo.findOneByCveId(id) + if (!cveId || cveId.state === CONSTANTS.CVE_STATES.AVAILABLE) { + return res.status(400).json(error.cveDne()) + } + + // check that cve record exists + let result = await cveRepo.findOneByCveId(id) + if (!result) { + return res.status(400).json(error.cveRecordExists()) + } + + const updatedRecord = Cve.updateCveToRejected(id, result.cve, req.ctx.body) + const updatedCve = new Cve({ cve: updatedRecord }) + result = Cve.validateRejected(updatedCve) + if (!result) { + return res.status(500).json(error.serverError()) + } + + result = await cveRepo.updateByCveId(id, updatedCve) + if (!result) { + return res.status(500).json(error.unableToUpdateByCveID()) + } + + const responseMessage = { + message: cveId + ' record was successfully submitted.', + created: updatedCve.cve + } + + const orgRepo = req.ctx.repositories.getOrgRepository() + const payload = { + action: 'update_rejected_cve_record', + change: id + ' record was successfully submitted.', + req_UUID: req.ctx.uuid, + org_UUID: await orgRepo.getOrgUUID(req.ctx.org), + cve: id + } + const userRepo = req.ctx.repositories.getUserRepository() + payload.user_UUID = await userRepo.getUserUUID(req.ctx.user, payload.org_UUID) + logger.info(JSON.stringify(payload)) + return res.status(200).json(responseMessage) + } catch (err) { + next(err) + } +} + +async function updateCna (req, res, next) { + try { + const id = req.ctx.params.id + const cveRepo = req.ctx.repositories.getCveRepository() + const cveIdRepo = req.ctx.repositories.getCveIdRepository() + const orgRepo = req.ctx.repositories.getOrgRepository() + const userRepo = req.ctx.repositories.getUserRepository() + const orgUuid = await orgRepo.getOrgUUID(req.ctx.org) + const userUuid = await userRepo.getUserUUID(req.ctx.user, orgUuid) + + // check that cve id exists + let result = await cveIdRepo.findOneByCveId(id) + if (!result || result.state === CONSTANTS.CVE_STATES.AVAILABLE) { + return res.status(400).json(error.cveDne()) + } + + // check that cveId org matches user org + const cveId = result + const isSecretariat = await orgRepo.isSecretariat(req.ctx.org) + if ((cveId.owning_cna !== orgUuid) && !isSecretariat) { + return res.status(403).json(error.owningOrgDoesNotMatch()) + } + + // check that cve record does exist + result = await cveRepo.findOneByCveId(id) + if (!result) { + return res.status(403).json(error.cveRecordDne()) + } + + // update cve record here + const cveRecord = result.cve + const cnaContainer = req.ctx.body.cnaContainer + cveRecord.cveMetadata.dateUpdated = (new Date()).toISOString() + if (cveRecord.cveMetadata.state !== CONSTANTS.CVE_STATES.PUBLISHED) { + cveRecord.cveMetadata.state = CONSTANTS.CVE_STATES.PUBLISHED + } + const providerMetadata = Object.assign({}, cveRecord.containers.cna.providerMetadata) + providerMetadata.dateUpdated = (new Date()).toISOString() + cnaContainer.providerMetadata = providerMetadata + cveRecord.containers.cna = cnaContainer + const cveModel = new Cve({ cve: cveRecord }) + result = Cve.validateCveRecord(cveModel.cve) + if (!result) { + return res.status(500).json(error.serverError()) + } + + // change cve id state to publish + if (cveId.state === CONSTANTS.CVE_STATES.REJECTED) { + result = await cveIdRepo.updateByCveId(id, { state: CONSTANTS.CVE_STATES.PUBLISHED }) + if (!result) { + return res.status(500).json(error.serverError()) + } + } + await cveRepo.updateByCveId(id, cveModel) + + const responseMessage = { + message: id + ' record was successfully updated.', + created: cveModel.cve + } + + const payload = { + action: 'update_cve_record_from_cna', + change: id + ' record was successfully updated.', + req_UUID: req.ctx.uuid, + org_UUID: orgUuid, + user_UUID: userUuid, + cve: id + } + logger.info(JSON.stringify(payload)) + return res.status(200).json(responseMessage) + } catch (err) { + next(err) + } +} + module.exports = { CVE_GET_SINGLE: getCve, CVE_GET_FILTERED: getFilteredCves, CVE_SUBMIT: submitCve, - CVE_UPDATE_SINGLE: updateCve + CVE_UPDATE_SINGLE: updateCve, + CVE_REJECT_RECORD: rejectCVE, + CVE_SUBMIT_CNA: submitCna, + CVE_REJECT_EXISTING_CVE: rejectExistingCve, + CVE_UPDATE_CNA: updateCna } diff --git a/src/controller/cve.controller/cve.middleware.js b/src/controller/cve.controller/cve.middleware.js index 6599619fd..dacacde55 100644 --- a/src/controller/cve.controller/cve.middleware.js +++ b/src/controller/cve.controller/cve.middleware.js @@ -2,6 +2,16 @@ const { validationResult } = require('express-validator') const errors = require('./error') const error = new errors.CveControllerError() const utils = require('../../utils/utils') +const fs = require('fs') +const RejectedSchema = JSON.parse(fs.readFileSync('src/middleware/Reject_5.0_Schema.json')) +const cnaContainerSchema = JSON.parse(fs.readFileSync('src/controller/cve.controller/cna_container_schema.json')) +const logger = require('../../middleware/logger') +const Ajv = require('ajv') +const addFormats = require('ajv-formats') +const ajv = new Ajv({ allErrors: true }) +addFormats(ajv) +const validateRejected = ajv.compile(RejectedSchema) +const validateCnaContainer = ajv.compile(cnaContainerSchema) function parsePostParams (req, res, next) { utils.reqCtxMapping(req, 'body', []) @@ -42,9 +52,62 @@ function parseError (req, res, next) { next() } +function onlyOneEnglishDescription (arr) { + const arrayLength = arr.length + let numEnglishFound = 0 // for checking how many times an english field shows up + for (var i = 0; i < arrayLength; i++) { + if (arr[i].lang === 'en') { + numEnglishFound += 1 + } + + if (numEnglishFound > 1) { // return error if more than 1 english description is found + return null + } + } + return numEnglishFound +} + +function validateRejectBody (req, res, next) { + const rejectBody = req.body + const result = validateRejected(rejectBody) // validate function is based on custom schema + + if (!result) { + const temp = validateRejected.errors + const errors = [] + temp.forEach((error) => { + if (error !== '') { + errors.push(error) + } + }) + return res.status(400).json(error.invalidJsonSchema(errors)) + } + next() +} + +function validateCveCnaContainerJsonSchema (req, res, next) { + const cnaContainer = req.body + const result = validateCnaContainer(cnaContainer) + if (!result) { + logger.error(JSON.stringify({ uuid: req.ctx.uuid, message: 'CVE JSON schema validation FAILED.' })) + const temp = validateCnaContainer.errors + const errorsArray = [] + temp.forEach((error) => { + if (error !== '') { + errorsArray.push(error) + } + }) + return res.status(400).json(error.invalidCnaContainerJsonSchema(errorsArray)) + } + logger.info(JSON.stringify({ uuid: req.ctx.uuid, message: 'SUCCESSFUL CVE JSON schema validation.' })) + next() +} + module.exports = { parseGetParams, parsePostParams, parseError, - toDate + toDate, + validateCveCnaContainerJsonSchema, + onlyOneEnglishDescription, + validateRejectBody } diff --git a/src/controller/cve.controller/error.js b/src/controller/cve.controller/error.js index eb33e8c25..5c7e5c705 100644 --- a/src/controller/cve.controller/error.js +++ b/src/controller/cve.controller/error.js @@ -42,6 +42,30 @@ class CveControllerError extends idrErr.IDRError { err.message = `Cannot update cve record in state ${state}.` return err } + + invalidCnaContainerJsonSchema (errors) { // cve + const err = {} + err.error = 'INVALID_JSON_SCHEMA' + err.message = 'CVE cnaContainer JSON schema validation FAILED.' + err.details = { + errors: errors + } + return err + } + + owningOrgDoesNotMatch () { // cve + const err = {} + err.error = 'CVEID_ORG_DOES_NOT_MATCH' + err.message = 'The cve id owning org does not match user org.' + return err + } + + unableToUpdateByCveID () { // cve + const err = {} + err.error = 'UNABLE_TO_UPDATE_BY_CVE_ID' + err.message = 'Could not update by CVE id.' + return err + } } module.exports = { diff --git a/src/controller/cve.controller/index.js b/src/controller/cve.controller/index.js index ccc5f6cf9..cc0779660 100644 --- a/src/controller/cve.controller/index.js +++ b/src/controller/cve.controller/index.js @@ -2,8 +2,8 @@ const express = require('express') const router = express.Router() const mw = require('../../middleware/middleware') const controller = require('./cve.controller') -const { param, query } = require('express-validator') -const { parseGetParams, parsePostParams, parseError, toDate } = require('./cve.middleware') +const { body, param, query } = require('express-validator') +const { parseGetParams, parsePostParams, parseError, toDate, validateCveCnaContainerJsonSchema, validateRejectBody, onlyOneEnglishDescription } = require('./cve.middleware') const CONSTANTS = require('../../constants') const CHOICES = [CONSTANTS.CVE_STATES.REJECTED, CONSTANTS.CVE_STATES.PUBLISHED] @@ -25,8 +25,14 @@ router.get('/cve', parseGetParams, controller.CVE_GET_FILTERED) +/** + * This endpoint has become an internal admin endpoint restricted to Secretariat. + * + * The intention is to allow an endpoint where the Secretariat can do a full replacement + * of the record in severe cases where data integrity is of concern. + */ router.post('/cve/:id', - mw.onlyCnas, + mw.onlySecretariat, mw.validateUser, mw.validateCveJsonSchema, param(['id']).isString().matches(/^CVE-[0-9]{4}-[0-9]{4,}$/i), @@ -34,8 +40,14 @@ router.post('/cve/:id', parsePostParams, controller.CVE_SUBMIT) +/** + * This endpoint has become an internal admin endpoint restricted to Secretariat. + * + * The intention is to allow an endpoint where the Secretariat can do a full replacement + * of the record in severe cases where data integrity is of concern. + */ router.put('/cve/:id', - mw.onlyCnas, + mw.onlySecretariat, mw.validateUser, mw.validateCveJsonSchema, param(['id']).isString().matches(/^CVE-[0-9]{4}-[0-9]{4,}$/i), @@ -43,4 +55,58 @@ router.put('/cve/:id', parsePostParams, controller.CVE_UPDATE_SINGLE) +router.post('/cve/:id/cna', + mw.onlyCnas, + mw.validateUser, + validateCveCnaContainerJsonSchema, + param(['id']).isString().matches(/^CVE-[0-9]{4}-[0-9]{4,}$/i), + parseError, + parsePostParams, + mw.cnaMustOwnID, + controller.CVE_SUBMIT_CNA) + +router.put('/cve/:id/cna', + mw.onlyCnas, + mw.validateUser, + validateCveCnaContainerJsonSchema, + param(['id']).isString().matches(/^CVE-[0-9]{4}-[0-9]{4,}$/i), + parseError, + parsePostParams, + mw.cnaMustOwnID, + controller.CVE_UPDATE_CNA) + +router.post('/cve/:id/reject', + mw.onlyCnas, + mw.validateUser, + validateRejectBody, + param(['id']).isString().matches(/^CVE-[0-9]{4}-[0-9]{4,}$/i), + body(['cnaContainer.rejectedReasons']).isArray().custom((arr) => { + if (onlyOneEnglishDescription(arr) !== 1) { + throw new Error(400, 'Bad request, more than one English description found') + } + return true + }), + body(['cnaContainer.replacedBy']).optional().isArray(), + parseError, + parsePostParams, + mw.cnaMustOwnID, + controller.CVE_REJECT_RECORD) + +router.put('/cve/:id/reject', + mw.onlyCnas, + mw.validateUser, + validateRejectBody, + param(['id']).isString().matches(/^CVE-[0-9]{4}-[0-9]{4,}$/i), + body(['cnaContainer.rejectedReasons']).isArray().custom((arr) => { + if (onlyOneEnglishDescription(arr) !== 1) { + throw new Error(400, 'Bad request, more than one English description found') + } + return true + }), + body(['cnaContainer.replacedBy']).optional().isArray(), + parseError, + parsePostParams, + mw.cnaMustOwnID, + controller.CVE_REJECT_EXISTING_CVE) + module.exports = router diff --git a/src/controller/org.controller/index.js b/src/controller/org.controller/index.js index b64507412..548a52bf1 100644 --- a/src/controller/org.controller/index.js +++ b/src/controller/org.controller/index.js @@ -24,9 +24,9 @@ router.post('/org', parseError, parsePostParams, controller.ORG_CREATE_SINGLE) -router.get('/org/:shortname', +router.get('/org/:identifier', mw.validateUser, - param(['shortname']).isString().trim().escape(), + param(['identifier']).isString().trim().escape(), parseError, parseGetParams, controller.ORG_SINGLE) diff --git a/src/controller/org.controller/org.controller.js b/src/controller/org.controller/org.controller.js index 78ac9750b..b025cda0d 100644 --- a/src/controller/org.controller/org.controller.js +++ b/src/controller/org.controller/org.controller.js @@ -8,6 +8,7 @@ const cryptoRandomString = require('crypto-random-string') const uuid = require('uuid') const errors = require('./error') const error = new errors.OrgControllerError() +const uuidAPIKey = require('uuid-apikey') // Get the details of all orgs async function getOrgs (req, res, next) { @@ -41,25 +42,33 @@ async function getOrgs (req, res, next) { async function getOrg (req, res, next) { try { const orgShortName = req.ctx.org - const shortName = req.ctx.params.shortname + const identifier = req.ctx.params.identifier const repo = req.ctx.repositories.getOrgRepository() const isSecretariat = await repo.isSecretariat(orgShortName) + const org = await repo.findOneByShortName(orgShortName) + let orgIdentifer = orgShortName + let agt = setAggregateOrgObj({ short_name: identifier }) - if (orgShortName !== shortName && !isSecretariat) { - logger.info({ uuid: req.ctx.uuid, message: shortName + ' organization can only be viewed by the users of the same organization or the Secretariat.' }) + // check if identifier is uuid and if so, reassign agt and orgIdentifier + if (uuidAPIKey.isUUID(identifier)) { + orgIdentifer = org.UUID + agt = setAggregateOrgObj({ UUID: identifier }) + } + + if (orgIdentifer !== identifier && !isSecretariat) { + logger.info({ uuid: req.ctx.uuid, message: identifier + ' organization can only be viewed by the users of the same organization or the Secretariat.' }) return res.status(403).json(error.notSameOrgOrSecretariat()) } - const agt = setAggregateOrgObj({ short_name: shortName }) let result = await repo.aggregate(agt) result = result.length > 0 ? result[0] : null if (!result) { // an empty result can only happen if the requestor is the Secretariat - logger.info({ uuid: req.ctx.uuid, message: shortName + ' organization does not exist.' }) - return res.status(404).json(error.orgDneParam(shortName)) + logger.info({ uuid: req.ctx.uuid, message: identifier + ' organization does not exist.' }) + return res.status(404).json(error.orgDneParam(identifier)) } - logger.info({ uuid: req.ctx.uuid, message: shortName + ' organization was sent to the user.', org: result }) + logger.info({ uuid: req.ctx.uuid, message: identifier + ' organization was sent to the user.', org: result }) return res.status(200).json(result) } catch (err) { next(err) @@ -625,27 +634,22 @@ async function resetSecret (req, res, next) { const requesterUsername = req.ctx.user const username = req.ctx.params.username const orgShortName = req.ctx.params.shortname - const newUser = new User() - const randomKey = cryptoRandomString({ length: CONSTANTS.CRYPTO_RANDOM_STRING_LENGTH }) - newUser.secret = await argon2.hash(randomKey) // store in db - newUser.username = username const userRepo = req.ctx.repositories.getUserRepository() const orgRepo = req.ctx.repositories.getOrgRepository() const orgUUID = await orgRepo.getOrgUUID(orgShortName) // userUUID may be null if user does not exist - const isSecretariat = await orgRepo.isSecretariat(requesterShortName) - const isAdmin = await userRepo.isAdmin(requesterUsername, requesterShortName) - if (!orgUUID) { logger.info({ uuid: req.ctx.uuid, messsage: orgShortName + ' organization does not exist.' }) return res.status(404).json(error.orgDneParam(orgShortName)) } - const user = await userRepo.updateByUserNameAndOrgUUID(newUser.username, orgUUID, newUser) - if (user.n === 0) { - logger.info({ uuid: req.ctx.uuid, message: 'The user could not be updated because ' + username + ' does not exist for ' + orgShortName + ' organization.' }) + const oldUser = await userRepo.findOneByUserNameAndOrgUUID(username, orgUUID) + if (!oldUser) { + logger.info({ uuid: req.ctx.uuid, messsage: username + ' user does not exist.' }) return res.status(404).json(error.userDne(username)) } + const isSecretariat = await orgRepo.isSecretariat(requesterShortName) + const isAdmin = await userRepo.isAdmin(requesterUsername, requesterShortName) // check if the user is not the requester or if the requester is not a secretariat if ((orgShortName !== requesterShortName || username !== requesterUsername) && !isSecretariat) { // check if the requester is not and admin; if admin, the requester must be from the same org as the user @@ -655,6 +659,14 @@ async function resetSecret (req, res, next) { } } + const randomKey = cryptoRandomString({ length: CONSTANTS.CRYPTO_RANDOM_STRING_LENGTH }) + oldUser.secret = await argon2.hash(randomKey) // store in db + const user = await userRepo.updateByUserNameAndOrgUUID(oldUser.username, orgUUID, oldUser) + if (user.n === 0) { + logger.info({ uuid: req.ctx.uuid, message: 'The user could not be updated because ' + username + ' does not exist for ' + orgShortName + ' organization.' }) + return res.status(404).json(error.userDne(username)) + } + logger.info({ uuid: req.ctx.uuid, message: `The API secret was successfully reset and sent to ${username}` }) const payload = { action: 'reset_userAPIkey', diff --git a/src/controller/org.controller/org.middleware.js b/src/controller/org.controller/org.middleware.js index 273dc0663..bee87ed33 100644 --- a/src/controller/org.controller/org.middleware.js +++ b/src/controller/org.controller/org.middleware.js @@ -37,7 +37,7 @@ function parsePostParams (req, res, next) { } function parseGetParams (req, res, next) { - utils.reqCtxMapping(req, 'params', ['shortname', 'username']) + utils.reqCtxMapping(req, 'params', ['shortname', 'username', 'identifier']) utils.reqCtxMapping(req, 'query', ['page']) next() } diff --git a/src/middleware/5.0_bundled_schema.json b/src/middleware/5.0_bundled_schema.json index 2a7a93799..6b077d9cd 100644 --- a/src/middleware/5.0_bundled_schema.json +++ b/src/middleware/5.0_bundled_schema.json @@ -1,15 +1,16 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://cve.mitre.org/cve/v5_00/", + "$id": "https://cve.org/cve/record/v5_00/", "type": "object", "title": "CVE JSON record format", - "description": "cve-schema specifies the CVE JSON record format. This is the blueprint for a rich set of JSON data that can be submitted by CVE Numbering Authorities (CNAs) and Authorized Data Publishers (ADPs) to describe a CVE record. Some examples of CVE record data include CVE ID number, affected product(s), affected version(s), and public references. While those specific items are required when assigning a CVE, there are many other optional data in the schema that can be used to enrich CVE records for community benefit. Learn more about the CVE program at [the official website](https://cve.mitre.org). This CVE JSON record format is defined using JSON Schema. Learn more about JSON Schema [here](https://json-schema.org/).", + "description": "cve-schema specifies the CVE JSON record format. This is the blueprint for a rich set of JSON data that can be submitted by CVE Numbering Authorities (CNAs) and Authorized Data Publishers (ADPs) to describe a CVE Record. Some examples of CVE Record data include CVE ID number, affected product(s), affected version(s), and public references. While those specific items are required when assigning a CVE, there are many other optional data in the schema that can be used to enrich CVE Records for community benefit. Learn more about the CVE program at [the official website](https://cve.mitre.org). This CVE JSON record format is defined using JSON Schema. Learn more about JSON Schema [here](https://json-schema.org/).", "definitions": { "uriType": { "description": "A universal resource identifier (URI), according to [RFC 3986](https://tools.ietf.org/html/rfc3986).", "type": "string", "format": "uri", - "minLength": 1 + "minLength": 1, + "maxLength": 2000 }, "uuidType": { "description": "A version 4 (random) universally unique identifier (UUID) as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122#section-4.1.3).", @@ -33,7 +34,7 @@ "minLength": 1 }, "tags": { - "description": "an array of one or more tags that describe the resource referenced by 'url'.", + "description": "An array of one or more tags that describe the resource referenced by 'url'.", "type": "array", "minItems": 1, "uniqueItems": true, @@ -79,21 +80,21 @@ "pattern": "^CVE-[0-9]{4}-[0-9]{4,19}$" }, "orgId": { - "description": "a UUID for an organization participating in the CVE program. This UUID can be used to lookup the organization record in the user registry service.", + "description": "A UUID for an organization participating in the CVE program. This UUID can be used to lookup the organization record in the user registry service.", "$ref": "#/definitions/uuidType" }, "userId": { - "description": "a UUID for a user participating in the CVE program. This UUID can be used to lookup the user record in the user registry service.", + "description": "A UUID for a user participating in the CVE program. This UUID can be used to lookup the user record in the user registry service.", "$ref": "#/definitions/uuidType" }, "shortName": { - "description": "a 3-12 character name that can be used to complement an organization's UUID.", + "description": "A 3-12 character name that can be used to complement an organization's UUID.", "type": "string", "minLength": 3, "maxLength": 12 }, "datestamp": { - "description": "Date/time format based on RFC3339 and ISO ISO8601", + "description": "Date/time format based on RFC3339 and ISO ISO8601.", "type": "string", "format": "date", "pattern": "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))$" @@ -124,7 +125,7 @@ "description": "Provides information about the set of products and services affected by this vulnerability.", "allOf": [ { - "oneOf": [ + "anyOf": [ { "required": [ "vendor", @@ -257,7 +258,7 @@ }, "modules": { "type": "array", - "description": "A list of the affected components, features, modules, sub-components, sub-products, APIs, commands, utilities, programs, or functionalities (optional)", + "description": "A list of the affected components, features, modules, sub-components, sub-products, APIs, commands, utilities, programs, or functionalities (optional).", "uniqueItems": true, "items": { "type": "string", @@ -268,11 +269,13 @@ }, "programFiles": { "type": "array", - "description": "A list of the affected source code files (optional)", + "description": "A list of the affected source code files (optional).", "uniqueItems": true, "items": { - "description": "Name or path or location of the affected source code file in RFC3986 compliant format (optional).", - "$ref": "#/definitions/uriType" + "description": "Name or path or location of the affected source code file.", + "type": "string", + "minLength": 1, + "maxLength": 1024 } }, "programRoutines": { @@ -334,7 +337,7 @@ "uniqueItems": true, "items": { "type": "object", - "description": "A single version or a range of versions, with vulnerability status.\n\nAn entry with only 'version' and 'status' indicates the status of a single version.\n\nOtherwise, an entry describes a range; it must include the 'versionType' property, to define the version numbering semantics in use, and 'limit', to indicate the non-inclusive upper limit of the range. The object describes the status for versions V such that 'version' <= V and V < 'limit', using the <= and < semantics defined for the specific kind of 'versionType'. Status changes within the range can be specified by an optional 'changes' list.\n\nThe algorithm to decide the status specified for a version V is:\n\n\tfor entry in product.versions {\n\t\tif entry.lessThan is not present and entry.lessThanOrEqual is not present and v == entry.version {\n\t\t\treturn entry.status\n\t\t}\n\t\tif (entry.lessThan is present and entry.version <= v and v < entry.lessThan) or\n\t\t (entry.lessThanOrEqual is present and entry.version <= v and v <= entry.lessThanOrEqual) { // <= and < defined by entry.versionType\n\t\t\tstatus = entry.status\n\t\t\tfor change in entry.changes {\n\t\t\t\tif change.at <= v {\n\t\t\t\t\tstatus = change.status\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn status\n\t\t}\n\t}\n\treturn product.defaultStatus\n\n", + "description": "A single version or a range of versions, with vulnerability status.\n\nAn entry with only 'version' and 'status' indicates the status of a single version.\n\nOtherwise, an entry describes a range; it must include the 'versionType' property, to define the version numbering semantics in use, and 'limit', to indicate the non-inclusive upper limit of the range. The object describes the status for versions V such that 'version' <= V and V < 'limit', using the <= and < semantics defined for the specific kind of 'versionType'. Status changes within the range can be specified by an optional 'changes' list.\n\nThe algorithm to decide the status specified for a version V is:\n\n\tfor entry in product.versions {\n\t\tif entry.lessThan is not present and entry.lessThanOrEqual is not present and v == entry.version {\n\t\t\treturn entry.status\n\t\t}\n\t\tif (entry.lessThan is present and entry.version <= v and v < entry.lessThan) or\n\t\t (entry.lessThanOrEqual is present and entry.version <= v and v <= entry.lessThanOrEqual) { // <= and < defined by entry.versionType\n\t\t\tstatus = entry.status\n\t\t\tfor change in entry.changes {\n\t\t\t\tif change.at <= v {\n\t\t\t\t\tstatus = change.status\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn status\n\t\t}\n\t}\n\treturn product.defaultStatus\n\n.", "oneOf": [ { "required": [ @@ -423,15 +426,6 @@ } } }, - "replacedBy": { - "type": "array", - "description": "Contains an array of CVE IDs that this CVE ID was rejected in favor of because the this CVE ID was assigned to the vulnerabilities", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/cveId" - } - }, "dataType": { "description": "Indicates the type of information represented in the JSON instance.", "type": "string", @@ -450,35 +444,35 @@ "description": "This is meta data about the CVE ID such as the CVE ID, who requested it, who assigned it, when it was requested, the current state (PUBLISHED, REJECTED, etc.) and so on. These fields are controlled by the CVE Services.", "type": "object", "required": [ - "id", - "assigner", + "cveId", + "assignerOrgId", "state" ], "properties": { - "id": { + "cveId": { "description": "The CVE identifier that this record pertains to.", "$ref": "#/definitions/cveId" }, - "assigner": { + "assignerOrgId": { "$ref": "#/definitions/orgId", - "description": "the UUID for the organization to which the CVE ID was originally assigned. This UUID can be used to lookup the organization record in the user registry service." + "description": "The UUID for the organization to which the CVE ID was originally assigned. This UUID can be used to lookup the organization record in the user registry service." }, "assignerShortName": { "$ref": "#/definitions/shortName", - "description": "the short name for the organization to which the CVE ID was originally assigned" + "description": "The short name for the organization to which the CVE ID was originally assigned." }, - "requester": { + "requesterUserId": { "$ref": "#/definitions/userId", - "description": "the user that requested the CVE identifier" + "description": "The user that requested the CVE identifier." }, - "updated": { - "description": "the date/time the record was last updated", + "dateUpdated": { + "description": "The date/time the record was last updated.", "$ref": "#/definitions/timestamp" }, "serial": { "type": "integer", "minimum": 1, - "description": "starts at 1, add 1 every time an entry is updated or changed" + "description": "The system of record causes this to start at 1, and increment by 1 each time a submission from a data provider changes this CVE Record. The incremented value moves to the Rejected schema upon a PUBLISHED->REJECTED transition, and moves to the Published schema upon a REJECTED->PUBLISHED transition." }, "dateReserved": { "$ref": "#/definitions/timestamp", @@ -486,10 +480,10 @@ }, "datePublished": { "$ref": "#/definitions/timestamp", - "description": "The date/time the CVE record was first published in the CVE List." + "description": "The date/time the CVE Record was first published in the CVE List." }, "state": { - "description": "State of CVE - PUBLISHED, RESERVED, REJECTED", + "description": "State of CVE - PUBLISHED, REJECTED.", "type": "string", "enum": [ "PUBLISHED" @@ -498,73 +492,39 @@ }, "additionalProperties": false }, - "cveMetadataReserved": { - "type": "object", - "description": "This is meta data about the CVE ID such as the CVE ID, who requested it, who assigned it, when it was requested, the current state (PUBLISHED, REJECTED, etc.) and so on. These fields are controlled by the CVE Services.", - "required": [ - "id", - "state" - ], - "properties": { - "id": { - "description": "The CVE identifier that this record pertains to", - "$ref": "#/definitions/cveId" - }, - "assigner": { - "$ref": "#/definitions/orgId", - "description": "the UUID for the organization to which the CVE ID was originally assigned" - }, - "assignerShortName": { - "$ref": "#/definitions/shortName", - "description": "the short name for the organization to which the CVE ID was originally assigned" - }, - "state": { - "type": "string", - "description": "State of CVE - PUBLISHED, RESERVED, REJECTED", - "enum": [ - "RESERVED" - ] - }, - "dateReserved": { - "$ref": "#/definitions/timestamp", - "description": "The date/time this CVE ID was reserved in the CVE automation workgroup services system. Disclaimer: This date reflects when the CVE ID was reserved, and does not necessarily indicate when this vulnerability was discovered, shared with the affected vendor, publicly disclosed, or updated in CVE." - } - }, - "additionalProperties": false - }, "cveMetadataRejected": { "type": "object", "description": "This is meta data about the CVE ID such as the CVE ID, who requested it, who assigned it, when it was requested, the current state (PUBLISHED, REJECTED, etc.) and so on. These fields are controlled by the CVE Services.", "required": [ - "id", - "assigner", + "cveId", + "assignerOrgId", "state" ], "properties": { - "id": { - "description": "The CVE identifier that this record pertains to", + "cveId": { + "description": "The CVE identifier that this record pertains to.", "$ref": "#/definitions/cveId" }, - "assigner": { + "assignerOrgId": { "$ref": "#/definitions/orgId", - "description": "the UUID for the organization to which the CVE ID was originally assigned" + "description": "The UUID for the organization to which the CVE ID was originally assigned." }, "assignerShortName": { "$ref": "#/definitions/shortName", - "description": "the short name for the organization to which the CVE ID was originally assigned" + "description": "The short name for the organization to which the CVE ID was originally assigned." }, "serial": { "type": "integer", "minimum": 1, - "description": "starts at 1, add 1 every time an entry is updated or changed" + "description": "The system of record causes this to start at 1, and increment by 1 each time a submission from a data provider changes this CVE Record. The incremented value moves to the Rejected schema upon a PUBLISHED->REJECTED transition, and moves to the Published schema upon a REJECTED->PUBLISHED transition." }, - "updated": { - "description": "the date/time the record was last updated", + "dateUpdated": { + "description": "The date/time the record was last updated.", "$ref": "#/definitions/timestamp" }, "datePublished": { "$ref": "#/definitions/timestamp", - "description": "The date/time the CVE record was first published in the CVE List." + "description": "The date/time the CVE Record was first published in the CVE List." }, "dateRejected": { "$ref": "#/definitions/timestamp", @@ -572,7 +532,7 @@ }, "state": { "type": "string", - "description": "State of CVE - PUBLISHED, RESERVED, REJECTED", + "description": "State of CVE - PUBLISHED, REJECTED.", "enum": [ "REJECTED" ] @@ -586,19 +546,31 @@ }, "providerMetadata": { "type": "object", - "description": "will be updated to coordinate with CVE user registry, current identifier is an email address.", + "description": "Details related to the information container provider (CNA or ADP).", "properties": { - "id": { + "orgId": { "$ref": "#/definitions/orgId", - "description": "the container provider's organizational UUID" + "description": "The container provider's organizational UUID." }, "shortName": { "$ref": "#/definitions/shortName", - "description": "the container provider's organizational short name" + "description": "The container provider's organizational short name." }, - "updated": { + "dateUpdated": { "$ref": "#/definitions/timestamp", - "description": "Timestamp to be set by the system of record at time of submission. If updated is provided to the system of record it will be replaced by the current timestamp at the time of submission. If a provider has multiple contributions, they shall be consolidated to a final single contribution before submission, or the system of record will reject the input with, Rejected – simultaneous contributions by a single provider." + "description": "Timestamp to be set by the system of record at time of submission. If updatedDate is provided to the system of record it will be replaced by the current timestamp at the time of submission." + } + }, + "required": [ + "orgId" + ] + }, + "cnaPublishedContainer": { + "description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA) for a published CVE ID. There can only be one CNA container per CVE record since there can only be one assigning CNA. The CNA container must include the required information defined in the CVE Rules, which includes a product, version, problem type, prose description, and a reference.", + "type": "object", + "properties": { + "providerMetadata": { + "$ref": "#/definitions/providerMetadata" }, "dateAssigned": { "$ref": "#/definitions/timestamp", @@ -606,25 +578,13 @@ }, "datePublic": { "$ref": "#/definitions/timestamp", - "description": "if known, the date/time the vulnerability was disclosed publicly." + "description": "If known, the date/time the vulnerability was disclosed publicly." }, "title": { "type": "string", - "description": "Short title - if the description is long we may want a short title to refer to", + "description": "Short title - if the description is long we may want a short title to refer to.", "minLength": 1, "maxLength": 128 - } - }, - "required": [ - "id" - ] - }, - "cnaContainer": { - "description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA). There can only be one CNA container per CVE record since there can only be one assigning CNA. The CNA container must include the required information defined in the CVE Rules, which includes a product, version, problem type, prose description, and a reference.", - "type": "object", - "properties": { - "providerMetadata": { - "$ref": "#/definitions/providerMetadata" }, "descriptions": { "$ref": "#/definitions/descriptions" @@ -683,6 +643,36 @@ }, "additionalProperties": false }, + "cnaRejectedContainer": { + "description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA) for a rejected CVE ID. There can only be one CNA container per CVE record since there can only be one assigning CNA.", + "type": "object", + "properties": { + "providerMetadata": { + "$ref": "#/definitions/providerMetadata" + }, + "rejectedReasons": { + "description": "Reasons for rejecting this CVE Record.", + "$ref": "#/definitions/descriptions" + }, + "replacedBy": { + "type": "array", + "description": "Contains an array of CVE IDs that this CVE ID was rejected in favor of because the this CVE ID was assigned to the vulnerabilities.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/cveId" + } + } + }, + "required": [ + "providerMetadata", + "rejectedReasons" + ], + "patternProperties": { + "^x_": {} + }, + "additionalProperties": false + }, "adpContainer": { "description": "An object containing the vulnerability information provided by an Authorized Data Publisher (ADP). Since multiple ADPs can provide information for a CVE ID, an ADP container must indicate which ADP is the source of the information in the object.", "type": "object", @@ -690,6 +680,16 @@ "providerMetadata": { "$ref": "#/definitions/providerMetadata" }, + "datePublic": { + "$ref": "#/definitions/timestamp", + "description": "If known, the date/time the vulnerability was disclosed publicly." + }, + "title": { + "type": "string", + "description": "Short english language title - if the description is long we may want a short title to refer to.", + "minLength": 1, + "maxLength": 128 + }, "descriptions": { "$ref": "#/definitions/descriptions" }, @@ -745,27 +745,6 @@ }, "additionalProperties": false }, - "containers": { - "description": "A set of structures (called containers) used to store vulnerability information related to a specific CVE ID provided by a specific organization participating in the CVE program. Each container includes information provided by a different source.\n\nAt minimum, a 'cna' container containing the vulnerability information provided by the CNA who initially assigned the CVE ID must be included.\n\nThere can only be one 'cna' container, as there can only be one assigning CNA. However, there can be multiple 'adp' containers, allowing multiple organizations participating in the CVE program to add additional information related to the vulnerability. For the most part, the 'cna' and 'adp' containers contain the same properties. The main differences are the source of the information and the 'cna' container requires the CNA include certain fields, while the 'adp' container does not.", - "type": "object", - "properties": { - "cna": { - "$ref": "#/definitions/cnaContainer" - }, - "adp": { - "type": "array", - "items": { - "$ref": "#/definitions/adpContainer" - }, - "minItems": 1, - "uniqueItems": true - } - }, - "required": [ - "cna" - ], - "additionalProperties": false - }, "affected": { "type": "array", "description": "List of affected products.", @@ -836,6 +815,18 @@ ], "additionalProperties": false }, + "englishLanguageDescription": { + "type": "object", + "description": "A description with lang set to an English language (en, en_US, en_UK, and so on).", + "properties": { + "lang": { + "$ref": "#/definitions/englishLanguage" + } + }, + "required": [ + "lang" + ] + }, "descriptions": { "type": "array", "description": "A list of multi-lingual descriptions of the vulnerability. E.g., [PROBLEMTYPE] in [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] on [PLATFORMS] allows [ATTACKER] to [IMPACT] via [VECTOR]. OR [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] [ROOT CAUSE], which allows [ATTACKER] to [IMPACT] via [VECTOR].", @@ -843,11 +834,14 @@ "uniqueItems": true, "items": { "$ref": "#/definitions/description" + }, + "contains": { + "$ref": "#/definitions/englishLanguageDescription" } }, "problemTypes": { "type": "array", - "description": "This is problem type information (e.g. CWE identifier). Must contain: At least one entry, can be text, OWASP, CWE, please note that while only one is required you can use more than one (or indeed all three) as long as they are correct). (CNA requirement: [PROBLEMTYPE])", + "description": "This is problem type information (e.g. CWE identifier). Must contain: At least one entry, can be text, OWASP, CWE, please note that while only one is required you can use more than one (or indeed all three) as long as they are correct). (CNA requirement: [PROBLEMTYPE]).", "items": { "type": "object", "required": [ @@ -868,20 +862,20 @@ }, "description": { "type": "string", - "description": "string description of problemType, or title from CWE or OWASP", + "description": "Text description of problemType, or title from CWE or OWASP.", "minLength": 1, "maxLength": 4000 }, "cweId": { "type": "string", - "description": "CWE ID of the CWE that best describes this problemType entry", + "description": "CWE ID of the CWE that best describes this problemType entry.", "minLength": 5, "maxLength": 9, "pattern": "^CWE-[1-9][0-9]+$" }, "type": { "type": "string", - "description": "problemtype source, text, OWASP, CWE, etc", + "description": "Problemtype source, text, OWASP, CWE, etc.,", "minLength": 1, "maxLength": 128 }, @@ -910,25 +904,25 @@ }, "impacts": { "type": "array", - "description": "Collection of impacts of this vulnerability", + "description": "Collection of impacts of this vulnerability.", "minItems": 1, "uniqueItems": true, "items": { "type": "object", - "description": "This is impact type information (e.g. a text description", + "description": "This is impact type information (e.g. a text description.", "required": [ "descriptions" ], "properties": { "capecId": { "type": "string", - "description": "CAPEC ID that best relates to this impact", + "description": "CAPEC ID that best relates to this impact.", "minLength": 7, "maxLength": 11, "pattern": "^CAPEC-[1-9][0-9]{0,4}$" }, "descriptions": { - "description": "Prose description of the impact scenario. At a minimum provide the description given by CAPEC", + "description": "Prose description of the impact scenario. At a minimum provide the description given by CAPEC.", "$ref": "#/definitions/descriptions" } } @@ -936,12 +930,12 @@ }, "metrics": { "type": "array", - "description": "collection of impact scores with attribution", + "description": "Collection of impact scores with attribution.", "minItems": 1, "uniqueItems": true, "items": { "type": "object", - "description": "This is impact type information (e.g. a text description, CVSSv2, CVSSv3, etc.). Must contain: At least one entry, can be text, CVSSv2, CVSSv3, others may be added", + "description": "This is impact type information (e.g. a text description, CVSSv2, CVSSv3, etc.). Must contain: At least one entry, can be text, CVSSv2, CVSSv3, others may be added.", "anyOf": [ { "required": [ @@ -977,6 +971,7 @@ "minItems": 1, "uniqueItems": true, "items": { + "type": "object", "properties": { "lang": { "$ref": "#/definitions/language" @@ -1162,7 +1157,7 @@ }, "vectorString": { "type": "string", - "pattern": "^CVSS:3.1/((AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" + "pattern": "^CVSS:3[.]1/((AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" }, "attackVector": { "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/attackVectorType" @@ -1423,7 +1418,7 @@ }, "vectorString": { "type": "string", - "pattern": "^CVSS:3.0/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" + "pattern": "^CVSS:3[.]0/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" }, "attackVector": { "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/attackVectorType" @@ -1691,21 +1686,21 @@ }, "other": { "type": "object", - "description": "a non-standard impact description, may be prose or JSON block", + "description": "A non-standard impact description, may be prose or JSON block.", "required": [ "type", "content" ], "properties": { "type": { - "description": "name of the non-standard impact metrics format used.", + "description": "Name of the non-standard impact metrics format used.", "type": "string", "minLength": 1, "maxLength": 128 }, "content": { "type": "object", - "description": "JSON object not covered by another metrics format", + "description": "JSON object not covered by another metrics format.", "minProperties": 1 } } @@ -1751,7 +1746,7 @@ }, "timeline": { "type": "array", - "description": "This is timeline information for significant events about this vulnerability or changes to CVE entry", + "description": "This is timeline information for significant events about this vulnerability or changes to the CVE Record.", "minItems": 1, "uniqueItems": true, "items": { @@ -1767,7 +1762,7 @@ "$ref": "#/definitions/timestamp" }, "lang": { - "description": "The language used in the description of the event. The language field is included so that CVE records can support translations. The value must be a BCP 47 language code.", + "description": "The language used in the description of the event. The language field is included so that CVE Records can support translations. The value must be a BCP 47 language code.", "$ref": "#/definitions/language" }, "value": { @@ -1788,7 +1783,7 @@ "type": "object", "properties": { "lang": { - "description": "The language used when describing the credits. The language field is included so that CVE records can support translations. The value must be a BCP 47 language code.", + "description": "The language used when describing the credits. The language field is included so that CVE Records can support translations. The value must be a BCP 47 language code.", "$ref": "#/definitions/language" }, "value": { @@ -1831,13 +1826,18 @@ }, "language": { "type": "string", - "description": "BCP 47 language code, language-region", + "description": "BCP 47 language code, language-region.", "default": "en", "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" }, + "englishLanguage": { + "type": "string", + "description": "BCP 47 language code, language-region, required to be English.", + "pattern": "^en([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" + }, "taxonomyMappings": { "type": "array", - "description": "List of taxonomy items related to the vulnerability", + "description": "List of taxonomy items related to the vulnerability.", "minItems": 1, "uniqueItems": true, "items": { @@ -1850,7 +1850,7 @@ "properties": { "taxonomyName": { "type": "string", - "description": "The name of the taxonomy", + "description": "The name of the taxonomy.", "minLength": 1, "maxLength": 128 }, @@ -1867,7 +1867,7 @@ "uniqueItems": true, "items": { "type": "object", - "description": "List of relationships to the taxonomy for the vulnerability. Relationships can be between the taxonomy and the CVE or two taxonomy items", + "description": "List of relationships to the taxonomy for the vulnerability. Relationships can be between the taxonomy and the CVE or two taxonomy items.", "required": [ "taxonomyId", "relationshipName", @@ -1882,13 +1882,13 @@ }, "relationshipName": { "type": "string", - "description": "A description of the relationship", + "description": "A description of the relationship.", "minLength": 1, "maxLength": 128 }, "relationshipValue": { "type": "string", - "description": "The target of the relationship. Can be the CVE ID or another taxonomy identifier", + "description": "The target of the relationship. Can be the CVE ID or another taxonomy identifier.", "minLength": 1, "maxLength": 2000 } @@ -1906,7 +1906,7 @@ }, "cnaTags": { "type": "array", - "description": "Tags describing the CVE entry", + "description": "Tags provided by a CNA describing the CVE Record.", "uniqueItems": true, "minItems": 1, "items": { @@ -1930,7 +1930,7 @@ }, "adpTags": { "type": "array", - "description": "Tags describing the CVE entry", + "description": "Tags provided by an ADP describing the CVE Record.", "uniqueItems": true, "minItems": 1, "items": { @@ -1966,7 +1966,25 @@ "$ref": "#/definitions/cveMetadataPublished" }, "containers": { - "$ref": "#/definitions/containers" + "description": "A set of structures (called containers) used to store vulnerability information related to a specific CVE ID provided by a specific organization participating in the CVE program. Each container includes information provided by a different source.\n\nAt minimum, a 'cna' container containing the vulnerability information provided by the CNA who initially assigned the CVE ID must be included.\n\nThere can only be one 'cna' container, as there can only be one assigning CNA. However, there can be multiple 'adp' containers, allowing multiple organizations participating in the CVE program to add additional information related to the vulnerability. For the most part, the 'cna' and 'adp' containers contain the same properties. The main differences are the source of the information and the 'cna' container requires the CNA include certain fields, while the 'adp' container does not.", + "type": "object", + "properties": { + "cna": { + "$ref": "#/definitions/cnaPublishedContainer" + }, + "adp": { + "type": "array", + "items": { + "$ref": "#/definitions/adpContainer" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "required": [ + "cna" + ], + "additionalProperties": false } }, "required": [ @@ -1977,30 +1995,6 @@ ], "additionalProperties": false }, - { - "title": "Reserved", - "description": "The initial state for a CVE Record; when the associated CVE ID is Reserved by a CNA.", - "properties": { - "dataType": { - "$ref": "#/definitions/dataType" - }, - "dataVersion": { - "$ref": "#/definitions/dataVersion" - }, - "cveMetadata": { - "$ref": "#/definitions/cveMetadataReserved" - }, - "descriptions": { - "$ref": "#/definitions/descriptions" - } - }, - "required": [ - "dataType", - "dataVersion", - "cveMetadata" - ], - "additionalProperties": false - }, { "title": "Rejected", "description": "If the CVE ID and associated CVE Record should no longer be used, the CVE Record is placed in the Rejected state. A Rejected CVE Record remains on the CVE List so that users can know when it is invalid.", @@ -2014,18 +2008,25 @@ "cveMetadata": { "$ref": "#/definitions/cveMetadataRejected" }, - "descriptions": { - "$ref": "#/definitions/descriptions" - }, - "replacedBy": { - "$ref": "#/definitions/replacedBy" + "containers": { + "description": "A set of structures (called containers) used to store vulnerability information related to a specific CVE ID provided by a specific organization participating in the CVE program. Each container includes information provided by a different source.\n\nAt minimum, a 'cna' container containing the vulnerability information provided by the CNA who initially assigned the CVE ID must be included.\n\nThere can only be one 'cna' container, as there can only be one assigning CNA.", + "type": "object", + "properties": { + "cna": { + "$ref": "#/definitions/cnaRejectedContainer" + } + }, + "required": [ + "cna" + ], + "additionalProperties": false } }, "required": [ "dataType", "dataVersion", "cveMetadata", - "descriptions" + "containers" ], "additionalProperties": false } diff --git a/src/middleware/CVE_JSON_5.0.json b/src/middleware/CVE_JSON_5.0.json deleted file mode 100644 index 5776610dd..000000000 --- a/src/middleware/CVE_JSON_5.0.json +++ /dev/null @@ -1,1294 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://cve.mitre.org/cve/v5_00/", - "type": "object", - "title": "CVE JSON record format", - "description": "cve-schema specifies the CVE JSON record format. This is the blueprint for a rich set of JSON data that can be submitted by CVE Numbering Authorities (CNAs) and Authorized Data Publishers (ADPs) to describe a CVE record. Some examples of CVE record data include CVE ID number, affected product(s), affected version(s), and public references. While those specific items are required when assigning a CVE, there are many other optional data in the schema that can be used to enrich CVE records for community benefit. Learn more about the CVE program at [the official website](https://cve.mitre.org). This CVE JSON record format is defined using JSON Schema. Learn more about JSON Schema [here](https://json-schema.org/).", - "definitions": { - "uriType": { - "description": "A universal resource identifier (URI), according to [RFC 3986](https://tools.ietf.org/html/rfc3986).", - "type": "string", - "format": "uri", - "minLength": 1 - }, - "uuidType": { - "description": "A version 4 (random) universally unique identifier (UUID) as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122#section-4.1.3).", - "type": "string", - "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" - }, - "reference": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "The uniform resource locator (URL), according to [RFC 3986](https://tools.ietf.org/html/rfc3986#section-1.1.3), that can be used to retrieve the referenced resource.", - "$ref": "#/definitions/uriType" - }, - "name": { - "description": "User created name for the reference, often the title of the page.", - "type": "string", - "maxLength": 500, - "minLength": 1 - }, - "tags": { - "description": "an array of one or more tags that describe the resource referenced by 'url'.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "oneOf": [ - { - "$ref": "#/definitions/tagExtension" - } - ] - } - } - } - }, - "cveId": { - "type": "string", - "pattern": "^CVE-[0-9]{4}-[0-9]{4,19}$" - }, - "orgId": { - "description": "a UUID for an organization participating in the CVE program. This UUID can be used to lookup the organization record in the user registry service.", - "$ref": "#/definitions/uuidType" - }, - "userId": { - "description": "a UUID for a user participating in the CVE program. This UUID can be used to lookup the user record in the user registry service.", - "$ref": "#/definitions/uuidType" - }, - "shortName": { - "description": "a 3-12 character name that can be used to complement an organization's UUID.", - "type": "string", - "minLength": 3, - "maxLength": 12 - }, - "datestamp": { - "description": "Date/time format based on RFC3339 and ISO ISO8601", - "type": "string", - "format": "date", - "pattern": "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))$" - }, - "timestamp": { - "type": "string", - "format": "date-time", - "description": "Date/time format based on RFC3339 and ISO ISO8601, with an optional timezone in the format 'yyyy-MM-ddTHH:mm:ssZZZZ'. If timezone offset is not given, GMT (0000) is assumed.", - "pattern": "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})?$" - }, - "version": { - "description": "A single version of a product, as expressed in its own version numbering scheme.", - "type": "string", - "minLength": 1, - "maxLength": 1024 - }, - "status": { - "description": "The vulnerability status of a given version or range of versions of a product. The statuses 'affected' and 'unaffected' indicate that the version is affected or unaffected by the vulnerability. The status 'unknown' indicates that it is unknown or unspecified whether the given version is affected. There can be many reasons for an 'unknown' status, including that an investigation has not been undertaken or that a vendor has not disclosed the status.", - "type": "string", - "enum": [ - "affected", - "unaffected", - "unknown" - ] - }, - "product": { - "type": "object", - "description": "Provides information about the set of products and services affected by this vulnerability.", - "allOf": [ - { - "oneOf": [ - { - "required": [ - "vendor", - "product" - ] - }, - { - "required": [ - "collectionURL", - "packageName" - ] - } - ] - }, - { - "anyOf": [ - { - "required": [ - "versions" - ] - }, - { - "required": [ - "defaultStatus" - ] - } - ] - } - ], - "properties": { - "vendor": { - "type": "string", - "description": "Name of the organization, project, community, individual, or user that created or maintains this product or hosted service. Can be 'N/A' if none of those apply. When collectionURL and packageName are used, this field may optionally represent the user or account within the package collection associated with the package.", - "minLength": 1, - "maxLength": 512 - }, - "product": { - "type": "string", - "description": "Name of the affected product.", - "minLength": 1, - "maxLength": 2058 - }, - "collectionURL": { - "description": "URL identifying a package collection (determines meaning of packageName).", - "$ref": "#/definitions/uriType", - "examples": [ - "https://access.redhat.com/downloads/content/package-browser", - "https://addons.mozilla.org", - "https://addons.thunderbird.net", - "https://anaconda.org/anaconda/repo", - "https://app.vagrantup.com/boxes/search", - "https://apps.apple.com", - "https://archlinux.org/packages", - "https://atmospherejs.meteor.com", - "https://atom.io/packages", - "https://bitbucket.org", - "https://bower.io", - "https://brew.sh/", - "https://chocolatey.org/packages", - "https://chrome.google.com/webstore", - "https://clojars.org", - "https://cocoapods.org", - "https://code.dlang.org", - "https://conan.io/center", - "https://cpan.org/modules", - "https://cran.r-project.org", - "https://crates.io", - "https://ctan.org/pkg", - "https://drupal.org", - "https://exchange.adobe.com", - "https://forge.puppet.com/modules", - "https://github.com", - "https://gitlab.com/explore", - "https://golang.org/pkg", - "https://guix.gnu.org/packages", - "https://hackage.haskell.org", - "https://helm.sh", - "https://hub.docker.com", - "https://juliahub.com", - "https://lib.haxe.org", - "https://luarocks.org", - "https://marketplace.visualstudio.com", - "https://melpa.org", - "https://microsoft.com/en-us/store/apps", - "https://nimble.directory", - "https://nuget.org/packages", - "https://opam.ocaml.org/packages", - "https://openwrt.org/packages/index", - "https://package.elm-lang.org", - "https://packagecontrol.io", - "https://packages.debian.org", - "https://packages.gentoo.org", - "https://packagist.org", - "https://pear.php.net/packages.php", - "https://pecl.php.net", - "https://platformio.org/lib", - "https://play.google.com/store", - "https://plugins.gradle.org", - "https://projects.eclipse.org", - "https://pub.dev", - "https://pypi.python.org", - "https://registry.npmjs.org", - "https://registry.terraform.io", - "https://repo.hex.pm", - "https://repo.maven.apache.org/maven2", - "https://rubygems.org", - "https://search.nixos.org/packages", - "https://sourceforge.net", - "https://wordpress.org/plugins" - ] - }, - "packageName": { - "type": "string", - "description": "Name or identifier of the affected software package as used in the package collection.", - "minLength": 1, - "maxLength": 2058 - }, - "cpes": { - "type": "array", - "description": "Affected products defined by CPE. This is an array of CPE values (vulnerable and not), we use an array so that we can make multiple statements about the same version and they are separate (if we used a JSON object we'd essentially be keying on the CPE name and they would have to overlap). Also this allows things like cveDataVersion or cveDescription to be applied directly to the product entry. This also allows more complex statements such as \"Product X between versions 10.2 and 10.8\" to be put in a machine-readable format. As well since multiple statements can be used multiple branches of the same product can be defined here.", - "uniqueItems": true, - "items": { - "title": "CPE Name", - "type": "string", - "description": "Common Platform Enumeration (CPE) Name in either 2.2 or 2.3 format", - "pattern": "([c][pP][eE]:/[AHOaho]?(:[A-Za-z0-9._\\-~%]*){0,6})|(cpe:2\\.3:[aho*\\-](:(((\\?*|\\*?)([a-zA-Z0-9\\-._]|(\\\\[\\\\*?!\"#$%&'()+,/:;<=>@\\[\\]\\^`{|}~]))+(\\?*|\\*?))|[*\\-])){5}(:(([a-zA-Z]{2,3}(-([a-zA-Z]{2}|[0-9]{3}))?)|[*\\-]))(:(((\\?*|\\*?)([a-zA-Z0-9\\-._]|(\\\\[\\\\*?!\"#$%&'()+,/:;<=>@\\[\\]\\^`{|}~]))+(\\?*|\\*?))|[*\\-])){4})", - "minLength": 1, - "maxLength": 2000 - } - }, - "modules": { - "type": "array", - "description": "A list of the affected components, features, modules, sub-components, sub-products, APIs, commands, utilities, programs, or functionalities (optional)", - "uniqueItems": true, - "items": { - "type": "string", - "description": "Name of the affected component, feature, module, sub-component, sub-product, API, command, utility, program, or functionality (optional).", - "minLength": 1, - "maxLength": 4000 - } - }, - "programFiles": { - "type": "array", - "description": "A list of the affected source code files (optional)", - "uniqueItems": true, - "items": { - "description": "Name or path or location of the affected source code file in RFC3986 compliant format (optional).", - "$ref": "#/definitions/uriType" - } - }, - "programRoutines": { - "type": "array", - "description": "A list of the affected source code functions, methods, subroutines, or procedures (optional).", - "uniqueItems": true, - "items": { - "type": "object", - "description": "Object describing program routine.", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "Name of the affected source code file, function, method, subroutine, or procedure.", - "minLength": 1, - "maxLength": 4000 - } - } - } - }, - "platforms": { - "title": "Platforms", - "description": "List of specific platforms if the vulnerability is only relevant in the context of these platforms (optional). Platforms may include execution environments, operating systems, virtualization technolgies, hardware models, or computing architectures. Lack of this field or an empty array implies that the other fields are applicable for all relevant platforms.", - "type": "array", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "string", - "examples": [ - "iOS", - "Android", - "Windows", - "macOS", - "x86", - "ARM", - "64 bit", - "Big Endian", - "iPad", - "Chromebook", - "Docker" - ], - "maxLength": 1024 - } - }, - "repo": { - "description": "The URL of the source code repository, for informational purposes and/or to resolve git hash version ranges.", - "$ref": "#/definitions/uriType" - }, - "defaultStatus": { - "description": "The default status for versions that are not otherwise listed in the versions list. If not specified, defaultStatus defaults to 'unknown'. Versions or defaultStatus may be omitted, but not both.", - "$ref": "#/definitions/status" - }, - "versions": { - "type": "array", - "description": "Set of product versions or version ranges related to the vulnerability. The versions satisfy the CNA Rules [8.1.2 requirement](https://cve.mitre.org/cve/cna/rules.html#section_8-1_cve_entry_information_requirements). Versions or defaultStatus may be omitted, but not both.", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "description": "A single version or a range of versions, with vulnerability status.\n\nAn entry with only 'version' and 'status' indicates the status of a single version.\n\nOtherwise, an entry describes a range; it must include the 'versionType' property, to define the version numbering semantics in use, and 'limit', to indicate the non-inclusive upper limit of the range. The object describes the status for versions V such that 'version' <= V and V < 'limit', using the <= and < semantics defined for the specific kind of 'versionType'. Status changes within the range can be specified by an optional 'changes' list.\n\nThe algorithm to decide the status specified for a version V is:\n\n\tfor entry in product.versions {\n\t\tif entry.lessThan is not present and entry.lessThanOrEqual is not present and v == entry.version {\n\t\t\treturn entry.status\n\t\t}\n\t\tif (entry.lessThan is present and entry.version <= v and v < entry.lessThan) or\n\t\t (entry.lessThanOrEqual is present and entry.version <= v and v <= entry.lessThanOrEqual) { // <= and < defined by entry.versionType\n\t\t\tstatus = entry.status\n\t\t\tfor change in entry.changes {\n\t\t\t\tif change.at <= v {\n\t\t\t\t\tstatus = change.status\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn status\n\t\t}\n\t}\n\treturn product.defaultStatus\n\n", - "oneOf": [ - { - "required": [ - "version", - "status" - ], - "maxProperties": 2 - }, - { - "required": [ - "version", - "status", - "versionType" - ], - "oneOf": [ - { - "required": [ - "lessThan" - ] - }, - { - "required": [ - "lessThanOrEqual" - ] - } - ] - } - ], - "properties": { - "version": { - "description": "The single version being described, or the version at the start of the range. By convention, typically 0 denotes the earliest possible version.", - "$ref": "#/definitions/version" - }, - "status": { - "description": "The vulnerability status for the version or range of versions. For a range, the status may be refined by the 'changes' list.", - "$ref": "#/definitions/status" - }, - "versionType": { - "type": "string", - "description": "The version numbering system used for specifying the range. This defines the exact semantics of the comparison (less-than) operation on versions, which is required to understand the range itself. 'Custom' indicates that the version type is unspecified and should be avoided whenever possible. It is included primarily for use in conversion of older data files.", - "minLength": 1, - "maxLength": 128, - "examples": [ - "custom", - "git", - "maven", - "python", - "rpm", - "semver" - ] - }, - "lessThan": { - "description": "The non-inclusive upper limit of the range. This is the least version NOT in the range. The usual version syntax is expanded to allow a pattern to end in an asterisk `(*)`, indicating an arbitrarily large number in the version ordering. For example, `{version: 1.0 lessThan: 1.*}` would describe the entire 1.X branch for most range kinds, and `{version: 2.0, lessThan: *}` describes all versions starting at 2.0, including 3.0, 5.1, and so on. Only one of lessThan and lessThanOrEqual should be specified.", - "$ref": "#/definitions/version" - }, - "lessThanOrEqual": { - "description": "The inclusive upper limit of the range. This is the greatest version contained in the range. Only one of lessThan and lessThanOrEqual should be specified. For example, `{version: 1.0, lessThanOrEqual: 1.3}` covers all versions from 1.0 up to and including 1.3.", - "$ref": "#/definitions/version" - }, - "changes": { - "type": "array", - "description": "A list of status changes that take place during the range. The array should be sorted in increasing order by the 'at' field, according to the versionType, but clients must re-sort the list themselves rather than assume it is sorted.", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "description": "The start of a single status change during the range.", - "required": [ - "at", - "status" - ], - "properties": { - "at": { - "description": "The version at which a status change occurs.", - "$ref": "#/definitions/version" - }, - "status": { - "description": "The new status in the range starting at the given version.", - "$ref": "#/definitions/status" - } - } - } - } - } - } - } - } - }, - "replacedBy": { - "type": "array", - "description": "Contains an array of CVE IDs that this CVE ID was rejected in favor of because the this CVE ID was assigned to the vulnerabilities", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/cveId" - } - }, - "dataType": { - "description": "Indicates the type of information represented in the JSON instance.", - "type": "string", - "enum": [ - "CVE_RECORD" - ] - }, - "dataVersion": { - "description": "The version of the schema being used. Used to support multiple versions of this format.", - "type": "string", - "enum": [ - "5.0" - ] - }, - "cveMetadataPublished": { - "description": "This is meta data about the CVE ID such as the CVE ID, who requested it, who assigned it, when it was requested, the current state (PUBLISHED, REJECTED, etc.) and so on. These fields are controlled by the CVE Services.", - "type": "object", - "required": [ - "id", - "assigner", - "state" - ], - "properties": { - "id": { - "description": "The CVE identifier that this record pertains to.", - "$ref": "#/definitions/cveId" - }, - "assigner": { - "$ref": "#/definitions/orgId", - "description": "the UUID for the organization to which the CVE ID was originally assigned. This UUID can be used to lookup the organization record in the user registry service." - }, - "assignerShortName": { - "$ref": "#/definitions/shortName", - "description": "the short name for the organization to which the CVE ID was originally assigned" - }, - "requester": { - "$ref": "#/definitions/userId", - "description": "the user that requested the CVE identifier" - }, - "updated": { - "description": "the date/time the record was last updated", - "$ref": "#/definitions/timestamp" - }, - "serial": { - "type": "integer", - "minimum": 1, - "description": "starts at 1, add 1 every time an entry is updated or changed" - }, - "dateReserved": { - "$ref": "#/definitions/timestamp", - "description": "The date/time this CVE ID was reserved in the CVE automation workgroup services system. Disclaimer: This date reflects when the CVE ID was reserved, and does not necessarily indicate when this vulnerability was discovered, shared with the affected vendor, publicly disclosed, or updated in CVE." - }, - "datePublished": { - "$ref": "#/definitions/timestamp", - "description": "The date/time the CVE record was first published in the CVE List." - }, - "state": { - "description": "State of CVE - PUBLISHED, RESERVED, REJECTED", - "type": "string", - "enum": [ - "PUBLISHED" - ] - } - }, - "additionalProperties": false - }, - "cveMetadataReserved": { - "type": "object", - "description": "This is meta data about the CVE ID such as the CVE ID, who requested it, who assigned it, when it was requested, the current state (PUBLISHED, REJECTED, etc.) and so on. These fields are controlled by the CVE Services.", - "required": [ - "id", - "state" - ], - "properties": { - "id": { - "description": "The CVE identifier that this record pertains to", - "$ref": "#/definitions/cveId" - }, - "assigner": { - "$ref": "#/definitions/orgId", - "description": "the UUID for the organization to which the CVE ID was originally assigned" - }, - "assignerShortName": { - "$ref": "#/definitions/shortName", - "description": "the short name for the organization to which the CVE ID was originally assigned" - }, - "state": { - "type": "string", - "description": "State of CVE - PUBLISHED, RESERVED, REJECTED", - "enum": [ - "RESERVED" - ] - }, - "dateReserved": { - "$ref": "#/definitions/timestamp", - "description": "The date/time this CVE ID was reserved in the CVE automation workgroup services system. Disclaimer: This date reflects when the CVE ID was reserved, and does not necessarily indicate when this vulnerability was discovered, shared with the affected vendor, publicly disclosed, or updated in CVE." - } - }, - "additionalProperties": false - }, - "cveMetadataRejected": { - "type": "object", - "description": "This is meta data about the CVE ID such as the CVE ID, who requested it, who assigned it, when it was requested, the current state (PUBLISHED, REJECTED, etc.) and so on. These fields are controlled by the CVE Services.", - "required": [ - "id", - "assigner", - "state" - ], - "properties": { - "id": { - "description": "The CVE identifier that this record pertains to", - "$ref": "#/definitions/cveId" - }, - "assigner": { - "$ref": "#/definitions/orgId", - "description": "the UUID for the organization to which the CVE ID was originally assigned" - }, - "assignerShortName": { - "$ref": "#/definitions/shortName", - "description": "the short name for the organization to which the CVE ID was originally assigned" - }, - "serial": { - "type": "integer", - "minimum": 1, - "description": "starts at 1, add 1 every time an entry is updated or changed" - }, - "updated": { - "description": "the date/time the record was last updated", - "$ref": "#/definitions/timestamp" - }, - "datePublished": { - "$ref": "#/definitions/timestamp", - "description": "The date/time the CVE record was first published in the CVE List." - }, - "dateRejected": { - "$ref": "#/definitions/timestamp", - "description": "The date/time the CVE ID was rejected." - }, - "state": { - "type": "string", - "description": "State of CVE - PUBLISHED, RESERVED, REJECTED", - "enum": [ - "REJECTED" - ] - }, - "dateReserved": { - "$ref": "#/definitions/timestamp", - "description": "The date/time this CVE ID was reserved in the CVE automation workgroup services system. Disclaimer: This date reflects when the CVE ID was reserved, and does not necessarily indicate when this vulnerability was discovered, shared with the affected vendor, publicly disclosed, or updated in CVE." - } - }, - "additionalProperties": false - }, - "providerMetadata": { - "type": "object", - "description": "will be updated to coordinate with CVE user registry, current identifier is an email address.", - "properties": { - "id": { - "$ref": "#/definitions/orgId", - "description": "the container provider's organizational UUID" - }, - "shortName": { - "$ref": "#/definitions/shortName", - "description": "the container provider's organizational short name" - }, - "updated": { - "$ref": "#/definitions/timestamp", - "description": "Timestamp to be set by the system of record at time of submission. If updated is provided to the system of record it will be replaced by the current timestamp at the time of submission. If a provider has multiple contributions, they shall be consolidated to a final single contribution before submission, or the system of record will reject the input with, Rejected – simultaneous contributions by a single provider." - }, - "dateAssigned": { - "$ref": "#/definitions/timestamp", - "description": "The date/time this CVE ID was associated with a vulnerability by a CNA." - }, - "datePublic": { - "$ref": "#/definitions/timestamp", - "description": "if known, the date/time the vulnerability was disclosed publicly." - }, - "title": { - "type": "string", - "description": "Short title - if the description is long we may want a short title to refer to", - "minLength": 1, - "maxLength": 128 - } - }, - "required": [ - "id" - ] - }, - "cnaContainer": { - "description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA). There can only be one CNA container per CVE record since there can only be one assigning CNA. The CNA container must include the required information defined in the CVE Rules, which includes a product, version, problem type, prose description, and a reference.", - "type": "object", - "properties": { - "providerMetadata": { - "$ref": "#/definitions/providerMetadata" - }, - "descriptions": { - "$ref": "#/definitions/descriptions" - }, - "affected": { - "$ref": "#/definitions/affected" - }, - "problemTypes": { - "$ref": "#/definitions/problemTypes" - }, - "references": { - "$ref": "#/definitions/references" - }, - "impacts": { - "$ref": "#/definitions/impacts" - }, - "metrics": { - "$ref": "#/definitions/metrics" - }, - "configurations": { - "$ref": "#/definitions/configurations" - }, - "workarounds": { - "$ref": "#/definitions/workarounds" - }, - "solutions": { - "$ref": "#/definitions/solutions" - }, - "exploits": { - "$ref": "#/definitions/exploits" - }, - "timeline": { - "$ref": "#/definitions/timeline" - }, - "credits": { - "$ref": "#/definitions/credits" - }, - "source": { - "$ref": "#/definitions/source" - }, - "tags": { - "$ref": "#/definitions/cnaTags" - }, - "taxonomyMappings": { - "$ref": "#/definitions/taxonomyMappings" - } - }, - "required": [ - "providerMetadata", - "descriptions", - "affected", - "references" - ], - "additionalProperties": { - "patternProperties": { - "^x_": {} - } - } - }, - "adpContainer": { - "description": "An object containing the vulnerability information provided by an Authorized Data Publisher (ADP). Since multiple ADPs can provide information for a CVE ID, an ADP container must indicate which ADP is the source of the information in the object.", - "type": "object", - "properties": { - "providerMetadata": { - "$ref": "#/definitions/providerMetadata" - }, - "descriptions": { - "$ref": "#/definitions/descriptions" - }, - "affected": { - "$ref": "#/definitions/affected" - }, - "problemTypes": { - "$ref": "#/definitions/problemTypes" - }, - "references": { - "$ref": "#/definitions/references" - }, - "impacts": { - "$ref": "#/definitions/impacts" - }, - "metrics": { - "$ref": "#/definitions/metrics" - }, - "configurations": { - "$ref": "#/definitions/configurations" - }, - "workarounds": { - "$ref": "#/definitions/workarounds" - }, - "solutions": { - "$ref": "#/definitions/solutions" - }, - "exploits": { - "$ref": "#/definitions/exploits" - }, - "timeline": { - "$ref": "#/definitions/timeline" - }, - "credits": { - "$ref": "#/definitions/credits" - }, - "source": { - "$ref": "#/definitions/source" - }, - "tags": { - "$ref": "#/definitions/adpTags" - }, - "taxonomyMappings": { - "$ref": "#/definitions/taxonomyMappings" - } - }, - "required": [ - "providerMetadata" - ], - "minProperties": 2, - "additionalProperties": { - "patternProperties": { - "^x_": {} - } - } - }, - "containers": { - "description": "A set of structures (called containers) used to store vulnerability information related to a specific CVE ID provided by a specific organization participating in the CVE program. Each container includes information provided by a different source.\n\nAt minimum, a 'cna' container containing the vulnerability information provided by the CNA who initially assigned the CVE ID must be included.\n\nThere can only be one 'cna' container, as there can only be one assigning CNA. However, there can be multiple 'adp' containers, allowing multiple organizations participating in the CVE program to add additional information related to the vulnerability. For the most part, the 'cna' and 'adp' containers contain the same properties. The main differences are the source of the information and the 'cna' container requires the CNA include certain fields, while the 'adp' container does not.", - "type": "object", - "properties": { - "cna": { - "$ref": "#/definitions/cnaContainer" - }, - "adp": { - "type": "array", - "items": { - "$ref": "#/definitions/adpContainer" - }, - "minItems": 1, - "uniqueItems": true - } - }, - "required": [ - "cna" - ], - "additionalProperties": false - }, - "affected": { - "type": "array", - "description": "List of affected products.", - "minItems": 1, - "items": { - "$ref": "#/definitions/product" - } - }, - "description": { - "type": "object", - "description": "Text in a particular language with optional alternate markup or formatted representation (e.g., Markdown) or embedded media.", - "properties": { - "lang": { - "$ref": "#/definitions/language" - }, - "value": { - "type": "string", - "description": "Plain text description.", - "minLength": 1, - "maxLength": 4000 - }, - "supportingMedia": { - "type": "array", - "title": "Supporting media", - "description": "Supporting media data for the description such as markdown, diagrams, .. (optional). Similar to RFC 2397 each media object has three main parts: media type, media data value, and an optional boolean flag to indicate if the media data is base64 encoded.", - "uniqueItems": true, - "minItems": 1, - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "title": "Media type", - "minLength": 1, - "maxLength": 255, - "description": "RFC2046 compliant IANA Media type for eg., text/markdown, text/html.", - "examples": [ - "text/markdown", - "text/html", - "image/png", - "image/svg", - "audio/mp3" - ] - }, - "base64": { - "type": "boolean", - "title": "Encoding", - "description": "If true then the value field contains the media data encoded in base64. If false then the value field contains the UTF-8 media content.", - "default": false - }, - "value": { - "type": "string", - "description": "Supporting media content, up to 16K. If base64 is true, this field stores base64 encoded data.", - "minLength": 1, - "maxLength": 16384 - } - } - }, - "required": [ - "type", - "value" - ] - } - }, - "required": [ - "lang", - "value" - ], - "additionalProperties": false - }, - "descriptions": { - "type": "array", - "description": "A list of multi-lingual descriptions of the vulnerability. E.g., [PROBLEMTYPE] in [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] on [PLATFORMS] allows [ATTACKER] to [IMPACT] via [VECTOR]. OR [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] [ROOT CAUSE], which allows [ATTACKER] to [IMPACT] via [VECTOR].", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/description" - } - }, - "problemTypes": { - "type": "array", - "description": "This is problem type information (e.g. CWE identifier). Must contain: At least one entry, can be text, OWASP, CWE, please note that while only one is required you can use more than one (or indeed all three) as long as they are correct). (CNA requirement: [PROBLEMTYPE])", - "items": { - "type": "object", - "required": [ - "descriptions" - ], - "properties": { - "descriptions": { - "type": "array", - "items": { - "type": "object", - "required": [ - "lang", - "description" - ], - "properties": { - "lang": { - "$ref": "#/definitions/language" - }, - "description": { - "type": "string", - "description": "string description of problemType, or title from CWE or OWASP", - "minLength": 1, - "maxLength": 4000 - }, - "cweId": { - "type": "string", - "description": "CWE ID of the CWE that best describes this problemType entry", - "minLength": 5, - "maxLength": 9, - "pattern": "^CWE-[1-9][0-9]+$" - }, - "type": { - "type": "string", - "description": "problemtype source, text, OWASP, CWE, etc", - "minLength": 1, - "maxLength": 128 - }, - "references": { - "$ref": "#/definitions/references" - } - } - }, - "minItems": 1, - "uniqueItems": true - } - } - }, - "minItems": 1, - "uniqueItems": true - }, - "references": { - "type": "array", - "description": "This is reference data in the form of URLs or file objects (uuencoded and embedded within the JSON file, exact format to be decided, e.g. we may require a compressed format so the objects require unpacking before they are \"dangerous\").", - "items": { - "$ref": "#/definitions/reference" - }, - "minItems": 1, - "maxItems": 500, - "uniqueItems": true - }, - "impacts": { - "type": "array", - "description": "collection of impact scores with attribution", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "description": "This is impact type information (e.g. a text description", - "required": [ - "descriptions" - ], - "properties": { - "capecId": { - "type": "string", - "description": "CAPEC ID that best relates to this impact", - "minLength": 7, - "maxLength": 11, - "pattern": "^CAPEC-[1-9][0-9]{0,4}$" - }, - "descriptions": { - "description": "Prose description of the impact scenario. At a minimum provide the description given by CAPEC", - "$ref": "#/definitions/descriptions" - } - } - } - }, - "metrics": { - "type": "array", - "description": "collection of impact scores with attribution", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "description": "This is impact type information (e.g. a text description, CVSSv2, CVSSv3, etc.). Must contain: At least one entry, can be text, CVSSv2, CVSSv3, others may be added", - "anyOf": [ - { - "required": [ - "cvssV3_1" - ] - }, - { - "required": [ - "cvssV3_0" - ] - }, - { - "required": [ - "cvssV2_0" - ] - }, - { - "required": [ - "other" - ] - } - ], - "properties": { - "format": { - "type": "string", - "description": "Name of the score format. This provides a bit future proofing. Additional properties are not prohibitied, so this will support inclusion of proprietary formats. It also provides an easy future conversion mechanism when future score formats become part of the schema. example: cvssV4_4, format = 'cvssV4_4', other = cvssV4_4 json object. In the future the other properties can be converted to score properties when they become part of the schema.", - "minLength": 1, - "maxLength": 64 - }, - "scenarios": { - "type": "array", - "description": "Description of the scenarios this metrics object applies to. If no specific scenario is given, GENERAL is used as the default and applies when no more specific metric matches.", - "minItems": 1, - "uniqueItems": true, - "items": { - "properties": { - "lang": { - "$ref": "#/definitions/language" - }, - "value": { - "type": "string", - "default": "GENERAL", - "description": "Description of the scenario this metrics object applies to. If no specific scenario is given, GENERAL is used as the default and applies when no more specific metric matches.", - "minLength": 1, - "maxLength": 4000 - } - }, - "required": [ - "lang", - "value" - ] - } - }, - "other": { - "type": "object", - "description": "a non-standard impact description, may be prose or JSON block", - "required": [ - "type", - "content" - ], - "properties": { - "type": { - "description": "name of the non-standard impact metrics format used.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "content": { - "type": "object", - "description": "JSON object not covered by another metrics format", - "minProperties": 1 - } - } - } - } - } - }, - "configurations": { - "type": "array", - "description": "Configurations required for exploiting this vulnerability.", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/description" - } - }, - "workarounds": { - "type": "array", - "description": "Workarounds and mitigations for this vulnerability.", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/description" - } - }, - "solutions": { - "type": "array", - "description": "Information about solutions or remediations available for this vulnerability.", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/description" - } - }, - "exploits": { - "type": "array", - "description": "Information about exploits of the vulnerability.", - "minItems": 1, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/description" - } - }, - "timeline": { - "type": "array", - "description": "This is timeline information for significant events about this vulnerability or changes to CVE entry", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "required": [ - "time", - "lang", - "value" - ], - "properties": { - "time": { - "description": "Timestamp representing when the event in the timeline occurred. The timestamp format is based on RFC3339 and ISO ISO8601, with an optional timezone. yyyy-MM-ddTHH:mm:ssZZZZ - if the timezone offset is not given, GMT (0000) is assumed.", - "$ref": "#/definitions/timestamp" - }, - "lang": { - "description": "The language used in the description of the event. The language field is included so that CVE records can support translations. The value must be a BCP 47 language code.", - "$ref": "#/definitions/language" - }, - "value": { - "description": "A summary of the event.", - "type": "string", - "minLength": 1, - "maxLength": 4000 - } - } - } - }, - "credits": { - "type": "array", - "description": "Statements acknowledging specific people, organizations, or tools recognizing the work done in researching, discovering, remediating or helping with activities related to this CVE.", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "lang": { - "description": "The language used when describing the credits. The language field is included so that CVE records can support translations. The value must be a BCP 47 language code.", - "$ref": "#/definitions/language" - }, - "value": { - "type": "string", - "minLength": 1, - "maxLength": 4000 - }, - "user": { - "description": "UUID of the user being credited if present in the CVE User Registry (optional). This UUID can be used to lookup the user record in the user registry service.", - "$ref": "#/definitions/uuidType" - }, - "type": { - "type": "string", - "description": "Type or role of the entity being credited (optional). finder: identifies the vulnerability.\nreporter: notifies the vendor of the vulnerability to a CNA.\nanalyst: validates the vulnerability to ensure accuracy or severity.\ncoordinator: facilitates the coordinated response process.\nremediation developer: prepares a code change or other remediation plans.\nremediation reviewer: reviews vulnerability remediation plans or code changes for effectiveness and completeness.\nremediation verifier: tests and verifies the vulnerability or its remediation.\ntool: names of tools used in vulnerability discovery or identification.\nsponsor: supports the vulnerability identification or remediation activities.", - "default": "finder", - "enum": [ - "finder", - "reporter", - "analyst", - "coordinator", - "remediation developer", - "remediation reviewer", - "remediation verifier", - "tool", - "sponsor", - "other" - ] - } - }, - "required": [ - "lang", - "value" - ] - } - }, - "source": { - "type": "object", - "description": "This is the source information (who discovered it, who researched it, etc.) and optionally a chain of CNA information (e.g. the originating CNA and subsequent parent CNAs who have processed it before it arrives at the MITRE root).\n Must contain: IF this is in the root level it MUST contain a CNA_chain entry, IF this source entry is NOT in the root (e.g. it is part of a vendor statement) then it must contain at least one type of data entry.", - "minProperties": 1 - }, - "language": { - "type": "string", - "description": "BCP 47 language code, language-region", - "default": "en", - "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" - }, - "taxonomyMappings": { - "type": "array", - "description": "List of taxonomy items related to the vulnerability", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "description": "", - "required": [ - "taxonomyName", - "taxonomyRelations" - ], - "properties": { - "taxonomyName": { - "type": "string", - "description": "The name of the taxonomy", - "minLength": 1, - "maxLength": 128 - }, - "taxonomyVersion": { - "type": "string", - "description": "The version of taxonomy the identifiers come from.", - "minLength": 1, - "maxLength": 128 - }, - "taxonomyRelations": { - "type": "array", - "description": "", - "minItems": 1, - "uniqueItems": true, - "items": { - "type": "object", - "description": "List of relationships to the taxonomy for the vulnerability. Relationships can be between the taxonomy and the CVE or two taxonomy items", - "required": [ - "taxonomyId", - "relationshipName", - "relationshipValue" - ], - "properties": { - "taxonomyId": { - "type": "string", - "description": "Identifier of the item in the taxonomy. Used as the subject of the relationship.", - "minLength": 1, - "maxLength": 2000 - }, - "relationshipName": { - "type": "string", - "description": "A description of the relationship", - "minLength": 1, - "maxLength": 128 - }, - "relationshipValue": { - "type": "string", - "description": "The target of the relationship. Can be the CVE ID or another taxonomy identifier", - "minLength": 1, - "maxLength": 2000 - } - } - } - } - } - } - }, - "tagExtension": { - "type": "string", - "minLength": 2, - "maxLength": 128, - "pattern": "^x_.*$" - }, - "cnaTags": { - "type": "array", - "description": "Tags describing the CVE entry", - "uniqueItems": true, - "minItems": 1, - "items": { - "oneOf": [ - { - "$ref": "#/definitions/tagExtension" - } - ] - } - }, - "adpTags": { - "type": "array", - "description": "Tags describing the CVE entry", - "uniqueItems": true, - "minItems": 1, - "items": { - "oneOf": [ - { - "$ref": "#/definitions/tagExtension" - } - ] - } - } - }, - "oneOf": [ - { - "title": "Published", - "description": "When a CNA populates the data associated with a CVE ID as a CVE Record, the state of the CVE Record is Published.", - "properties": { - "dataType": { - "$ref": "#/definitions/dataType" - }, - "dataVersion": { - "$ref": "#/definitions/dataVersion" - }, - "cveMetadata": { - "$ref": "#/definitions/cveMetadataPublished" - }, - "containers": { - "$ref": "#/definitions/containers" - } - }, - "required": [ - "dataType", - "dataVersion", - "cveMetadata", - "containers" - ], - "additionalProperties": false - }, - { - "title": "Reserved", - "description": "The initial state for a CVE Record; when the associated CVE ID is Reserved by a CNA.", - "properties": { - "dataType": { - "$ref": "#/definitions/dataType" - }, - "dataVersion": { - "$ref": "#/definitions/dataVersion" - }, - "cveMetadata": { - "$ref": "#/definitions/cveMetadataReserved" - }, - "descriptions": { - "$ref": "#/definitions/descriptions" - } - }, - "required": [ - "dataType", - "dataVersion", - "cveMetadata" - ], - "additionalProperties": false - }, - { - "title": "Rejected", - "description": "If the CVE ID and associated CVE Record should no longer be used, the CVE Record is placed in the Rejected state. A Rejected CVE Record remains on the CVE List so that users can know when it is invalid.", - "properties": { - "dataType": { - "$ref": "#/definitions/dataType" - }, - "dataVersion": { - "$ref": "#/definitions/dataVersion" - }, - "cveMetadata": { - "$ref": "#/definitions/cveMetadataRejected" - }, - "descriptions": { - "$ref": "#/definitions/descriptions" - }, - "replacedBy": { - "$ref": "#/definitions/replacedBy" - } - }, - "required": [ - "dataType", - "dataVersion", - "cveMetadata", - "descriptions" - ], - "additionalProperties": false - } - ] -} \ No newline at end of file diff --git a/src/middleware/RejectExisting_5.0_Schema.json b/src/middleware/RejectExisting_5.0_Schema.json new file mode 100644 index 000000000..d689d361e --- /dev/null +++ b/src/middleware/RejectExisting_5.0_Schema.json @@ -0,0 +1,99 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://cve.mitre.org/cve/v5_rejectBody/", + "type": "object", + "title": "Descriptions array JSON format", + "description": "Schema definition for descriptions and replacedBy arrays", + "definitions": { + "cveId": { + "type": "string", + "pattern": "^CVE-[0-9]{4}-[0-9]{4,19}$" + }, + "language": { + "type": "string", + "description": "BCP 47 language code, language-region", + "default": "en", + "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" + }, + "description": { + "type": "object", + "description": "Text in a particular language with optional alternate markup or formatted representation (e.g., Markdown) or embedded media.", + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "description": "Plain text description.", + "minLength": 1, + "maxLength": 4000 + }, + "supportingMedia": { + "type": "array", + "title": "Supporting media", + "description": "Supporting media data for the description such as markdown, diagrams, .. (optional). Similar to RFC 2397 each media object has three main parts: media type, media data value, and an optional boolean flag to indicate if the media data is base64 encoded.", + "uniqueItems": true, + "minItems": 1, + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "title": "Media type", + "minLength": 1, + "maxLength": 255, + "description": "RFC2046 compliant IANA Media type for eg., text/markdown, text/html.", + "examples": [ + "text/markdown", + "text/html", + "image/png", + "image/svg", + "audio/mp3" + ] + }, + "base64": { + "type": "boolean", + "title": "Encoding", + "description": "If true then the value field contains the media data encoded in base64. If false then the value field contains the UTF-8 media content.", + "default": false + }, + "value": { + "type": "string", + "description": "Supporting media content, up to 16K. If base64 is true, this field stores base64 encoded data.", + "minLength": 1, + "maxLength": 16384 + } + }, + "required": [ + "type", + "value" + ] + } + } + }, + "required": [ + "lang", + "value" + ], + "additionalProperties": false + }, + "descriptions": { + "type": "array", + "description": "A list of multi-lingual descriptions of the vulnerability. E.g., [PROBLEMTYPE] in [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] on [PLATFORMS] allows [ATTACKER] to [IMPACT] via [VECTOR]. OR [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] [ROOT CAUSE], which allows [ATTACKER] to [IMPACT] via [VECTOR].", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "replacedBy": { + "type": "array", + "description": "Contains an array of CVE IDs that this CVE ID was rejected in favor of because the this CVE ID was assigned to the vulnerabilities", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/cveId" + } + } + } + } diff --git a/src/middleware/Reject_5.0_Schema.json b/src/middleware/Reject_5.0_Schema.json new file mode 100644 index 000000000..cfa9ba0d7 --- /dev/null +++ b/src/middleware/Reject_5.0_Schema.json @@ -0,0 +1,99 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://cve.mitre.org/cve/v5_rejectBody/", + "type": "object", + "title": "Descriptions array JSON format", + "description": "Schema definition for descriptions and replacedBy arrays", + "definitions": { + "cveId": { + "type": "string", + "pattern": "^CVE-[0-9]{4}-[0-9]{4,19}$" + }, + "language": { + "type": "string", + "description": "BCP 47 language code, language-region", + "default": "en", + "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" + }, + "description": { + "type": "object", + "description": "Text in a particular language with optional alternate markup or formatted representation (e.g., Markdown) or embedded media.", + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "description": "Plain text description.", + "minLength": 1, + "maxLength": 4000 + }, + "supportingMedia": { + "type": "array", + "title": "Supporting media", + "description": "Supporting media data for the description such as markdown, diagrams, .. (optional). Similar to RFC 2397 each media object has three main parts: media type, media data value, and an optional boolean flag to indicate if the media data is base64 encoded.", + "uniqueItems": true, + "minItems": 1, + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "title": "Media type", + "minLength": 1, + "maxLength": 255, + "description": "RFC2046 compliant IANA Media type for eg., text/markdown, text/html.", + "examples": [ + "text/markdown", + "text/html", + "image/png", + "image/svg", + "audio/mp3" + ] + }, + "base64": { + "type": "boolean", + "title": "Encoding", + "description": "If true then the value field contains the media data encoded in base64. If false then the value field contains the UTF-8 media content.", + "default": false + }, + "value": { + "type": "string", + "description": "Supporting media content, up to 16K. If base64 is true, this field stores base64 encoded data.", + "minLength": 1, + "maxLength": 16384 + } + }, + "required": [ + "type", + "value" + ] + } + } + }, + "required": [ + "lang", + "value" + ], + "additionalProperties": false + }, + "rejectedReasons": { + "type": "array", + "description": "A list of multi-lingual descriptions of the vulnerability. E.g., [PROBLEMTYPE] in [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] on [PLATFORMS] allows [ATTACKER] to [IMPACT] via [VECTOR]. OR [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] [ROOT CAUSE], which allows [ATTACKER] to [IMPACT] via [VECTOR].", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "replacedBy": { + "type": "array", + "description": "Contains an array of CVE IDs that this CVE ID was rejected in favor of because the this CVE ID was assigned to the vulnerabilities", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/cveId" + } + } + } +} diff --git a/src/middleware/error.js b/src/middleware/error.js index 2097f6988..fd357cf5d 100644 --- a/src/middleware/error.js +++ b/src/middleware/error.js @@ -28,6 +28,14 @@ class MiddlewareError extends idrErr.IDRError { return err } + orgDoesNotOwnId (org, id) { + const err = { + error: 'ORG_DOES_NOT_OWN_ID', + message: `It appears that ${org} does not own ${id}` + } + return err + } + invalidJsonSchema (errors) { // mw const err = {} err.error = 'INVALID_JSON_SCHEMA' diff --git a/src/middleware/imports/cvss/cvss-v2.0.js b/src/middleware/imports/cvss/cvss-v2.0.js deleted file mode 100644 index 1cf5bca28..000000000 --- a/src/middleware/imports/cvss/cvss-v2.0.js +++ /dev/null @@ -1,107 +0,0 @@ -const cvssV20 = { - license: [ - 'Copyright (c) 2017, FIRST.ORG, INC.', - 'All rights reserved.', - '', - 'Redistribution and use in source and binary forms, with or without modification, are permitted provided that the ', - 'following conditions are met:', - '1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following ', - ' disclaimer.', - '2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the ', - ' following disclaimer in the documentation and/or other materials provided with the distribution.', - '3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote ', - ' products derived from this software without specific prior written permission.', - '', - "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, ", - 'INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ', - 'DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ', - 'SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ', - 'SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ', - 'WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ', - 'OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.' - ], - $schema: 'http://json-schema.org/draft-04/schema#', - title: 'JSON Schema for Common Vulnerability Scoring System version 2.0', - id: 'https://www.first.org/cvss/cvss-v2.0.json?20170531', - type: 'object', - definitions: { - accessVectorType: { - type: 'string', - enum: ['NETWORK', 'ADJACENT_NETWORK', 'LOCAL'] - }, - accessComplexityType: { - type: 'string', - enum: ['HIGH', 'MEDIUM', 'LOW'] - }, - authenticationType: { - type: 'string', - enum: ['MULTIPLE', 'SINGLE', 'NONE'] - }, - ciaType: { - type: 'string', - enum: ['NONE', 'PARTIAL', 'COMPLETE'] - }, - exploitabilityType: { - type: 'string', - enum: ['UNPROVEN', 'PROOF_OF_CONCEPT', 'FUNCTIONAL', 'HIGH', 'NOT_DEFINED'] - }, - remediationLevelType: { - type: 'string', - enum: ['OFFICIAL_FIX', 'TEMPORARY_FIX', 'WORKAROUND', 'UNAVAILABLE', 'NOT_DEFINED'] - }, - reportConfidenceType: { - type: 'string', - enum: ['UNCONFIRMED', 'UNCORROBORATED', 'CONFIRMED', 'NOT_DEFINED'] - }, - collateralDamagePotentialType: { - type: 'string', - enum: ['NONE', 'LOW', 'LOW_MEDIUM', 'MEDIUM_HIGH', 'HIGH', 'NOT_DEFINED'] - }, - targetDistributionType: { - type: 'string', - enum: ['NONE', 'LOW', 'MEDIUM', 'HIGH', 'NOT_DEFINED'] - }, - ciaRequirementType: { - type: 'string', - enum: ['LOW', 'MEDIUM', 'HIGH', 'NOT_DEFINED'] - }, - scoreType: { - type: 'number', - minimum: 0, - maximum: 10 - } - }, - properties: { - version: { - description: 'CVSS Version', - type: 'string', - enum: ['2.0'] - }, - vectorString: { - type: 'string', - pattern: '^((AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))/)*(AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))$' - }, - accessVector: { $ref: '#/definitions/accessVectorType' }, - accessComplexity: { $ref: '#/definitions/accessComplexityType' }, - authentication: { $ref: '#/definitions/authenticationType' }, - confidentialityImpact: { $ref: '#/definitions/ciaType' }, - integrityImpact: { $ref: '#/definitions/ciaType' }, - availabilityImpact: { $ref: '#/definitions/ciaType' }, - baseScore: { $ref: '#/definitions/scoreType' }, - exploitability: { $ref: '#/definitions/exploitabilityType' }, - remediationLevel: { $ref: '#/definitions/remediationLevelType' }, - reportConfidence: { $ref: '#/definitions/reportConfidenceType' }, - temporalScore: { $ref: '#/definitions/scoreType' }, - collateralDamagePotential: { $ref: '#/definitions/collateralDamagePotentialType' }, - targetDistribution: { $ref: '#/definitions/targetDistributionType' }, - confidentialityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - integrityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - availabilityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - environmentalScore: { $ref: '#/definitions/scoreType' } - }, - required: ['version', 'vectorString', 'baseScore'] -} - -module.exports = { - cvssV20 -} diff --git a/src/middleware/imports/cvss/cvss-v3.0.js b/src/middleware/imports/cvss/cvss-v3.0.js deleted file mode 100644 index 182c64f0f..000000000 --- a/src/middleware/imports/cvss/cvss-v3.0.js +++ /dev/null @@ -1,146 +0,0 @@ -const cvssV30 = { - license: [ - 'Copyright (c) 2017, FIRST.ORG, INC.', - 'All rights reserved.', - '', - 'Redistribution and use in source and binary forms, with or without modification, are permitted provided that the ', - 'following conditions are met:', - '1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following ', - ' disclaimer.', - '2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the ', - ' following disclaimer in the documentation and/or other materials provided with the distribution.', - '3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote ', - ' products derived from this software without specific prior written permission.', - '', - "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, ", - 'INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ', - 'DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ', - 'SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ', - 'SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ', - 'WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ', - 'OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.' - ], - $schema: 'http://json-schema.org/draft-04/schema#', - title: 'JSON Schema for Common Vulnerability Scoring System version 3.0', - id: 'https://www.first.org/cvss/cvss-v3.0.json?20170531', - type: 'object', - definitions: { - attackVectorType: { - type: 'string', - enum: ['NETWORK', 'ADJACENT_NETWORK', 'LOCAL', 'PHYSICAL'] - }, - modifiedAttackVectorType: { - type: 'string', - enum: ['NETWORK', 'ADJACENT_NETWORK', 'LOCAL', 'PHYSICAL', 'NOT_DEFINED'] - }, - attackComplexityType: { - type: 'string', - enum: ['HIGH', 'LOW'] - }, - modifiedAttackComplexityType: { - type: 'string', - enum: ['HIGH', 'LOW', 'NOT_DEFINED'] - }, - privilegesRequiredType: { - type: 'string', - enum: ['HIGH', 'LOW', 'NONE'] - }, - modifiedPrivilegesRequiredType: { - type: 'string', - enum: ['HIGH', 'LOW', 'NONE', 'NOT_DEFINED'] - }, - userInteractionType: { - type: 'string', - enum: ['NONE', 'REQUIRED'] - }, - modifiedUserInteractionType: { - type: 'string', - enum: ['NONE', 'REQUIRED', 'NOT_DEFINED'] - }, - scopeType: { - type: 'string', - enum: ['UNCHANGED', 'CHANGED'] - }, - modifiedScopeType: { - type: 'string', - enum: ['UNCHANGED', 'CHANGED', 'NOT_DEFINED'] - }, - ciaType: { - type: 'string', - enum: ['NONE', 'LOW', 'HIGH'] - }, - modifiedCiaType: { - type: 'string', - enum: ['NONE', 'LOW', 'HIGH', 'NOT_DEFINED'] - }, - exploitCodeMaturityType: { - type: 'string', - enum: ['UNPROVEN', 'PROOF_OF_CONCEPT', 'FUNCTIONAL', 'HIGH', 'NOT_DEFINED'] - }, - remediationLevelType: { - type: 'string', - enum: ['OFFICIAL_FIX', 'TEMPORARY_FIX', 'WORKAROUND', 'UNAVAILABLE', 'NOT_DEFINED'] - }, - confidenceType: { - type: 'string', - enum: ['UNKNOWN', 'REASONABLE', 'CONFIRMED', 'NOT_DEFINED'] - }, - ciaRequirementType: { - type: 'string', - enum: ['LOW', 'MEDIUM', 'HIGH', 'NOT_DEFINED'] - }, - scoreType: { - type: 'number', - minimum: 0, - maximum: 10 - }, - severityType: { - type: 'string', - enum: ['NONE', 'LOW', 'MEDIUM', 'HIGH', 'CRITICAL'] - } - }, - properties: { - version: { - description: 'CVSS Version', - type: 'string', - enum: ['3.0'] - }, - vectorString: { - type: 'string', - pattern: '^CVSS:3.0/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$' - }, - attackVector: { $ref: '#/definitions/attackVectorType' }, - attackComplexity: { $ref: '#/definitions/attackComplexityType' }, - privilegesRequired: { $ref: '#/definitions/privilegesRequiredType' }, - userInteraction: { $ref: '#/definitions/userInteractionType' }, - scope: { $ref: '#/definitions/scopeType' }, - confidentialityImpact: { $ref: '#/definitions/ciaType' }, - integrityImpact: { $ref: '#/definitions/ciaType' }, - availabilityImpact: { $ref: '#/definitions/ciaType' }, - baseScore: { $ref: '#/definitions/scoreType' }, - baseSeverity: { $ref: '#/definitions/severityType' }, - exploitCodeMaturity: { $ref: '#/definitions/exploitCodeMaturityType' }, - remediationLevel: { $ref: '#/definitions/remediationLevelType' }, - reportConfidence: { $ref: '#/definitions/confidenceType' }, - temporalScore: { $ref: '#/definitions/scoreType' }, - temporalSeverity: { $ref: '#/definitions/severityType' }, - confidentialityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - integrityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - availabilityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - modifiedAttackVector: { $ref: '#/definitions/modifiedAttackVectorType' }, - modifiedAttackComplexity: { $ref: '#/definitions/modifiedAttackComplexityType' }, - modifiedPrivilegesRequired: { $ref: '#/definitions/modifiedPrivilegesRequiredType' }, - modifiedUserInteraction: { $ref: '#/definitions/modifiedUserInteractionType' }, - modifiedScope: { $ref: '#/definitions/modifiedScopeType' }, - modifiedConfidentialityImpact: { $ref: '#/definitions/modifiedCiaType' }, - modifiedIntegrityImpact: { $ref: '#/definitions/modifiedCiaType' }, - modifiedAvailabilityImpact: { $ref: '#/definitions/modifiedCiaType' }, - environmentalScore: { $ref: '#/definitions/scoreType' }, - environmentalSeverity: { $ref: '#/definitions/severityType' } - }, - required: ['version', 'vectorString', 'baseScore', 'baseSeverity'] -} - -module.exports = { - cvssV30 -} diff --git a/src/middleware/imports/cvss/cvss-v3.1.js b/src/middleware/imports/cvss/cvss-v3.1.js deleted file mode 100644 index 6d11cf09a..000000000 --- a/src/middleware/imports/cvss/cvss-v3.1.js +++ /dev/null @@ -1,146 +0,0 @@ -const cvssV31 = { - license: [ - 'Copyright (c) 2019, FIRST.ORG, INC.', - 'All rights reserved.', - '', - 'Redistribution and use in source and binary forms, with or without modification, are permitted provided that the ', - 'following conditions are met:', - '1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following ', - ' disclaimer.', - '2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the ', - ' following disclaimer in the documentation and/or other materials provided with the distribution.', - '3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote ', - ' products derived from this software without specific prior written permission.', - '', - "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, ", - 'INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ', - 'DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ', - 'SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ', - 'SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ', - 'WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ', - 'OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.' - ], - $schema: 'http://json-schema.org/draft-07/schema#', - title: 'JSON Schema for Common Vulnerability Scoring System version 3.1', - id: 'https://www.first.org/cvss/cvss-v3.1.json?20190610', - type: 'object', - definitions: { - attackVectorType: { - type: 'string', - enum: ['NETWORK', 'ADJACENT_NETWORK', 'LOCAL', 'PHYSICAL'] - }, - modifiedAttackVectorType: { - type: 'string', - enum: ['NETWORK', 'ADJACENT_NETWORK', 'LOCAL', 'PHYSICAL', 'NOT_DEFINED'] - }, - attackComplexityType: { - type: 'string', - enum: ['HIGH', 'LOW'] - }, - modifiedAttackComplexityType: { - type: 'string', - enum: ['HIGH', 'LOW', 'NOT_DEFINED'] - }, - privilegesRequiredType: { - type: 'string', - enum: ['HIGH', 'LOW', 'NONE'] - }, - modifiedPrivilegesRequiredType: { - type: 'string', - enum: ['HIGH', 'LOW', 'NONE', 'NOT_DEFINED'] - }, - userInteractionType: { - type: 'string', - enum: ['NONE', 'REQUIRED'] - }, - modifiedUserInteractionType: { - type: 'string', - enum: ['NONE', 'REQUIRED', 'NOT_DEFINED'] - }, - scopeType: { - type: 'string', - enum: ['UNCHANGED', 'CHANGED'] - }, - modifiedScopeType: { - type: 'string', - enum: ['UNCHANGED', 'CHANGED', 'NOT_DEFINED'] - }, - ciaType: { - type: 'string', - enum: ['NONE', 'LOW', 'HIGH'] - }, - modifiedCiaType: { - type: 'string', - enum: ['NONE', 'LOW', 'HIGH', 'NOT_DEFINED'] - }, - exploitCodeMaturityType: { - type: 'string', - enum: ['UNPROVEN', 'PROOF_OF_CONCEPT', 'FUNCTIONAL', 'HIGH', 'NOT_DEFINED'] - }, - remediationLevelType: { - type: 'string', - enum: ['OFFICIAL_FIX', 'TEMPORARY_FIX', 'WORKAROUND', 'UNAVAILABLE', 'NOT_DEFINED'] - }, - confidenceType: { - type: 'string', - enum: ['UNKNOWN', 'REASONABLE', 'CONFIRMED', 'NOT_DEFINED'] - }, - ciaRequirementType: { - type: 'string', - enum: ['LOW', 'MEDIUM', 'HIGH', 'NOT_DEFINED'] - }, - scoreType: { - type: 'number', - minimum: 0, - maximum: 10 - }, - severityType: { - type: 'string', - enum: ['NONE', 'LOW', 'MEDIUM', 'HIGH', 'CRITICAL'] - } - }, - properties: { - version: { - description: 'CVSS Version', - type: 'string', - enum: ['3.1'] - }, - vectorString: { - type: 'string', - pattern: '^CVSS:3.1/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$' - }, - attackVector: { $ref: '#/definitions/attackVectorType' }, - attackComplexity: { $ref: '#/definitions/attackComplexityType' }, - privilegesRequired: { $ref: '#/definitions/privilegesRequiredType' }, - userInteraction: { $ref: '#/definitions/userInteractionType' }, - scope: { $ref: '#/definitions/scopeType' }, - confidentialityImpact: { $ref: '#/definitions/ciaType' }, - integrityImpact: { $ref: '#/definitions/ciaType' }, - availabilityImpact: { $ref: '#/definitions/ciaType' }, - baseScore: { $ref: '#/definitions/scoreType' }, - baseSeverity: { $ref: '#/definitions/severityType' }, - exploitCodeMaturity: { $ref: '#/definitions/exploitCodeMaturityType' }, - remediationLevel: { $ref: '#/definitions/remediationLevelType' }, - reportConfidence: { $ref: '#/definitions/confidenceType' }, - temporalScore: { $ref: '#/definitions/scoreType' }, - temporalSeverity: { $ref: '#/definitions/severityType' }, - confidentialityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - integrityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - availabilityRequirement: { $ref: '#/definitions/ciaRequirementType' }, - modifiedAttackVector: { $ref: '#/definitions/modifiedAttackVectorType' }, - modifiedAttackComplexity: { $ref: '#/definitions/modifiedAttackComplexityType' }, - modifiedPrivilegesRequired: { $ref: '#/definitions/modifiedPrivilegesRequiredType' }, - modifiedUserInteraction: { $ref: '#/definitions/modifiedUserInteractionType' }, - modifiedScope: { $ref: '#/definitions/modifiedScopeType' }, - modifiedConfidentialityImpact: { $ref: '#/definitions/modifiedCiaType' }, - modifiedIntegrityImpact: { $ref: '#/definitions/modifiedCiaType' }, - modifiedAvailabilityImpact: { $ref: '#/definitions/modifiedCiaType' }, - environmentalScore: { $ref: '#/definitions/scoreType' }, - environmentalSeverity: { $ref: '#/definitions/severityType' } - }, - required: ['version', 'vectorString', 'baseScore', 'baseSeverity'] -} - -module.exports = { - cvssV31 -} diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index 1f960e44b..b12894bb7 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -144,6 +144,24 @@ async function onlyCnas (req, res, next) { } } +async function cnaMustOwnID (req, res, next) { + try { + const requestingOrg = req.ctx.org + const orgRepo = req.ctx.repositories.getOrgRepository() + const isSecretariat = await orgRepo.isSecretariat(requestingOrg) + const id = req.ctx.params.id + const cveIdRepo = req.ctx.repositories.getCveIdRepository() + + const cveId = await cveIdRepo.findOneByCveId(id) + if (!cveId || ((cveId.owning_cna !== requestingOrg) && !isSecretariat)) { + return res.status(403).json(error.orgDoesNotOwnId(requestingOrg, id)) + } + next() + } catch (err) { + next(err) + } +} + function validateCveJsonSchema (req, res, next) { const cve = req.body const cveVersion = cve.dataVersion @@ -206,6 +224,7 @@ module.exports = { onlySecretariat, onlySecretariatOrAdmin, onlyCnas, + cnaMustOwnID, createCtxAndReqUUID, validateCveJsonSchema, largeInputErrorHandler, diff --git a/src/middleware/schemas/cnaContainer.json b/src/middleware/schemas/cnaContainer.json new file mode 100644 index 000000000..bf29697fb --- /dev/null +++ b/src/middleware/schemas/cnaContainer.json @@ -0,0 +1,1130 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://cve.mitre.org/cve/v5_rejectBody/", + "type": "object", + "title": "Descriptions array JSON format", + "description": "Schema definition for descriptions and replacedBy arrays", + "definitions": { + "uuidType": { + "description": "A version 4 (random) universally unique identifier (UUID) as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122#section-4.1.3).", + "type": "string", + "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$" + }, + "orgId": { + "description": "A UUID for an organization participating in the CVE program. This UUID can be used to lookup the organization record in the user registry service.", + "$ref": "#/definitions/uuidType" + }, + "shortName": { + "description": "A 3-12 character name that can be used to complement an organization's UUID.", + "type": "string", + "minLength": 3, + "maxLength": 12 + }, + "timestamp": { + "type": "string", + "format": "date-time", + "description": "Date/time format based on RFC3339 and ISO ISO8601, with an optional timezone in the format 'yyyy-MM-ddTHH:mm:ssZZZZ'. If timezone offset is not given, GMT (0000) is assumed.", + "pattern": "^((2000|2400|2800|(19|2[0-9](0[48]|[2468][048]|[13579][26])))-02-29)|(((19|2[0-9])[0-9]{2})-02-(0[1-9]|1[0-9]|2[0-8]))|(((19|2[0-9])[0-9]{2})-(0[13578]|10|12)-(0[1-9]|[12][0-9]|3[01]))|(((19|2[0-9])[0-9]{2})-(0[469]|11)-(0[1-9]|[12][0-9]|30))T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})?$" + }, + "providerMetadata": { + "type": "object", + "description": "Details related to the information container provider (CNA or ADP).", + "properties": { + "orgId": { + "$ref": "#/definitions/orgId", + "description": "The container provider's organizational UUID." + }, + "shortName": { + "$ref": "#/definitions/shortName", + "description": "The container provider's organizational short name." + }, + "dateUpdated": { + "$ref": "#/definitions/timestamp", + "description": "Timestamp to be set by the system of record at time of submission. If updatedDate is provided to the system of record it will be replaced by the current timestamp at the time of submission." + } + }, + "required": ["orgId"] + }, + "englishLanguage": { + "type": "string", + "description": "BCP 47 language code, language-region, required to be English.", + "pattern": "^en([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" + }, + "englishLanguageDescription": { + "type": "object", + "description": "A description with lang set to an English language (en, en_US, en_UK, and so on).", + "properties": { + "lang": { + "$ref": "#/definitions/englishLanguage" + } + }, + "required": ["lang"] + }, + "language": { + "type": "string", + "description": "BCP 47 language code, language-region.", + "default": "en", + "pattern": "^[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}|[0-9]{3}))?$" + }, + "description": { + "type": "object", + "description": "Text in a particular language with optional alternate markup or formatted representation (e.g., Markdown) or embedded media.", + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "description": "Plain text description.", + "minLength": 1, + "maxLength": 4000 + }, + "supportingMedia": { + "type": "array", + "title": "Supporting media", + "description": "Supporting media data for the description such as markdown, diagrams, .. (optional). Similar to RFC 2397 each media object has three main parts: media type, media data value, and an optional boolean flag to indicate if the media data is base64 encoded.", + "uniqueItems": true, + "minItems": 1, + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "title": "Media type", + "minLength": 1, + "maxLength": 255, + "description": "RFC2046 compliant IANA Media type for eg., text/markdown, text/html.", + "examples": [ + "text/markdown", + "text/html", + "image/png", + "image/svg", + "audio/mp3" + ] + }, + "base64": { + "type": "boolean", + "title": "Encoding", + "description": "If true then the value field contains the media data encoded in base64. If false then the value field contains the UTF-8 media content.", + "default": false + }, + "value": { + "type": "string", + "description": "Supporting media content, up to 16K. If base64 is true, this field stores base64 encoded data.", + "minLength": 1, + "maxLength": 16384 + } + }, + "required": ["type", "value"] + } + } + }, + "required": ["lang", "value"], + "additionalProperties": false + }, + "descriptions": { + "type": "array", + "description": "A list of multi-lingual descriptions of the vulnerability. E.g., [PROBLEMTYPE] in [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] on [PLATFORMS] allows [ATTACKER] to [IMPACT] via [VECTOR]. OR [COMPONENT] in [VENDOR] [PRODUCT] [VERSION] [ROOT CAUSE], which allows [ATTACKER] to [IMPACT] via [VECTOR].", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + }, + "contains": { + "$ref": "#/definitions/englishLanguageDescription" + } + }, + "cveId": { + "type": "string", + "pattern": "^CVE-[0-9]{4}-[0-9]{4,19}$" + }, + "affected": { + "type": "array", + "description": "List of affected products.", + "minItems": 1, + "items": { + "$ref": "#/definitions/product" + } + }, + "problemTypes": { + "type": "array", + "description": "This is problem type information (e.g. CWE identifier). Must contain: At least one entry, can be text, OWASP, CWE, please note that while only one is required you can use more than one (or indeed all three) as long as they are correct). (CNA requirement: [PROBLEMTYPE]).", + "items": { + "type": "object", + "required": ["descriptions"], + "properties": { + "descriptions": { + "type": "array", + "items": { + "type": "object", + "required": ["lang", "description"], + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "description": { + "type": "string", + "description": "Text description of problemType, or title from CWE or OWASP.", + "minLength": 1, + "maxLength": 4000 + }, + "cweId": { + "type": "string", + "description": "CWE ID of the CWE that best describes this problemType entry.", + "minLength": 5, + "maxLength": 9, + "pattern": "^CWE-[1-9][0-9]+$" + }, + "type": { + "type": "string", + "description": "Problemtype source, text, OWASP, CWE, etc.,", + "minLength": 1, + "maxLength": 128 + }, + "references": { + "$ref": "#/definitions/references" + } + } + }, + "minItems": 1, + "uniqueItems": true + } + } + }, + "minItems": 1, + "uniqueItems": true + }, + "references": { + "type": "array", + "description": "This is reference data in the form of URLs or file objects (uuencoded and embedded within the JSON file, exact format to be decided, e.g. we may require a compressed format so the objects require unpacking before they are \"dangerous\").", + "items": { + "$ref": "#/definitions/reference" + }, + "minItems": 1, + "maxItems": 500, + "uniqueItems": true + }, + "impacts": { + "type": "array", + "description": "Collection of impacts of this vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "This is impact type information (e.g. a text description.", + "required": ["descriptions"], + "properties": { + "capecId": { + "type": "string", + "description": "CAPEC ID that best relates to this impact.", + "minLength": 7, + "maxLength": 11, + "pattern": "^CAPEC-[1-9][0-9]{0,4}$" + }, + "descriptions": { + "description": "Prose description of the impact scenario. At a minimum provide the description given by CAPEC.", + "$ref": "#/definitions/descriptions" + } + } + } + }, + "metrics": { + "type": "array", + "description": "Collection of impact scores with attribution.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "This is impact type information (e.g. a text description, CVSSv2, CVSSv3, etc.). Must contain: At least one entry, can be text, CVSSv2, CVSSv3, others may be added.", + "anyOf": [ + { + "required": ["cvssV3_1"] + }, + { + "required": ["cvssV3_0"] + }, + { + "required": ["cvssV2_0"] + }, + { + "required": ["other"] + } + ], + "properties": { + "format": { + "type": "string", + "description": "Name of the score format. This provides a bit future proofing. Additional properties are not prohibitied, so this will support inclusion of proprietary formats. It also provides an easy future conversion mechanism when future score formats become part of the schema. example: cvssV4_4, format = 'cvssV4_4', other = cvssV4_4 json object. In the future the other properties can be converted to score properties when they become part of the schema.", + "minLength": 1, + "maxLength": 64 + }, + "scenarios": { + "type": "array", + "description": "Description of the scenarios this metrics object applies to. If no specific scenario is given, GENERAL is used as the default and applies when no more specific metric matches.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "lang": { + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "default": "GENERAL", + "description": "Description of the scenario this metrics object applies to. If no specific scenario is given, GENERAL is used as the default and applies when no more specific metric matches.", + "minLength": 1, + "maxLength": 4000 + } + }, + "required": ["lang", "value"] + } + }, + "cvssV3_1": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "JSON Schema for Common Vulnerability Scoring System version 3.1", + "type": "object", + "definitions": { + "attackVectorType": { + "type": "string", + "enum": ["NETWORK", "ADJACENT_NETWORK", "LOCAL", "PHYSICAL"] + }, + "modifiedAttackVectorType": { + "type": "string", + "enum": [ + "NETWORK", + "ADJACENT_NETWORK", + "LOCAL", + "PHYSICAL", + "NOT_DEFINED" + ] + }, + "attackComplexityType": { + "type": "string", + "enum": ["HIGH", "LOW"] + }, + "modifiedAttackComplexityType": { + "type": "string", + "enum": ["HIGH", "LOW", "NOT_DEFINED"] + }, + "privilegesRequiredType": { + "type": "string", + "enum": ["HIGH", "LOW", "NONE"] + }, + "modifiedPrivilegesRequiredType": { + "type": "string", + "enum": ["HIGH", "LOW", "NONE", "NOT_DEFINED"] + }, + "userInteractionType": { + "type": "string", + "enum": ["NONE", "REQUIRED"] + }, + "modifiedUserInteractionType": { + "type": "string", + "enum": ["NONE", "REQUIRED", "NOT_DEFINED"] + }, + "scopeType": { + "type": "string", + "enum": ["UNCHANGED", "CHANGED"] + }, + "modifiedScopeType": { + "type": "string", + "enum": ["UNCHANGED", "CHANGED", "NOT_DEFINED"] + }, + "ciaType": { + "type": "string", + "enum": ["NONE", "LOW", "HIGH"] + }, + "modifiedCiaType": { + "type": "string", + "enum": ["NONE", "LOW", "HIGH", "NOT_DEFINED"] + }, + "exploitCodeMaturityType": { + "type": "string", + "enum": [ + "UNPROVEN", + "PROOF_OF_CONCEPT", + "FUNCTIONAL", + "HIGH", + "NOT_DEFINED" + ] + }, + "remediationLevelType": { + "type": "string", + "enum": [ + "OFFICIAL_FIX", + "TEMPORARY_FIX", + "WORKAROUND", + "UNAVAILABLE", + "NOT_DEFINED" + ] + }, + "confidenceType": { + "type": "string", + "enum": ["UNKNOWN", "REASONABLE", "CONFIRMED", "NOT_DEFINED"] + }, + "ciaRequirementType": { + "type": "string", + "enum": ["LOW", "MEDIUM", "HIGH", "NOT_DEFINED"] + }, + "scoreType": { + "type": "number", + "minimum": 0, + "maximum": 10 + }, + "severityType": { + "type": "string", + "enum": ["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"] + } + }, + "properties": { + "version": { + "description": "CVSS Version", + "type": "string", + "enum": ["3.1"] + }, + "vectorString": { + "type": "string", + "pattern": "^CVSS:3[.]1/((AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[NLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" + }, + "attackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/attackVectorType" + }, + "attackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/attackComplexityType" + }, + "privilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/privilegesRequiredType" + }, + "userInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/userInteractionType" + }, + "scope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scopeType" + }, + "confidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaType" + }, + "integrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaType" + }, + "availabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaType" + }, + "baseScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scoreType" + }, + "baseSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/severityType" + }, + "exploitCodeMaturity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/exploitCodeMaturityType" + }, + "remediationLevel": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/remediationLevelType" + }, + "reportConfidence": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/confidenceType" + }, + "temporalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scoreType" + }, + "temporalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/severityType" + }, + "confidentialityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaRequirementType" + }, + "integrityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaRequirementType" + }, + "availabilityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/ciaRequirementType" + }, + "modifiedAttackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedAttackVectorType" + }, + "modifiedAttackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedAttackComplexityType" + }, + "modifiedPrivilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedPrivilegesRequiredType" + }, + "modifiedUserInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedUserInteractionType" + }, + "modifiedScope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedScopeType" + }, + "modifiedConfidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedCiaType" + }, + "modifiedIntegrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedCiaType" + }, + "modifiedAvailabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/modifiedCiaType" + }, + "environmentalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/scoreType" + }, + "environmentalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_1/definitions/severityType" + } + }, + "required": ["version", "vectorString", "baseScore", "baseSeverity"] + }, + "cvssV3_0": { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "JSON Schema for Common Vulnerability Scoring System version 3.0", + "type": "object", + "definitions": { + "attackVectorType": { + "type": "string", + "enum": ["NETWORK", "ADJACENT_NETWORK", "LOCAL", "PHYSICAL"] + }, + "modifiedAttackVectorType": { + "type": "string", + "enum": [ + "NETWORK", + "ADJACENT_NETWORK", + "LOCAL", + "PHYSICAL", + "NOT_DEFINED" + ] + }, + "attackComplexityType": { + "type": "string", + "enum": ["HIGH", "LOW"] + }, + "modifiedAttackComplexityType": { + "type": "string", + "enum": ["HIGH", "LOW", "NOT_DEFINED"] + }, + "privilegesRequiredType": { + "type": "string", + "enum": ["HIGH", "LOW", "NONE"] + }, + "modifiedPrivilegesRequiredType": { + "type": "string", + "enum": ["HIGH", "LOW", "NONE", "NOT_DEFINED"] + }, + "userInteractionType": { + "type": "string", + "enum": ["NONE", "REQUIRED"] + }, + "modifiedUserInteractionType": { + "type": "string", + "enum": ["NONE", "REQUIRED", "NOT_DEFINED"] + }, + "scopeType": { + "type": "string", + "enum": ["UNCHANGED", "CHANGED"] + }, + "modifiedScopeType": { + "type": "string", + "enum": ["UNCHANGED", "CHANGED", "NOT_DEFINED"] + }, + "ciaType": { + "type": "string", + "enum": ["NONE", "LOW", "HIGH"] + }, + "modifiedCiaType": { + "type": "string", + "enum": ["NONE", "LOW", "HIGH", "NOT_DEFINED"] + }, + "exploitCodeMaturityType": { + "type": "string", + "enum": [ + "UNPROVEN", + "PROOF_OF_CONCEPT", + "FUNCTIONAL", + "HIGH", + "NOT_DEFINED" + ] + }, + "remediationLevelType": { + "type": "string", + "enum": [ + "OFFICIAL_FIX", + "TEMPORARY_FIX", + "WORKAROUND", + "UNAVAILABLE", + "NOT_DEFINED" + ] + }, + "confidenceType": { + "type": "string", + "enum": ["UNKNOWN", "REASONABLE", "CONFIRMED", "NOT_DEFINED"] + }, + "ciaRequirementType": { + "type": "string", + "enum": ["LOW", "MEDIUM", "HIGH", "NOT_DEFINED"] + }, + "scoreType": { + "type": "number", + "minimum": 0, + "maximum": 10 + }, + "severityType": { + "type": "string", + "enum": ["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"] + } + }, + "properties": { + "version": { + "description": "CVSS Version", + "type": "string", + "enum": ["3.0"] + }, + "vectorString": { + "type": "string", + "pattern": "^CVSS:3[.]0/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$" + }, + "attackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/attackVectorType" + }, + "attackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/attackComplexityType" + }, + "privilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/privilegesRequiredType" + }, + "userInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/userInteractionType" + }, + "scope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scopeType" + }, + "confidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaType" + }, + "integrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaType" + }, + "availabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaType" + }, + "baseScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scoreType" + }, + "baseSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/severityType" + }, + "exploitCodeMaturity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/exploitCodeMaturityType" + }, + "remediationLevel": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/remediationLevelType" + }, + "reportConfidence": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/confidenceType" + }, + "temporalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scoreType" + }, + "temporalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/severityType" + }, + "confidentialityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaRequirementType" + }, + "integrityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaRequirementType" + }, + "availabilityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/ciaRequirementType" + }, + "modifiedAttackVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedAttackVectorType" + }, + "modifiedAttackComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedAttackComplexityType" + }, + "modifiedPrivilegesRequired": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedPrivilegesRequiredType" + }, + "modifiedUserInteraction": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedUserInteractionType" + }, + "modifiedScope": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedScopeType" + }, + "modifiedConfidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedCiaType" + }, + "modifiedIntegrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedCiaType" + }, + "modifiedAvailabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/modifiedCiaType" + }, + "environmentalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/scoreType" + }, + "environmentalSeverity": { + "$ref": "#/definitions/metrics/items/properties/cvssV3_0/definitions/severityType" + } + }, + "required": ["version", "vectorString", "baseScore", "baseSeverity"] + }, + "cvssV2_0": { + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "JSON Schema for Common Vulnerability Scoring System version 2.0", + "type": "object", + "definitions": { + "accessVectorType": { + "type": "string", + "enum": ["NETWORK", "ADJACENT_NETWORK", "LOCAL"] + }, + "accessComplexityType": { + "type": "string", + "enum": ["HIGH", "MEDIUM", "LOW"] + }, + "authenticationType": { + "type": "string", + "enum": ["MULTIPLE", "SINGLE", "NONE"] + }, + "ciaType": { + "type": "string", + "enum": ["NONE", "PARTIAL", "COMPLETE"] + }, + "exploitabilityType": { + "type": "string", + "enum": [ + "UNPROVEN", + "PROOF_OF_CONCEPT", + "FUNCTIONAL", + "HIGH", + "NOT_DEFINED" + ] + }, + "remediationLevelType": { + "type": "string", + "enum": [ + "OFFICIAL_FIX", + "TEMPORARY_FIX", + "WORKAROUND", + "UNAVAILABLE", + "NOT_DEFINED" + ] + }, + "reportConfidenceType": { + "type": "string", + "enum": [ + "UNCONFIRMED", + "UNCORROBORATED", + "CONFIRMED", + "NOT_DEFINED" + ] + }, + "collateralDamagePotentialType": { + "type": "string", + "enum": [ + "NONE", + "LOW", + "LOW_MEDIUM", + "MEDIUM_HIGH", + "HIGH", + "NOT_DEFINED" + ] + }, + "targetDistributionType": { + "type": "string", + "enum": ["NONE", "LOW", "MEDIUM", "HIGH", "NOT_DEFINED"] + }, + "ciaRequirementType": { + "type": "string", + "enum": ["LOW", "MEDIUM", "HIGH", "NOT_DEFINED"] + }, + "scoreType": { + "type": "number", + "minimum": 0, + "maximum": 10 + } + }, + "properties": { + "version": { + "description": "CVSS Version", + "type": "string", + "enum": ["2.0"] + }, + "vectorString": { + "type": "string", + "pattern": "^((AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))/)*(AV:[NAL]|AC:[LMH]|Au:[MSN]|[CIA]:[NPC]|E:(U|POC|F|H|ND)|RL:(OF|TF|W|U|ND)|RC:(UC|UR|C|ND)|CDP:(N|L|LM|MH|H|ND)|TD:(N|L|M|H|ND)|[CIA]R:(L|M|H|ND))$" + }, + "accessVector": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/accessVectorType" + }, + "accessComplexity": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/accessComplexityType" + }, + "authentication": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/authenticationType" + }, + "confidentialityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaType" + }, + "integrityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaType" + }, + "availabilityImpact": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaType" + }, + "baseScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/scoreType" + }, + "exploitability": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/exploitabilityType" + }, + "remediationLevel": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/remediationLevelType" + }, + "reportConfidence": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/reportConfidenceType" + }, + "temporalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/scoreType" + }, + "collateralDamagePotential": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/collateralDamagePotentialType" + }, + "targetDistribution": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/targetDistributionType" + }, + "confidentialityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaRequirementType" + }, + "integrityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaRequirementType" + }, + "availabilityRequirement": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/ciaRequirementType" + }, + "environmentalScore": { + "$ref": "#/definitions/metrics/items/properties/cvssV2_0/definitions/scoreType" + } + }, + "required": ["version", "vectorString", "baseScore"] + }, + "other": { + "type": "object", + "description": "A non-standard impact description, may be prose or JSON block.", + "required": ["type", "content"], + "properties": { + "type": { + "description": "Name of the non-standard impact metrics format used.", + "type": "string", + "minLength": 1, + "maxLength": 128 + }, + "content": { + "type": "object", + "description": "JSON object not covered by another metrics format.", + "minProperties": 1 + } + } + } + } + } + }, + "configurations": { + "type": "array", + "description": "Configurations required for exploiting this vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "workarounds": { + "type": "array", + "description": "Workarounds and mitigations for this vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "solutions": { + "type": "array", + "description": "Information about solutions or remediations available for this vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "exploits": { + "type": "array", + "description": "Information about exploits of the vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/description" + } + }, + "timeline": { + "type": "array", + "description": "This is timeline information for significant events about this vulnerability or changes to the CVE Record.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "required": ["time", "lang", "value"], + "properties": { + "time": { + "description": "Timestamp representing when the event in the timeline occurred. The timestamp format is based on RFC3339 and ISO ISO8601, with an optional timezone. yyyy-MM-ddTHH:mm:ssZZZZ - if the timezone offset is not given, GMT (0000) is assumed.", + "$ref": "#/definitions/timestamp" + }, + "lang": { + "description": "The language used in the description of the event. The language field is included so that CVE Records can support translations. The value must be a BCP 47 language code.", + "$ref": "#/definitions/language" + }, + "value": { + "description": "A summary of the event.", + "type": "string", + "minLength": 1, + "maxLength": 4000 + } + } + } + }, + "credits": { + "type": "array", + "description": "Statements acknowledging specific people, organizations, or tools recognizing the work done in researching, discovering, remediating or helping with activities related to this CVE.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "lang": { + "description": "The language used when describing the credits. The language field is included so that CVE Records can support translations. The value must be a BCP 47 language code.", + "$ref": "#/definitions/language" + }, + "value": { + "type": "string", + "minLength": 1, + "maxLength": 4000 + }, + "user": { + "description": "UUID of the user being credited if present in the CVE User Registry (optional). This UUID can be used to lookup the user record in the user registry service.", + "$ref": "#/definitions/uuidType" + }, + "type": { + "type": "string", + "description": "Type or role of the entity being credited (optional). finder: identifies the vulnerability.\nreporter: notifies the vendor of the vulnerability to a CNA.\nanalyst: validates the vulnerability to ensure accuracy or severity.\ncoordinator: facilitates the coordinated response process.\nremediation developer: prepares a code change or other remediation plans.\nremediation reviewer: reviews vulnerability remediation plans or code changes for effectiveness and completeness.\nremediation verifier: tests and verifies the vulnerability or its remediation.\ntool: names of tools used in vulnerability discovery or identification.\nsponsor: supports the vulnerability identification or remediation activities.", + "default": "finder", + "enum": [ + "finder", + "reporter", + "analyst", + "coordinator", + "remediation developer", + "remediation reviewer", + "remediation verifier", + "tool", + "sponsor", + "other" + ] + } + }, + "required": ["lang", "value"] + } + }, + "source": { + "type": "object", + "description": "This is the source information (who discovered it, who researched it, etc.) and optionally a chain of CNA information (e.g. the originating CNA and subsequent parent CNAs who have processed it before it arrives at the MITRE root).\n Must contain: IF this is in the root level it MUST contain a CNA_chain entry, IF this source entry is NOT in the root (e.g. it is part of a vendor statement) then it must contain at least one type of data entry.", + "minProperties": 1 + }, + "cnaTags": { + "type": "array", + "description": "Tags provided by a CNA describing the CVE Record.", + "uniqueItems": true, + "minItems": 1, + "items": { + "oneOf": [ + { + "$ref": "#/definitions/tagExtension" + }, + { + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://cve.mitre.org/cve/v5_00/tags/cna/", + "type": "string", + "description": "exclusively-hosted-service: All known software and/or hardware affected by this CVE Record is known to exist only in the affected hosted service. If the vulnerability affects both hosted and on-prem software and/or hardware, then the tag should not be used.\n\nunsupported-when-assigned: Used by the assigning CNA to indicate that when a request for a CVE assignment was received, the product was already end-of-life (EOL) or a product or specific version was deemed not to be supported by the vendor. This tag should only be applied to a CVE Record when all affected products or version lines referenced in the CVE-Record are EOL.\n\ndisputed: When one party disagrees with another party's assertion that a particular issue in software is a vulnerability, a CVE Record assigned to that issue may be tagged as being 'disputed'.", + "enum": [ + "unsupported-when-assigned", + "exclusively-hosted-service", + "disputed" + ] + } + ] + } + }, + "taxonomyMappings": { + "type": "array", + "description": "List of taxonomy items related to the vulnerability.", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "", + "required": ["taxonomyName", "taxonomyRelations"], + "properties": { + "taxonomyName": { + "type": "string", + "description": "The name of the taxonomy.", + "minLength": 1, + "maxLength": 128 + }, + "taxonomyVersion": { + "type": "string", + "description": "The version of taxonomy the identifiers come from.", + "minLength": 1, + "maxLength": 128 + }, + "taxonomyRelations": { + "type": "array", + "description": "", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "object", + "description": "List of relationships to the taxonomy for the vulnerability. Relationships can be between the taxonomy and the CVE or two taxonomy items.", + "required": [ + "taxonomyId", + "relationshipName", + "relationshipValue" + ], + "properties": { + "taxonomyId": { + "type": "string", + "description": "Identifier of the item in the taxonomy. Used as the subject of the relationship.", + "minLength": 1, + "maxLength": 2000 + }, + "relationshipName": { + "type": "string", + "description": "A description of the relationship.", + "minLength": 1, + "maxLength": 128 + }, + "relationshipValue": { + "type": "string", + "description": "The target of the relationship. Can be the CVE ID or another taxonomy identifier.", + "minLength": 1, + "maxLength": 2000 + } + } + } + } + } + } + }, + "cnaRejectedContainer": { + "$id": "cnaRejectedContainerId", + "description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA) for a rejected CVE ID. There can only be one CNA container per CVE record since there can only be one assigning CNA.", + "type": "object", + "properties": { + "providerMetadata": { + "$ref": "#/definitions/providerMetadata" + }, + "rejectedReasons": { + "description": "Reasons for rejecting this CVE Record.", + "$ref": "#/definitions/descriptions" + }, + "replacedBy": { + "type": "array", + "description": "Contains an array of CVE IDs that this CVE ID was rejected in favor of because the this CVE ID was assigned to the vulnerabilities.", + "minItems": 1, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/cveId" + } + } + }, + "required": ["providerMetadata", "rejectedReasons"], + "patternProperties": { + "^x_": {} + }, + "additionalProperties": false + }, + "cnaPublishedContainer": { + "description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA) for a published CVE ID. There can only be one CNA container per CVE record since there can only be one assigning CNA. The CNA container must include the required information defined in the CVE Rules, which includes a product, version, problem type, prose description, and a reference.", + "type": "object", + "properties": { + "providerMetadata": { + "$ref": "#/definitions/providerMetadata" + }, + "dateAssigned": { + "$ref": "#/definitions/timestamp", + "description": "The date/time this CVE ID was associated with a vulnerability by a CNA." + }, + "datePublic": { + "$ref": "#/definitions/timestamp", + "description": "If known, the date/time the vulnerability was disclosed publicly." + }, + "title": { + "type": "string", + "description": "Short title - if the description is long we may want a short title to refer to.", + "minLength": 1, + "maxLength": 128 + }, + "descriptions": { + "$ref": "#/definitions/descriptions" + }, + "affected": { + "$ref": "#/definitions/affected" + }, + "problemTypes": { + "$ref": "#/definitions/problemTypes" + }, + "references": { + "$ref": "#/definitions/references" + }, + "impacts": { + "$ref": "#/definitions/impacts" + }, + "metrics": { + "$ref": "#/definitions/metrics" + }, + "configurations": { + "$ref": "#/definitions/configurations" + }, + "workarounds": { + "$ref": "#/definitions/workarounds" + }, + "solutions": { + "$ref": "#/definitions/solutions" + }, + "exploits": { + "$ref": "#/definitions/exploits" + }, + "timeline": { + "$ref": "#/definitions/timeline" + }, + "credits": { + "$ref": "#/definitions/credits" + }, + "source": { + "$ref": "#/definitions/source" + }, + "tags": { + "$ref": "#/definitions/cnaTags" + }, + "taxonomyMappings": { + "$ref": "#/definitions/taxonomyMappings" + } + }, + "required": [ + "providerMetadata", + "descriptions", + "affected", + "references" + ], + "patternProperties": { + "^x_": {} + }, + "additionalProperties": false + } + } +} diff --git a/src/middleware/tags/adp-tags.json b/src/middleware/tags/adp-tags.json deleted file mode 100644 index d16868a91..000000000 --- a/src/middleware/tags/adp-tags.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://cve.mitre.org/cve/v5_00/tags/adp/", - "type": "string", - "description": "disputed: When one party disagrees with another party's assertion that a particular issue in software is a vulnerability, a CVE Record assigned to that issue may be tagged as being 'disputed'.", - "enum": ["disputed"] -} diff --git a/src/middleware/tags/cna-tags.json b/src/middleware/tags/cna-tags.json deleted file mode 100644 index 35633c72e..000000000 --- a/src/middleware/tags/cna-tags.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://cve.mitre.org/cve/v5_00/tags/cna/", - "type": "string", - "description": "exclusively-hosted-service: All known software and/or hardware affected by this CVE Record is known to exist only in the affected hosted service. If the vulnerability affects both hosted and on-prem software and/or hardware, then the tag should not be used.\n\nunsupported-when-assigned: Used by the assigning CNA to indicate that when a request for a CVE assignment was received, the product was already end-of-life (EOL) or a product or specific version was deemed not to be supported by the vendor. This tag should only be applied to a CVE Record when all affected products or version lines referenced in the CVE-Record are EOL.\n\ndisputed: When one party disagrees with another party's assertion that a particular issue in software is a vulnerability, a CVE Record assigned to that issue may be tagged as being 'disputed'.", - "enum": ["unsupported-when-assigned", "exclusively-hosted-service", "disputed"] -} diff --git a/src/middleware/tags/reference-tags.json b/src/middleware/tags/reference-tags.json deleted file mode 100644 index 41a1aebe7..000000000 --- a/src/middleware/tags/reference-tags.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://cve.mitre.org/cve/v5_00/tags/reference/", - "type": "string", - "description": "broken-link: The reference link is returning a 404 error, or the site is no longer online.\n\ncustomer-entitlement: Similar to Privileges Required, but specific to references that require non-public/paid access for customers of the particular vendor.\n\nexploit: Reference contains an in-depth/detailed description of steps to exploit a vulnerability OR the reference contains any legitimate Proof of Concept (PoC) code or exploit kit.\n\ngovernment-resource: All reference links that are from a government agency or organization should be given the Government Resource tag.\n\nissue-tracking: The reference is a post from a bug tracking tool such as MantisBT, Bugzilla, JIRA, Github Issues, etc...\n\nmailing-list: The reference is from a mailing list -- often specific to a product or vendor.\n\nmitigation: The reference contains information on steps to mitigate against the vulnerability in the event a patch can't be applied or is unavailable or for EOL product situations.\n\nnot-applicable: The reference link is not applicable to the vulnerability and was likely associated by MITRE accidentally (should be used sparingly).\n\npatch: The reference contains an update to the software that fixes the vulnerability.\n\npermissions-required: The reference link provided is blocked by a logon page. If credentials are required to see any information this tag must be applied.\n\nmedia-coverage: The reference is from a media outlet such as a newspaper, magazine, social media, or weblog. This tag is not intended to apply to any individual's personal social media account. It is strictly intended for public media entities.\n\nproduct: A reference appropriate for describing a product for the purpose of CPE or SWID.\n\nrelated: A reference that is for a related (but not the same) vulnerability.\n\nrelease-notes: The reference is in the format of a vendor or open source project's release notes or change log.\n\nsignature: The reference contains a method to detect or prevent the presence or exploitation of the vulnerability.\n\ntechnical-description: The reference contains in-depth technical information about a vulnerability and its exploitation process, typically in the form of a presentation or whitepaper.\n\nthird-party-advisory: Advisory is from an organization that is not the vulnerable product's vendor/publisher/maintainer.\n\nvendor-advisory: Advisory is from the vendor/publisher/maintainer of the product or the parent organization.\n\nvdb-entry: VDBs are loosely defined as sites that provide information about this vulnerability, such as advisories, with identifiers. Included VDBs are free to access, substantially public, and have broad scope and coverage (not limited to a single vendor or research organization). See: https://www.first.org/global/sigs/vrdx/vdb-catalog", - "enum": [ - "broken-link", - "customer-entitlement", - "exploit", - "government-resource", - "issue-tracking", - "mailing-list", - "mitigation", - "not-applicable", - "patch", - "permissions-required", - "media-coverage", - "product", - "related", - "release-notes", - "signature", - "technical-description", - "third-party-advisory", - "vendor-advisory", - "vdb-entry" - ] -} \ No newline at end of file diff --git a/src/model/cve.js b/src/model/cve.js index 739cf8026..b37a27c9d 100644 --- a/src/model/cve.js +++ b/src/model/cve.js @@ -1,5 +1,15 @@ const mongoose = require('mongoose') const aggregatePaginate = require('mongoose-aggregate-paginate-v2') +const fs = require('fs') +const cveSchemaV5 = JSON.parse(fs.readFileSync('src/middleware/5.0_bundled_schema.json')) +const Ajv = require('ajv') +const addFormats = require('ajv-formats') +const ajv = new Ajv({ allErrors: true }) +addFormats(ajv) +const validate = ajv.compile(cveSchemaV5) +const rejectedContainerSchema = JSON.parse(fs.readFileSync('src/middleware/schemas/cnaContainer.json')) +const validateCnaRejectedContainer = ajv.compile(rejectedContainerSchema) +const CONSTANTS = require('../constants') const schema = { _id: false, @@ -13,9 +23,119 @@ const schema = { const CveSchema = new mongoose.Schema(schema, { collection: 'Cve', timestamps: { createdAt: 'time.created', updatedAt: 'time.modified' } }) CveSchema.query.byCveId = function (cveId) { - return this.where({ 'cve.cveMetadata.id': cveId }) + return this.where({ 'cve.cveMetadata.cveId': cveId }) +} + +CveSchema.statics.validateCveRecord = function (record) { + const result = validate(record) + if (result) { + return true + } + return false +} + +function createBaseCveMetadata (id, assigner, state) { + const baseRecord = { + dataType: 'CVE_RECORD', + dataVersion: '5.0', + cveMetadata: { + cveId: id, + assignerOrgId: assigner, + state: state + } + } + return baseRecord +} + +CveSchema.statics.newPublishedCve = function (id, assigner, cnaContainer, sysProvidedCveMetadata = {}, sysProvidedProviderMetadata = {}) { + const baseRecord = createBaseCveMetadata(id, assigner, CONSTANTS.CVE_STATES.PUBLISHED) + + const newCveMetadata = { + ...baseRecord.cveMetadata, + ...sysProvidedCveMetadata + } + + baseRecord.cveMetadata = newCveMetadata + + cnaContainer.providerMetadata = { + orgId: assigner, + ...sysProvidedProviderMetadata + } + + baseRecord.containers = { cna: cnaContainer } + + return baseRecord +} + +function createRecordBase () { + const baseRecord = { + dataType: 'CVE_RECORD', + dataVersion: '5.0' + } + return baseRecord +} + +function createCveMetadata (id, assigner, state) { + const cveMetadata = { + cveMetadata: { id: id, assigner: assigner, state: state } + } + return cveMetadata +} + +function createProviderMetadata (orgId, shortName) { + const providerMetadata = { + providerMetadata: { orgId: orgId, shortName: shortName, dateUpdated: (new Date()).toISOString() } + } + return providerMetadata +} + +CveSchema.statics.newRejectedCve = function (cveId, reqBody, orgId, shortName) { + const baseRecord = createRecordBase() + const cveMetadata = createCveMetadata(cveId.id, cveId.assigner, CONSTANTS.CVE_STATES.REJECTED) + const providerMetadata = createProviderMetadata(orgId, shortName) + + const cnaRejectedContainer = { + providerMetadata, + rejectedReasons: reqBody.rejectedReasons, + replacedBy: reqBody.replacedBy + } + + const finalRecord = { + baseRecord, + cveMetadata, + containers: { + cna: cnaRejectedContainer + } + } + + return finalRecord +} + +CveSchema.statics.validateRejected = function (record) { + const result = validateCnaRejectedContainer(record) + if (result) { + return true + } + return false +} + +CveSchema.statics.updateCveToRejected = function (id, record, newCnaContainer) { + record.containers = newCnaContainer // replace cna field on existing record + const timeStamp = (new Date()).toISOString() + record.cveMetadata.dateUpdated = timeStamp + record.containers.cnaContainer.providerMetadata.dateUpdated = timeStamp + // if record is in a PUBLISHED state, transition to a REJECTED state + if (record.cveMetadata.state === CONSTANTS.CVE_STATES.PUBLISHED) { + record.cveMetadata.cveId = id // update cveId + record.cveMetadata.state = CONSTANTS.CVE_STATES.REJECTED // update state + if (record.containers.adp) { // check if adp field exists + delete record.containers.adp + } + } + return record } CveSchema.plugin(aggregatePaginate) const Cve = mongoose.model('Cve', CveSchema) + module.exports = Cve diff --git a/src/scripts/populate.js b/src/scripts/populate.js index 2d784375e..b923f381c 100644 --- a/src/scripts/populate.js +++ b/src/scripts/populate.js @@ -104,10 +104,12 @@ db.once('open', async () => { )) // CVE - populatePromises.push(dataUtils.populateCollection( - './datadump/pre-population/cves.json', - Cve, dataUtils.newCveTransform - )) + if (process.env.NODE_ENV === 'development') { + populatePromises.push(dataUtils.populateCollection( + './datadump/pre-population/cves.json', + Cve, dataUtils.newCveTransform + )) + } // CVE ID, depends on User and Org populatePromises.push(dataUtils.populateCollection( diff --git a/src/utils/data.js b/src/utils/data.js index a2ff94730..b848bfd9d 100644 --- a/src/utils/data.js +++ b/src/utils/data.js @@ -97,7 +97,7 @@ async function newCveIdTransform (cveId) { async function newCveTransform (cve) { const orgUUID = await utils.getOrgUUID(cve.cve.cveMetadata.assignerShortName) // find uuid based on shortname - cve.cve.cveMetadata.assigner = orgUUID // assign the assigner to be the org uuid + cve.cve.cveMetadata.assignerOrgId = orgUUID // assign the assigner to be the org uuid return cve } diff --git a/src/utils/error.js b/src/utils/error.js index 28c26a8f5..f719431b8 100644 --- a/src/utils/error.js +++ b/src/utils/error.js @@ -85,6 +85,17 @@ class IDRError { err.message = 'This information can only be viewed or modified by the Secretariat or Org Admin.' return err } + + invalidJsonSchema (errors) { // mw + const err = {} + err.error = 'INVALID_JSON_SCHEMA' + err.message = 'CVE JSON schema validation FAILED.' + err.details = { + errors: errors + } + + return err + } } module.exports = { diff --git a/test-http/README.md b/test-http/README.md index b91c97b05..c5052d929 100644 --- a/test-http/README.md +++ b/test-http/README.md @@ -1,6 +1,6 @@ # CVE Services Endpoint Testing -**Warning**: do not point these tests at production. +**Warning**: do not point these tests at production!!! This portion of the repository contains HTTP tests written using Python `requests`, and `pytest`. They can be run against any instantiation of the REST API by updating `test-http/docker/.docker-env` accordingly. The REST API must have a backing MongoDb database. Tests should not be run against production, since they do update and delete data. Some tests assume that the MITRE organization exists and is the secretariat. @@ -11,16 +11,15 @@ The following will run tests against an existing instance of the CPS and service ```sh cd test-http -# update empty credentials in docker env file +# Copy default credentials +# Edit these to point at the desired endpoint cp docker/.docker-env.example docker/.docker-env -# optional but recommended: use the project's shared testing bash aliases -source config/.bashrc -demon-build # docker-compose --file docker/docker-compose.yml up +# Run the testing container +docker-compose --file docker/docker-compose.yml up --build -# in a separate bash shell from the `cve-services/test-http/` folder -source config/.bashrc -demon pytest src/ # docker exec -it demon pytest src/ +# Run the tests +docker exec -it demon pytest src/ ``` ## External Documentation diff --git a/test-http/config/.bashrc b/test-http/config/.bashrc index 11cd16393..8beb23881 100644 --- a/test-http/config/.bashrc +++ b/test-http/config/.bashrc @@ -1,5 +1,7 @@ # Testing Aliases -# - source this file for useful bash commands +# +# Source this file for useful shell aliases + alias demon='docker exec -it demon' alias demon-bash='demon /bin/bash' alias demon-run='\ diff --git a/test-http/docker/Dockerfile b/test-http/docker/Dockerfile index 935372acd..4470845e0 100644 --- a/test-http/docker/Dockerfile +++ b/test-http/docker/Dockerfile @@ -1,33 +1,14 @@ -FROM debian:stable +FROM python:3.9-slim-buster -LABEL \ - name="Dockerized Endpoint Testing", \ - maintainer="Colin Payne-Rogers" \ - email="cpaynerogers@mitre.org" +LABEL name="Dockerized Endpoint Testing" WORKDIR /app - -# install python, build prerequisites, MITRE certificates -RUN apt-get update \ - && apt-get install -y \ - ca-certificates \ - curl \ - python3 \ - python3-pip \ - vim \ - && curl -skL 'https://bitbucket.ecis.mitre.org/projects/DOCKER/repos/docker/browse/install/install_mitre_certificates.sh?&raw' | bash \ -# prerequisites smoke tests - && curl --version \ - && pip3 --version \ - && python3 --version - -# install required Python packages -# this also points the requests package at the MITRE certificate chain COPY docker/reqs.txt ./ -RUN pip3 install -r reqs.txt \ - && curl -sf http://pki.mitre.org/MITRE-chain.txt -o MITRE-chain.txt \ - && cat MITRE-chain.txt >> "$(python3 -c 'import requests; print(requests.certs.where())')" - COPY src ./src COPY docker/entrypoint.sh ./ + +RUN pip3 --version +RUN python3 --version +RUN pip3 install -r reqs.txt + ENTRYPOINT ["/app/entrypoint.sh"] diff --git a/test-http/docker/entrypoint.sh b/test-http/docker/entrypoint.sh index 093afc09c..d87a2e159 100755 --- a/test-http/docker/entrypoint.sh +++ b/test-http/docker/entrypoint.sh @@ -1,9 +1,8 @@ #!/bin/bash +# Do not exit the container +# - Instead, wait to run tests using `docker exec -it` +# - This enables capturing of Python's debugger and re-running tests +# without restarting the container -# do not exit the container -# - instead, wait to run tests using `docker exec -it` -# - this enables capturing of Python's debugger, and re-running tests without -# restarting the container -# - a separate entrypoint will be useful to deploy this to GitHub Actions echo "Waiting." sleep 99999 diff --git a/test-http/src/conftest.py b/test-http/src/conftest.py index 1fd10e69a..7395fee01 100644 --- a/test-http/src/conftest.py +++ b/test-http/src/conftest.py @@ -2,13 +2,16 @@ import pytest import requests import uuid +import random +import string from src import env, utils @pytest.fixture def org_admin_headers(): """ create an org and an admin user for that org, return user's headers """ - org = str(uuid.uuid4()) # dummy org name + letters = string.ascii_lowercase + org = ''.join(random.choice(letters) for i in range(10)) # generate random org name org_res = requests.post( f'{env.AWG_BASE_URL}/api/org', # secretariat creates an org headers=utils.BASE_HEADERS, @@ -36,7 +39,8 @@ def org_admin_headers(): @pytest.fixture def reg_user_headers(): """ create an org and an regular user for that org, return user's headers """ - org = str(uuid.uuid4()) # dummy org name + letters = string.ascii_lowercase + org = ''.join(random.choice(letters) for i in range(10)) # generate random org name org_res = requests.post( f'{env.AWG_BASE_URL}/api/org', # secretariat creates an org headers=utils.BASE_HEADERS, diff --git a/test-http/src/test/cve_id_tests/cve_id.py b/test-http/src/test/cve_id_tests/cve_id.py index a2e0478d8..180c40460 100644 --- a/test-http/src/test/cve_id_tests/cve_id.py +++ b/test-http/src/test/cve_id_tests/cve_id.py @@ -10,7 +10,7 @@ response_contains, response_contains_json) CVE_ID_URL = '/api/cve-id' -cve_id = 'CVE-1999-0001' +cve_id = 'CVE-1999-0002' #### GET /cve-id/:id #### def test_get_cve_id(): @@ -48,7 +48,7 @@ def test_get_cve_id_id(): #### PUT /cve-id/:id #### def test_put_cve_id_id(): - """ an id can be updated to rejected or published """ + """ an id can be updated to rejected and then back to reserved """ res = requests.put( f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', headers=utils.BASE_HEADERS, @@ -59,33 +59,36 @@ def test_put_cve_id_id(): res = requests.put( f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', headers=utils.BASE_HEADERS, - params={'state':'PUBLISHED'} - ) - ok_response_contains(res, f'{cve_id} was successfully updated.') - - -def test_put_cve_id_id_state_reserved(): - """ an id's state cannot be set back to reserved """ - res = requests.put( - f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', - headers=utils.BASE_HEADERS, - params={'state':'REJECTED'} + params={'state':'RESERVED'} ) ok_response_contains(res, f'{cve_id} was successfully updated.') - res = requests.put( - f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', - headers=utils.BASE_HEADERS, - params={'state':'RESERVED'} - ) - assert res.status_code == 400 - response_contains_json( - res, 'message', - 'Cannot change the state to RESERVED.') +""" +This test will be reinstated when the code is completed to prevent CVE IDs +from being changed to the PUBLISHED state. +""" +# def test_put_cve_id_id_state_published(): +# """ an id's state cannot be set to published """ +# res = requests.put( +# f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', +# headers=utils.BASE_HEADERS, +# params={'state':'REJECTED'} +# ) +# ok_response_contains(res, f'{cve_id} was successfully updated.') + +# res = requests.put( +# f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', +# headers=utils.BASE_HEADERS, +# params={'state':'PUBLISHED'} +# ) +# assert res.status_code == 400 +# response_contains_json( +# res, 'message', +# 'Cannot change the state to PUBLISHED.') def test_put_cve_id_id_state_blarg(): - """ an id's state can only be set to published or reject """ + """ an id's state cannot be changed to a non-existent state """ res = requests.put( f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', headers=utils.BASE_HEADERS, @@ -308,7 +311,7 @@ def test_put_cve_id_duplicate_state(): """ api rejects ID updates with duplicate state parameter """ res = requests.put( (f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}' - '?state=RESERVED&state=PUBLISHED'), + '?state=RESERVED&state=REJECTED'), headers=utils.BASE_HEADERS ) assert res.status_code == 400 diff --git a/test-http/src/test/cve_id_tests/cve_id_as_general_user.py b/test-http/src/test/cve_id_tests/cve_id_as_general_user.py index 212b410c9..387fd2122 100644 --- a/test-http/src/test/cve_id_tests/cve_id_as_general_user.py +++ b/test-http/src/test/cve_id_tests/cve_id_as_general_user.py @@ -45,17 +45,25 @@ def test_get_cve_id_id(reg_user_headers): ) assert isinstance (cve_id, str) - +""" +Regular users now CAN update CVE ID state. +This test should be reinstituted once the problem +of this test suite using the same CVE ID for all +these tests is resolved. Tests should be independent +of one another but these tests are highly dependent +on each other's state changes. +""" #### PUT /cve-id/:id #### -def test_put_cve_id_id_state(reg_user_headers): - """ regular user cannot update id's state """ - res = requests.put( - f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', - headers=reg_user_headers, - params={'state':'PUBLISHED'} - ) - assert res.status_code == 403 - response_contains_json(res, 'error', 'SECRETARIAT_ONLY') +# def test_put_cve_id_id_state(reg_user_headers): +# """ regular user cannot update id's state """ +# res = requests.put( +# f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', +# headers=reg_user_headers, +# params={'state':'RESERVED'} +# ) +# assert res.status_code == 200 +# # This should not result in an error, but a success message. +# response_contains_json(res, 'error', 'SECRETARIAT_ONLY') #### POST /cve-id #### @@ -466,4 +474,4 @@ def get_reserve_cve_ids( 'cve_year': f'{year}', 'short_name': cna_short_name } - ) \ No newline at end of file + ) diff --git a/test-http/src/test/cve_id_tests/cve_id_as_org_admin.py b/test-http/src/test/cve_id_tests/cve_id_as_org_admin.py index cbc4215aa..dc5a359e2 100644 --- a/test-http/src/test/cve_id_tests/cve_id_as_org_admin.py +++ b/test-http/src/test/cve_id_tests/cve_id_as_org_admin.py @@ -46,17 +46,20 @@ def test_get_cve_id_id(org_admin_headers): ) assert isinstance (cve_id, str) - -#### PUT /cve-id:id #### -def test_put_cve_id_id_state(org_admin_headers): - """ org admin cannot update id's state """ - res = requests.put( - f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', - headers=org_admin_headers, - params={'state':'PUBLISHED'} - ) - assert res.status_code == 403 - response_contains_json(res, 'error', 'SECRETARIAT_ONLY') +""" +Since this test suite unfortunately depends on changes from +other tests, we cannot run this test until making sure it would +not affect the rest of the suite. +""" +# #### PUT /cve-id:id #### +# def test_put_cve_id_id_state(org_admin_headers): +# """ org admin can update id's state """ +# res = requests.put( +# f'{env.AWG_BASE_URL}{CVE_ID_URL}/{cve_id}', +# headers=org_admin_headers, +# params={'state':'REJECTED'} +# ) +# assert res.status_code == 200 #### POST /cve-id #### diff --git a/test-http/src/test/cve_tests/cve.py b/test-http/src/test/cve_tests/cve.py index 0dddded60..1974be496 100644 --- a/test-http/src/test/cve_tests/cve.py +++ b/test-http/src/test/cve_tests/cve.py @@ -32,6 +32,9 @@ def test_get_all_cves(): def test_get_cve_by_time_modified(): + post_cve('CVE-2021-0004_published', 'CVE-2021-0004') + time.sleep(1) + post_cve('CVE-2021-0005_published', 'CVE-2021-0005') t_before = dt.datetime.now().strftime('%Y-%m-%dT%H:%M:%S') time.sleep(1) update_cve('CVE-2021-0004_published', 'CVE-2021-0004') @@ -77,7 +80,6 @@ def test_get_cve_by_count_only_false(): } ) - print(json.loads(res.content.decode())) assert len(json.loads(res.content.decode())['cveRecords']) == 114 # all records are returned assert res.status_code == 200 @@ -119,7 +121,7 @@ def test_get_cve_filter_by_published_state(): ) assert res.status_code == 200 recordsLength = len(json.loads(res.content.decode())['cveRecords']) - assert recordsLength >= 62 + assert recordsLength >= 61 for i in range(recordsLength): assert json.loads(res.content.decode())['cveRecords'][i]['cveMetadata']['state'] == 'PUBLISHED' @@ -166,20 +168,13 @@ def test_get_cve_filter_by_unrecognized_state_available(): assert 'AVAILABLE' not in res.content.decode() -def test_get_cve_filter_by_assigner(): - """ Filter CVE collection by assigner""" - # get request to org to obtain org uuid - res = requests.get( - f'{env.AWG_BASE_URL}{ORG_URL}/mitre', - headers=utils.BASE_HEADERS - ) - ok_response_contains_json(res, 'short_name', 'mitre') - +def test_get_cve_filter_by_assignerShortName(): + """ Filter CVE collection by assignerShortName""" res2 = requests.get( f'{env.AWG_BASE_URL}{CVE_URL}/', headers=utils.BASE_HEADERS, params={ - 'assigner': json.loads(res.content.decode())['UUID'] # use org uuid as assigner + 'assignerShortName': 'mitre' # use org uuid as assigner } ) assert res2.status_code == 200 @@ -291,7 +286,7 @@ def test_create_cve_reserved_state(): json=data ) assert res.status_code == 400 - response_contains_json(res, 'error', 'CVE_UNSUPPORTED_RECORD_STATE') + response_contains_json(res, 'error', 'INVALID_JSON_SCHEMA') def test_create_nonexistent_cveid(): @@ -319,6 +314,63 @@ def test_create_existent_cve(): assert res.status_code == 400 response_contains_json(res, 'error', 'CVE_RECORD_EXISTS') +#### POST /cve/:id/reject #### +def test_submit_record_rejection(): + """ submit a reject request with a descriptions and replacedBy arrays """ + res = requests.post( + f'{env.AWG_BASE_URL}/api/cve-id', + headers=utils.BASE_HEADERS, + params={ + 'amount': 1, + 'cve_year': 2000, + 'short_name': 'mitre' + } + ) + id_num = json.loads(res.content.decode())['cve_ids'][0]['cve_id'] # obtain id number + with open('./src/test/cve_tests/cve_record_fixtures/rejectBody.json') as json_file: + data = json.load(json_file) + res = requests.post( + f'{env.AWG_BASE_URL}{CVE_URL}/{id_num}/reject', + headers=utils.BASE_HEADERS, + json=data + ) + assert res.status_code == 200 + + +def test_submit_record_rejection_id_dne(): + """ submit a reject request with descriptions and replacedBy arrays for id that dne """ + fake_id = "CVE-0000-0000" + with open('./src/test/cve_tests/cve_record_fixtures/rejectBody.json') as json_file: + data = json.load(json_file) + res = requests.post( + f'{env.AWG_BASE_URL}{CVE_URL}/{fake_id}/reject', + headers=utils.BASE_HEADERS, + json=data + ) + assert res.status_code == 403 + + +def test_submit_record_rejection_multiple_english_descriptions(): + """ submit a reject request with descriptions array that has more than one english description """ + res = requests.post( + f'{env.AWG_BASE_URL}/api/cve-id/', + headers=utils.BASE_HEADERS, + params={ + 'amount': 1, + 'cve_year': 2000, + 'short_name': 'mitre' + } + ) + id_num = json.loads(res.content.decode())['cve_ids'][0]['cve_id'] # obtain id number + with open('./src/test/cve_tests/cve_record_fixtures/rejectBodyMultipleEngDescriptions.json') as json_file: + data = json.load(json_file) + res = requests.post( + f'{env.AWG_BASE_URL}{CVE_URL}/{id_num}/reject', + headers=utils.BASE_HEADERS, + json=data + ) + assert res.status_code == 400 + #### PUT /cve/:id #### def test_update_cve_record(): @@ -355,7 +407,7 @@ def test_update_cve_reserved_state(): json=data ) assert res.status_code == 400 - response_contains_json(res, 'error', 'CVE_UNSUPPORTED_RECORD_STATE') + response_contains_json(res, 'error', 'INVALID_JSON_SCHEMA') def test_update_nonexistent_cve_id(): @@ -408,6 +460,76 @@ def test_record_update_too_large(): ) assert res.status_code == 400 # payload is too large response_contains_json(res, 'error', 'RECORD_TOO_LARGE') + + +### POST cve/:id/cna ### +def test_post_cna_container(): + """ the cve record is created from provided cna container """ + with open('./src/test/cve_tests/cve_record_fixtures/CVE-2000-0008_published.json') as json_file: + data = json.load(json_file) + data = {'cnaContainer': data['containers']['cna']} + res = requests.post( + f'{env.AWG_BASE_URL}{CVE_URL}/CVE-2021-0004/cna', + headers=utils.BASE_HEADERS, + json=data + ) + + try: + assert res.status_code == 200 + except AssertionError: + assert res.status_code == 403 + response_contains_json(res, 'error', 'CVE_RECORD_EXISTS') + + +def test_put_cna_container(): + """ the cve record is updated from provided cna container """ + with open('./src/test/cve_tests/cve_record_fixtures/CVE-2000-0008_published.json') as json_file: + data = json.load(json_file) + data = {'cnaContainer': data['containers']['cna']} + res = requests.put( + f'{env.AWG_BASE_URL}{CVE_URL}/CVE-2021-0004/cna', + headers=utils.BASE_HEADERS, + json=data + ) + assert res.status_code == 200 + + +# PUT cve/:id/reject ### +def test_record_rejection_in_published_state(): + """ reject an existing record from PUBLISHED state """ + with open('./src/test/cve_tests/cve_record_fixtures/rejectExisting.json') as json_file: + data = json.load(json_file) + res = requests.put( + f'{env.AWG_BASE_URL}{CVE_URL}/CVE-1999-0003/reject', + headers=utils.BASE_HEADERS, + json=data + ) + assert res.status_code == 200 + + +def test_record_rejection_in_rejected_state(): + """ reject an existing record from REJECTED state with optional replacedBy""" + with open('./src/test/cve_tests/cve_record_fixtures/rejectExisting.json') as json_file: + data = json.load(json_file) + res = requests.put( + f'{env.AWG_BASE_URL}{CVE_URL}/CVE-1999-0001/reject', + headers=utils.BASE_HEADERS, + json=data + ) + assert res.status_code == 200 + + +def test_record_rejection_in_rejected_state_no_replacedBy(): + """ reject an existing record from REJECTED state with no optional replacedBy """ + with open('./src/test/cve_tests/cve_record_fixtures/rejectExisting.json') as json_file: + data = json.load(json_file) + res = requests.put( + f'{env.AWG_BASE_URL}{CVE_URL}/CVE-1999-0008/reject', + headers=utils.BASE_HEADERS, + json=data + ) + assert res.status_code == 200 + # CVE ENDPOINT UTILITIES # ============================================================================== # these are unique to the `{CVE_URL}` endpoint for the AWG system @@ -421,3 +543,12 @@ def update_cve(filename, cveid): headers=utils.BASE_HEADERS, json=data ) + +def post_cve(filename, cveid): + with open(f'./src/test/cve_tests/cve_record_fixtures/{filename}.json') as json_file: + data = json.load(json_file) + res = requests.post( + f'{env.AWG_BASE_URL}{CVE_URL}/{cveid}', + headers=utils.BASE_HEADERS, + json=data + ) diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2000-0008_published.json b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2000-0008_published.json index 258d9ef84..c8473cc20 100644 --- a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2000-0008_published.json +++ b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2000-0008_published.json @@ -15,7 +15,7 @@ ], "descriptions": [ { - "lang": "eng", + "lang": "en", "value": "Cross-site scripting (XSS) vulnerability in Revive Adserver before 4.0.1 allows remote authenticated users to inject arbitrary web script or HTML via the user's email address." } ], @@ -31,7 +31,7 @@ } ], "providerMetadata": { - "id": "9cbfeea8-dea2-4923-b772-1ab41730e742" + "orgId": "9cbfeea8-dea2-4923-b772-1ab41730e742" }, "references": [ { @@ -53,8 +53,8 @@ } }, "cveMetadata": { - "assigner": "9cbfeea8-dea2-4923-b772-1ab41730e742", - "id": "CVE-2000-0008", + "assignerOrgId": "9cbfeea8-dea2-4923-b772-1ab41730e742", + "cveId": "CVE-2000-0008", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2009-0009_rejected.json b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2009-0009_rejected.json index 27385d483..6b03aca0f 100644 --- a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2009-0009_rejected.json +++ b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2009-0009_rejected.json @@ -1,15 +1,22 @@ { "cveMetadata": { - "assigner": "9cbfeea8-dea2-4923-b772-1ab41730e742", - "id": "CVE-2009-0009", + "assignerOrgId": "9cbfeea8-dea2-4923-b772-1ab41730e742", + "cveId": "CVE-2009-0009", "state": "REJECTED" }, "dataType": "CVE_RECORD", "dataVersion": "5.0", - "descriptions": [ - { - "lang": "eng", - "value": "I professional site herself recently behavior. Situation institution meeting recognize successful." + "containers": { + "cna": { + "providerMetadata": { + "orgId": "9cbfeea8-dea2-4923-b772-1ab41730e742" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful." + } + ] } - ] + } } diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2017-5833_reserved.json b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2017-5833_reserved.json index cd1c2da5a..ba5a76a22 100644 --- a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2017-5833_reserved.json +++ b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2017-5833_reserved.json @@ -1,7 +1,7 @@ { "cveMetadata": { - "assigner": "9cbfeea8-dea2-4923-b772-1ab41730e742", - "id": "CVE-2017-5833", + "assignerOrgId": "9cbfeea8-dea2-4923-b772-1ab41730e742", + "cveId": "CVE-2017-5833", "state": "RESERVED" }, "dataType": "CVE_RECORD", diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_largeInput.json b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_largeInput.json index 467ab6543..7bd8c56b4 100644 --- a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_largeInput.json +++ b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_largeInput.json @@ -53,10 +53,10 @@ } }, "cveMetadata": { - "assigner": "9845b82e-47a9-4fe7-8908-68646f952267", - "id": "CVE-2021-0004", + "assignerOrgId": "9845b82e-47a9-4fe7-8908-68646f952267", + "cveId": "CVE-2021-0004", "state": "PUBLISHED", - "updated": "2021-09-08" + "dateUpdated": "2021-09-08" }, "dataType": "CVE_RECORD", "dataVersion": "5.0" diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_published.json b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_published.json index 34a8c43aa..75f19c8c4 100644 --- a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_published.json +++ b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0004_published.json @@ -14,13 +14,13 @@ } ], "providerMetadata": { - "id": "9368c7ac-adf9-4bc8-8381-dd12ee48043c", + "orgId": "9368c7ac-adf9-4bc8-8381-dd12ee48043c", "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { - "lang": "eng", + "lang": "en", "value": "Deep all certain. Then send how dark pick specific. Not general face any cup." } ], @@ -55,8 +55,8 @@ } }, "cveMetadata": { - "assigner": "9368c7ac-adf9-4bc8-8381-dd12ee48043c", - "id": "CVE-2021-0004", + "assignerOrgId": "9368c7ac-adf9-4bc8-8381-dd12ee48043c", + "cveId": "CVE-2021-0004", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0005_published.json b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0005_published.json index 2bbce3eb1..315036a2f 100644 --- a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0005_published.json +++ b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-2021-0005_published.json @@ -15,7 +15,7 @@ ], "descriptions": [ { - "lang": "eng", + "lang": "en", "value": "Season alone no measure without leave. Relate hair throughout spring rock. Security physical agreement ask fact add center should." } ], @@ -31,7 +31,7 @@ } ], "providerMetadata": { - "id": "73f189d8-7ce8-49b3-85ff-000a597afc41" + "orgId": "73f189d8-7ce8-49b3-85ff-000a597afc41" }, "references": [ { @@ -58,8 +58,8 @@ } }, "cveMetadata": { - "assigner": "73f189d8-7ce8-49b3-85ff-000a597afc41", - "id": "CVE-2021-0005", + "assignerOrgId": "73f189d8-7ce8-49b3-85ff-000a597afc41", + "cveId": "CVE-2021-0005", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-3000-0001_nonexistent.json b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-3000-0001_nonexistent.json index b97ef6cc5..d7003f8d7 100644 --- a/test-http/src/test/cve_tests/cve_record_fixtures/CVE-3000-0001_nonexistent.json +++ b/test-http/src/test/cve_tests/cve_record_fixtures/CVE-3000-0001_nonexistent.json @@ -15,7 +15,7 @@ ], "descriptions": [ { - "lang": "eng", + "lang": "en", "value": "Cross-site scripting (XSS) vulnerability in Revive Adserver before 4.0.1 allows remote authenticated users to inject arbitrary web script or HTML via the user's email address." } ], @@ -31,7 +31,7 @@ } ], "providerMetadata": { - "id": "9845b82e-47a9-4fe7-8908-68646f952267" + "orgId": "9845b82e-47a9-4fe7-8908-68646f952267" }, "references": [ { @@ -53,8 +53,8 @@ } }, "cveMetadata": { - "assigner": "9845b82e-47a9-4fe7-8908-68646f952267", - "id": "CVE-3000-0001", + "assignerOrgId": "9845b82e-47a9-4fe7-8908-68646f952267", + "cveId": "CVE-3000-0001", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/rejectBody.json b/test-http/src/test/cve_tests/cve_record_fixtures/rejectBody.json new file mode 100644 index 000000000..ed423d81f --- /dev/null +++ b/test-http/src/test/cve_tests/cve_record_fixtures/rejectBody.json @@ -0,0 +1,21 @@ +{ + "cnaContainer": { + "providerMetadata": { + "orgId" : "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } +} diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/rejectBodyMultipleEngDescriptions.json b/test-http/src/test/cve_tests/cve_record_fixtures/rejectBodyMultipleEngDescriptions.json new file mode 100644 index 000000000..73e7bdb18 --- /dev/null +++ b/test-http/src/test/cve_tests/cve_record_fixtures/rejectBodyMultipleEngDescriptions.json @@ -0,0 +1,43 @@ +{ + "cnaContainer": { + "providerMetadata": { + "orgId" : "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + }, + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + }, + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } +} \ No newline at end of file diff --git a/test-http/src/test/cve_tests/cve_record_fixtures/rejectExisting.json b/test-http/src/test/cve_tests/cve_record_fixtures/rejectExisting.json new file mode 100644 index 000000000..56e4bfc5a --- /dev/null +++ b/test-http/src/test/cve_tests/cve_record_fixtures/rejectExisting.json @@ -0,0 +1,21 @@ +{ + "cnaContainer": { + "providerMetadata": { + "orgId" : "f972b356-145d-4b2e-9a5c-b114d0982a3b" + }, + "rejectedReasons": [ + { + "lang": "en", + "value": "I professional site herself recently behavior. Situation institution meeting recognize successful.", + "supportingMedia": [ + { + "type": "test/markdown", + "base64": false, + "value": "*this* _is_ supporting media in ~markdown~" + } + ] + } + ], + "replacedBy": ["CVE-1999-0006"] + } +} \ No newline at end of file diff --git a/test-http/src/test/org_user_tests/org.py b/test-http/src/test/org_user_tests/org.py index d2ccc54a6..d1fa073e7 100644 --- a/test-http/src/test/org_user_tests/org.py +++ b/test-http/src/test/org_user_tests/org.py @@ -26,7 +26,7 @@ def test_get_all_orgs(): assert len(json.loads(res.content.decode())['organizations']) >= 1 -#### GET /org/:shortname #### +#### GET /org/:identifier #### def test_get_mitre_cna(): """ the cve services api contains the mitre cna """ res = requests.get( @@ -38,6 +38,39 @@ def test_get_mitre_cna(): ok_response_contains_json(res, 'short_name', 'mitre') +#### GET /org/:identifier #### +def test_get_mitre_by_org_uuid(): + """ look up org info by org uuid""" + # Look up an org to obtain uuid + res = requests.get( + f'{env.AWG_BASE_URL}{ORG_URL}/mitre', + headers=utils.BASE_HEADERS + ) + ok_response_contains_json(res, 'short_name', 'mitre') + uuid = json.loads(res.content.decode())['UUID'] # obtain the org uuid to filter by + + # Look up org info by the org uuid found above + res2 = requests.get( + f'{env.AWG_BASE_URL}{ORG_URL}/{uuid}', + headers=utils.BASE_HEADERS, + ) + ok_response_contains(res2, 'SECRETARIAT') + ok_response_contains_json(res2, 'name', 'MITRE Corporation') + ok_response_contains_json(res2, 'UUID', json.loads(res.content.decode())['UUID']) + + +#### GET /org/:identifier #### +def test_get_mitre_by_nonexistent_org_uuid(): + """ look up org info by org uuid that cannot be found""" + uuid = 'nonexistent123' + res = requests.get( + f'{env.AWG_BASE_URL}{ORG_URL}/{uuid}', + headers=utils.BASE_HEADERS, + ) + assert res.status_code == 404 + response_contains_json(res, 'error', 'ORG_DNE_PARAM') + + #### GET /org/:shortname/id_quota #### def test_get_mitre_id_quota(): """ the cve services api's mitre cna has a valid id quota """ diff --git a/test-http/src/test/org_user_tests/org_as_org_admin.py b/test-http/src/test/org_user_tests/org_as_org_admin.py index ae203c3a7..32279584c 100644 --- a/test-http/src/test/org_user_tests/org_as_org_admin.py +++ b/test-http/src/test/org_user_tests/org_as_org_admin.py @@ -12,7 +12,7 @@ from src.utils import response_contains, response_contains_json -#### GET /org #### +### GET /org #### def test_org_admin_get_all_orgs(org_admin_headers): """ services api rejects requests for all orgs by non-secretariat users """ res = requests.get( @@ -23,7 +23,7 @@ def test_org_admin_get_all_orgs(org_admin_headers): response_contains_json(res, 'error', 'SECRETARIAT_ONLY') -#### GET /org/:shortname #### +#### GET /org/:identifier #### def test_org_admin_get_mitre_org(org_admin_headers): """ services api rejects requests for secretariat by non-secretariat users """ res = requests.get( @@ -482,4 +482,25 @@ def test_org_admin_reset_own_secret(org_admin_headers): ) assert res.status_code == 200 response_contains(res, 'API-secret') - \ No newline at end of file + + +def test_admin_role_preserved_after_resetting_own_secret(org_admin_headers): + """ admin user's role remains after resetting own secret """ + org = org_admin_headers['CVE-API-ORG'] + user = org_admin_headers['CVE-API-USER'] + res = requests.put( + f'{env.AWG_BASE_URL}{ORG_URL}/{org}/user/{user}/reset_secret', + headers=org_admin_headers + ) + secret = json.loads(res.content.decode())["API-secret"] + assert res.status_code == 200 + + headers2 = org_admin_headers + headers2['CVE-API-KEY'] = secret + response_contains(res, 'API-secret') + res2 = requests.get( + f'{env.AWG_BASE_URL}{ORG_URL}/{org}/user/{user}', + headers=headers2 + ) + assert res2.status_code == 200 + assert json.loads(res2.content.decode())["authority"]["active_roles"][0] == "ADMIN" # admin role still remains after changing secret diff --git a/test-http/src/test/org_user_tests/regular_users.py b/test-http/src/test/org_user_tests/regular_users.py index 38fdb2c9c..b7ed4e676 100644 --- a/test-http/src/test/org_user_tests/regular_users.py +++ b/test-http/src/test/org_user_tests/regular_users.py @@ -51,7 +51,7 @@ def test_regular_user_cannot_update_for_another_user(reg_user_headers): ) assert res.status_code == 403 response_contains_json(res, 'error', 'NOT_SAME_USER_OR_SECRETARIAT') - + def test_regular_user_cannot_update_duplicate_user_with_new_username(reg_user_headers): """ regular users cannot update a user's username if that user already exist """ @@ -167,7 +167,7 @@ def test_reg_user_cannot_update_org(reg_user_headers): response_contains_json(res, 'error', 'SECRETARIAT_ONLY') -#### GET /org/:shortname #### +#### GET /org/:identifier #### def test_reg_user_can_view_same_org(reg_user_headers): """ regular users can view the organization they belong to """ org = reg_user_headers['CVE-API-ORG'] @@ -349,6 +349,28 @@ def test_regular_user_cannot_reset_secret_user_dne(reg_user_headers): response_contains_json(res, 'error', 'USER_DNE') +def test_regular_user_cannot_reset_admin_user_secret(reg_user_headers, org_admin_headers): + """ regular user tries resetting admin user's secret, fails and admin user's role remains preserved """ + reg_org = reg_user_headers['CVE-API-ORG'] + user = org_admin_headers['CVE-API-USER'] + res = post_new_org_user(reg_org, user) # creating the user + assert res.status_code == 200 + res = requests.put( + f'{env.AWG_BASE_URL}{ORG_URL}/{reg_org}/user/{user}/reset_secret', + headers=reg_user_headers + ) + assert res.status_code == 403 + response_contains_json(res, 'error', 'NOT_SAME_USER_OR_SECRETARIAT') + # Check that user's admin role is preserved + admin_org = org_admin_headers['CVE-API-ORG'] + res2 = requests.get( + f'{env.AWG_BASE_URL}{ORG_URL}/{admin_org}/user/{user}', + headers=org_admin_headers + ) + assert res2.status_code == 200 + assert json.loads(res2.content.decode())["authority"]["active_roles"][0] == "ADMIN" # admin role still remains after attempting to change secret + + #### POST /org #### def test_reg_user_cannot_post_new_org(reg_user_headers): """ regular users cannot create new org """ diff --git a/test/schemas/5.0/CVE-2017-4024_fail.json b/test/schemas/5.0/CVE-2017-4024_fail.json index 5fcb39dd1..cf6894664 100644 --- a/test/schemas/5.0/CVE-2017-4024_fail.json +++ b/test/schemas/5.0/CVE-2017-4024_fail.json @@ -3,10 +3,10 @@ "dataFormat": "MITRE", "dataVersion": "5.0", "cveMetadata": { - "id": "CVE-2017-4024", - "assigner": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "cveId": "CVE-2017-4024", + "assignerOrgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "assignerShortname": "cisco", - "requester": "1fcbf829-81ae-4b53-a61d-9fa04711447f", + "requesterUserId": "1fcbf829-81ae-4b53-a61d-9fa04711447f", "state": "DUPLICATE" }, "containers": { diff --git a/test/schemas/5.0/CVE-2017-4024_fail_cveMetadata.json b/test/schemas/5.0/CVE-2017-4024_fail_cveMetadata.json index 6c04245f9..07d4f2c6e 100644 --- a/test/schemas/5.0/CVE-2017-4024_fail_cveMetadata.json +++ b/test/schemas/5.0/CVE-2017-4024_fail_cveMetadata.json @@ -3,10 +3,10 @@ "dataFormat": "MITRE", "dataVersion": "5.0", "cvemetadata": { - "id": "CVE-2017-4024", - "assigner": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "cveId": "CVE-2017-4024", + "assignerOrgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "assignerShortname": "cisco", - "requester": "1fcbf829-81ae-4b53-a61d-9fa04711447f", + "requesterUserId": "1fcbf829-81ae-4b53-a61d-9fa04711447f", "state": "DUPLICATE" }, "containers": { @@ -57,9 +57,9 @@ ] }, "providerMetadata": { - "id": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "orgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { @@ -187,9 +187,9 @@ ] }, "providerMetadata": { - "id": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "orgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { diff --git a/test/schemas/5.0/CVE-2017-4024_published.json b/test/schemas/5.0/CVE-2017-4024_published.json index 0246763df..a65c5fd24 100644 --- a/test/schemas/5.0/CVE-2017-4024_published.json +++ b/test/schemas/5.0/CVE-2017-4024_published.json @@ -2,11 +2,12 @@ "dataType": "CVE_RECORD", "dataVersion": "5.0", "cveMetadata": { - "id": "CVE-2017-4024", - "assigner": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "cveId": "CVE-2017-4024", + "assignerOrgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "assignerShortName": "cisco", - "requester": "1fcbf829-81ae-4b53-a61d-9fa04711447f", - "state": "PUBLISHED" + "requesterUserId": "1fcbf829-81ae-4b53-a61d-9fa04711447f", + "state": "PUBLISHED", + "dateUpdated": "2021-11-19T20:07:00.403Z" }, "containers": { "adp": [ @@ -37,9 +38,9 @@ } ], "providerMetadata": { - "id": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "orgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { @@ -148,14 +149,14 @@ } ], "providerMetadata": { - "id": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "orgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { "lang": "en", - "value": "y" + "value": "ya" } ], "problemTypes": [ diff --git a/test/schemas/5.0/CVE-2017-4024_published_fail.json b/test/schemas/5.0/CVE-2017-4024_published_fail.json index 487158435..24f69ecd2 100644 --- a/test/schemas/5.0/CVE-2017-4024_published_fail.json +++ b/test/schemas/5.0/CVE-2017-4024_published_fail.json @@ -2,10 +2,10 @@ "dataType": "CVE_RECORD", "dataVersion": "5.0", "cveMetadata": { - "id": "CVE-2017-4024", - "assigner": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "cveId": "CVE-2017-4024", + "assignerOrgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "assignerShortName": "cisco", - "requester": "1fcbf829-81ae-4b53-a61d-9fa04711447f", + "requesterUserId": "1fcbf829-81ae-4b53-a61d-9fa04711447f", "state": "PUBLISHED" }, "containers": { @@ -37,9 +37,9 @@ } ], "providerMetadata": { - "id": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "orgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { @@ -148,9 +148,9 @@ } ], "providerMetadata": { - "id": [], + "orgId": [], "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { diff --git a/test/schemas/5.0/CVE-2017-4024_rejected_fail.json b/test/schemas/5.0/CVE-2017-4024_rejected_fail.json index b50136d30..7f90baa80 100644 --- a/test/schemas/5.0/CVE-2017-4024_rejected_fail.json +++ b/test/schemas/5.0/CVE-2017-4024_rejected_fail.json @@ -2,14 +2,18 @@ "dataType": "CVE_RECORD", "dataVersion": "5.0", "cveMetadata": { - "id": "CVE-2017-4024", - "assigner": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "cveId": "CVE-2017-4024", + "assignerOrgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "state": "REJECTED" }, - "descriptions": [ - { - "dontApprove": "en", - "value": "TESTING THIS FIELD" + "containers": { + "cna": { + "descriptions": [ + { + "dontApprove": "en", + "value": "TESTING THIS FIELD" + } + ] } - ] + } } \ No newline at end of file diff --git a/test/schemas/5.0/CVE-2017-4024_reserved_fail.json b/test/schemas/5.0/CVE-2017-4024_reserved_fail.json index 12a1665dd..7380607fe 100644 --- a/test/schemas/5.0/CVE-2017-4024_reserved_fail.json +++ b/test/schemas/5.0/CVE-2017-4024_reserved_fail.json @@ -2,7 +2,7 @@ "dataType": "CVE_RECORD", "dataVersion": "5.0", "cveMetadata": { - "id": "CVE-2017-4024", + "cveId": "CVE-2017-4024", "state": "RESERVED" }, "descriptions": [ diff --git a/test/schemas/5.0/CVE-2017-4024_version_fail.json b/test/schemas/5.0/CVE-2017-4024_version_fail.json index 6c257b77a..83a4d5360 100644 --- a/test/schemas/5.0/CVE-2017-4024_version_fail.json +++ b/test/schemas/5.0/CVE-2017-4024_version_fail.json @@ -2,10 +2,10 @@ "dataType": "CVE_RECORD", "dataVersion": "4.0", "cveMetadata": { - "id": "CVE-2017-4024", - "assigner": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "cveId": "CVE-2017-4024", + "assignerOrgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "assignerShortName": "cisco", - "requester": "1fcbf829-81ae-4b53-a61d-9fa04711447f", + "requesterUserId": "1fcbf829-81ae-4b53-a61d-9fa04711447f", "state": "PUBLISHED" }, "containers": { @@ -56,9 +56,9 @@ ] }, "providerMetadata": { - "id": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "orgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { @@ -186,9 +186,9 @@ ] }, "providerMetadata": { - "id": [], + "orgId": [], "shortName": "cisco", - "updated": "2018-11-13T20:20:39+00:00" + "dateUpdated": "2018-11-13T20:20:39+00:00" }, "descriptions": [ { diff --git a/test/schemas/5.0/CVE-2017-5833_reserved.json b/test/schemas/5.0/CVE-2017-5833_reserved.json index cba56377d..950d39c40 100644 --- a/test/schemas/5.0/CVE-2017-5833_reserved.json +++ b/test/schemas/5.0/CVE-2017-5833_reserved.json @@ -2,7 +2,7 @@ "dataType": "CVE_RECORD", "dataVersion": "5.0", "cveMetadata": { - "id": "CVE-2017-5833", + "cveId": "CVE-2017-5833", "state": "RESERVED" }, "descriptions": [ diff --git a/test/schemas/5.0/CVE-2017-5835_rejected.json b/test/schemas/5.0/CVE-2017-5835_rejected.json index c2f579666..d048c9342 100644 --- a/test/schemas/5.0/CVE-2017-5835_rejected.json +++ b/test/schemas/5.0/CVE-2017-5835_rejected.json @@ -2,8 +2,8 @@ "dataType": "CVE_RECORD", "dataVersion": "5.0", "cveMetadata": { - "id": "CVE-2017-5835", - "assigner": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "cveId": "CVE-2017-5835", + "assignerOrgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", "state": "REJECTED" }, "descriptions": [ diff --git a/test/schemas/cna-container/cna-container-missing-container.json b/test/schemas/cna-container/cna-container-missing-container.json new file mode 100644 index 000000000..5a5b59a54 --- /dev/null +++ b/test/schemas/cna-container/cna-container-missing-container.json @@ -0,0 +1,5 @@ +{ + "providerMetadata": { + "test": "This will fail against validation." + } +} \ No newline at end of file diff --git a/test/schemas/cna-container/cna-container_fail.json b/test/schemas/cna-container/cna-container_fail.json new file mode 100644 index 000000000..5d0ec511a --- /dev/null +++ b/test/schemas/cna-container/cna-container_fail.json @@ -0,0 +1,7 @@ +{ + "cnaContainer": { + "providerMetadata": { + "test": "This will fail against validation." + } + } +} \ No newline at end of file diff --git a/test/schemas/cna-container/cna-container_pass.json b/test/schemas/cna-container/cna-container_pass.json new file mode 100644 index 000000000..631637cb0 --- /dev/null +++ b/test/schemas/cna-container/cna-container_pass.json @@ -0,0 +1,112 @@ +{ + "cnaContainer": { + "metrics": [ + { + "format": "uyi", + "scenario": "kjk", + "other": { + "type": "oio", + "content": { + "kjgk": "kjgkhg" + } + }, + "uu": 8 + } + ], + "affected": [ + { + "vendor": "u", + "product": "yuyi", + "versions": [ + { + "version": "uuy", + "status": "affected" + } + ] + } + ], + "providerMetadata": { + "orgId": "88c02595-c8f7-4864-a0e7-e09b3e1da691", + "shortName": "cisco", + "dateUpdated": "2018-11-13T20:20:39+00:00" + }, + "descriptions": [ + { + "lang": "en", + "value": "y" + } + ], + "problemTypes": [ + { + "descriptions": [ + { + "lang": "en", + "description": "y", + "cweId": "CWE-91", + "type": "u", + "references": [ + { + "url": "https://cwe.mitre.org/data/definitions/284.html" + } + ] + } + ] + } + ], + "references": [ + { + "url": "https://cwe.mitre.org/data/definitions/284.html", + "name": "12345", + "refsource": "12345", + "tags": [ + "x_Broken Link" + ] + } + ], + "impacts": [ + { + "descriptions": [ + { + "lang": "en", + "value": "y" + } + ], + "capecId": "CAPEC-9999" + } + ], + "configurations": [ + { + "lang": "en", + "value": "y" + } + ], + "workarounds": [ + { + "lang": "en", + "value": "y" + } + ], + "exploits": [ + { + "lang": "en", + "value": "y" + } + ], + "timeline": [ + { + "time": "2018-11-13T20:20:39+00:00", + "lang": "in", + "value": "y" + } + ], + "credits": [ + { + "lang": "en", + "value": "y" + } + ], + "source": { + "discoverer": "Tom Smith" + } + } +} \ No newline at end of file diff --git a/test/unit-tests/cve-id/cveIdUpdateTest.js b/test/unit-tests/cve-id/cveIdUpdateTest.js index c67ee50d9..a866c1585 100644 --- a/test/unit-tests/cve-id/cveIdUpdateTest.js +++ b/test/unit-tests/cve-id/cveIdUpdateTest.js @@ -32,24 +32,8 @@ class NullUserRepo { } } -class NullOrgRepo { - async findOneByShortName () { - return null - } - - async updateByOrgUUID () { - return null - } - - async getOrgUUID () { - return null - } - - async isSecretariat () { - return null - } - - async isSecretariatUUID () { +class NullCveRepo { + async findOneByCveId () { return null } } @@ -107,7 +91,8 @@ describe('Testing the PUT /cve-id/:id endpoint in CveId Controller', () => { const factory = { getCveIdRepository: () => { return new CveIdModifyCveIdDoesntExist() }, getOrgRepository: () => { return new OrgModifyCveIdDoesntExist() }, - getUserRepository: () => { return new NullUserRepo() } + getUserRepository: () => { return new NullUserRepo() }, + getCveRepository: () => { return new NullCveRepo() } } req.ctx.repositories = factory next() @@ -142,7 +127,8 @@ describe('Testing the PUT /cve-id/:id endpoint in CveId Controller', () => { const factory = { getCveIdRepository: () => { return new CveIdModifyCveIdOrgAndStateModified() }, getOrgRepository: () => { return new OrgModifyCveIdOrgDoesntExist() }, - getUserRepository: () => { return new NullUserRepo() } + getUserRepository: () => { return new NullUserRepo() }, + getCveRepository: () => { return new NullCveRepo() } } req.ctx.repositories = factory next() @@ -164,35 +150,41 @@ describe('Testing the PUT /cve-id/:id endpoint in CveId Controller', () => { done() }) }) - - it('State query parameter is provided but state is RESERVED', (done) => { - app.route('/cve-id-modify-state-query-is-reserved/:id') - .put((req, res, next) => { - const factory = { - getCveIdRepository: () => { return new CveIdModifyCveIdOrgAndStateModified() }, - getOrgRepository: () => { return new NullOrgRepo() }, - getUserRepository: () => { return new NullUserRepo() } - } - req.ctx.repositories = factory - next() - }, cveIdParams.parsePostParams, cveIdController.CVEID_UPDATE_SINGLE) - - chai.request(app) - .put(`/cve-id-modify-state-query-is-reserved/${cveIdFixtures.cveId}?state=RESERVED`) - .set(cveIdFixtures.secretariatHeader) - .end((err, res) => { - if (err) { - done(err) - } - - expect(res).to.have.status(400) - expect(res).to.have.property('body').and.to.be.a('object') - const errObj = error.invalidReservedState() - expect(res.body.error).to.equal(errObj.error) - expect(res.body.message).to.equal(errObj.message) - done() - }) - }) + /** + * For v2.1, CNAs will be able to move a CVE ID back to reserved. + * But they will not be able to change it to PUBLISHED. This should only be done by + * submitting a CNA container to POST /cve/:id/cna. So this test should flip to asserting + * a CVE ID cannot be changed to PUBLISHED once that code is complete. + */ + // it('State query parameter is provided but state is RESERVED', (done) => { + // app.route('/cve-id-modify-state-query-is-reserved/:id') + // .put((req, res, next) => { + // const factory = { + // getCveIdRepository: () => { return new CveIdModifyCveIdOrgAndStateModified() }, + // getOrgRepository: () => { return new NullOrgRepo() }, + // getUserRepository: () => { return new NullUserRepo() }, + // getCveRepository: () => { return new NullCveRepo() } + // } + // req.ctx.repositories = factory + // next() + // }, cveIdParams.parsePostParams, cveIdController.CVEID_UPDATE_SINGLE) + + // chai.request(app) + // .put(`/cve-id-modify-state-query-is-reserved/${cveIdFixtures.cveId}?state=RESERVED`) + // .set(cveIdFixtures.secretariatHeader) + // .end((err, res) => { + // if (err) { + // done(err) + // } + + // expect(res).to.have.status(400) + // expect(res).to.have.property('body').and.to.be.a('object') + // const errObj = error.invalidReservedState() + // expect(res.body.error).to.equal(errObj.error) + // expect(res.body.message).to.equal(errObj.message) + // done() + // }) + // }) }) context('Positive Tests', () => { @@ -202,7 +194,8 @@ describe('Testing the PUT /cve-id/:id endpoint in CveId Controller', () => { const factory = { getCveIdRepository: () => { return new CveIdModifyCveIdOrgAndStateModified() }, getOrgRepository: () => { return new OrgModifyCveIdOrgAndStateModified() }, - getUserRepository: () => { return new UserModifyCveIdOrgAndStateModified() } + getUserRepository: () => { return new UserModifyCveIdOrgAndStateModified() }, + getCveRepository: () => { return new NullCveRepo() } } req.ctx.repositories = factory next() @@ -256,7 +249,8 @@ describe('Testing the PUT /cve-id/:id endpoint in CveId Controller', () => { const factory = { getCveIdRepository: () => { return new CveIdModifyCveIdNoQuery() }, getOrgRepository: () => { return new OrgModifyCveIdOrgAndStateModified() }, - getUserRepository: () => { return new UserModifyCveIdOrgAndStateModified() } + getUserRepository: () => { return new UserModifyCveIdOrgAndStateModified() }, + getCveRepository: () => { return new NullCveRepo() } } req.ctx.repositories = factory next() diff --git a/test/unit-tests/cve/cveCnaContainerCreateTest.js b/test/unit-tests/cve/cveCnaContainerCreateTest.js new file mode 100644 index 000000000..1d2898af8 --- /dev/null +++ b/test/unit-tests/cve/cveCnaContainerCreateTest.js @@ -0,0 +1,255 @@ +const express = require('express') +const app = express() +const chai = require('chai') +const expect = chai.expect +chai.use(require('chai-http')) + +// Body Parser Middleware +app.use(express.json()) // Allows us to handle raw JSON data +app.use(express.urlencoded({ extended: false })) // Allows us to handle url encoded data +const middleware = require('../../../src/middleware/middleware') +app.use(middleware.createCtxAndReqUUID) + +const nonExistentCveId = 'CVE-2020-1425' +const cveIdPublished5 = 'CVE-2017-4024' +const cveIdReserved = 'CVE-2017-5835' +const cveCnaContainerFail = require('../../schemas/cna-container/cna-container_fail.json') +const cveCnaContainerPass = require('../../schemas/cna-container/cna-container_pass.json') +const errors = require('../../../src/controller/cve.controller/error') +const error = new errors.CveControllerError() + +const cveFixtures = require('./mockObjects.cve') +const cveController = require('../../../src/controller/cve.controller/cve.controller') +const cveParams = require('../../../src/controller/cve.controller/cve.middleware') + +class MyOrg { + async getOrgUUID (shortName) { + if (shortName === cveFixtures.regularOrg.short_name) { + return cveFixtures.regularOrg.UUID + } + return null + } + + async isSecretariat (org) { + if (org === cveFixtures.secretariatHeader['CVE-API-ORG']) { + return true + } + return null + } + + async findOneByUUID () { + return cveFixtures.secretariatOrg + } +} + +class MyUser { + async getUserUUID () { + return null + } +} + +class MyCveIdNegativeTests { + async findOneByCveId (id) { + if (id === cveIdPublished5) { + const fixture = cveFixtures.cvePublished5 + fixture.owning_cna = 'random' + return fixture + } + if (id === cveIdReserved) { + const fixture = cveFixtures.cveRejected5 + fixture.reserved = new Date() + return fixture + } + return null + } + + async updateByCveId () { + return null + } +} + +class MyCveNegativeTests { + async findOneByCveId (id) { + if (id === cveIdPublished5) { + return true + } + return null + } + + async updateByCveId () { + return null + } +} + +class MyCveIdPositiveTests { + async findOneByCveId (id) { + if (id === cveIdPublished5) { + return cveFixtures.cvePublished5 + } + if (id === cveIdReserved) { + const cveId = Object.assign({}, cveFixtures.cveRejected5) + cveId.owning_cna = cveFixtures.regularOrg.UUID + return cveId + } + return cveFixtures.cveRejected5 + } + + async updateByCveId (id, cveId) { + return null + } +} + +class MyCvePositiveTests { + async findOneByCveId () { + return null + } + + async updateByCveId () { + return null + } +} + +app.route('/cve-cna-negative-tests/:id') + .post((req, res, next) => { + const factory = { + getCveIdRepository: () => { return new MyCveIdNegativeTests() }, + getCveRepository: () => { return new MyCveNegativeTests() }, + getOrgRepository: () => { return new MyOrg() }, + getUserRepository: () => { return new MyUser() } + } + req.ctx.repositories = factory + next() + }, cveParams.parsePostParams, cveController.CVE_SUBMIT_CNA) + +app.route('/cve-cna-positive-tests/:id') + .post((req, res, next) => { + const factory = { + getCveIdRepository: () => { return new MyCveIdPositiveTests() }, + getCveRepository: () => { return new MyCvePositiveTests() }, + getOrgRepository: () => { return new MyOrg() }, + getUserRepository: () => { return new MyUser() } + } + req.ctx.repositories = factory + next() + }, cveParams.parsePostParams, cveController.CVE_SUBMIT_CNA) + +describe('Testing the POST /cve/:id/cna endpoint in Cve Controller', () => { + context('Negative Tests', () => { + it('should return 400 when cveId does not exist', (done) => { + chai.request(app) + .post(`/cve-cna-negative-tests/${nonExistentCveId}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(400) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.cveDne() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('should return 403 when cveId does not belong to cveId owning org', (done) => { + const headers = Object.assign({}, cveFixtures.secretariatHeader) + headers['CVE-API-ORG'] = 'cisco' + chai.request(app) + .post(`/cve-cna-negative-tests/${cveIdPublished5}`) + .set(headers) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(403) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.owningOrgDoesNotMatch() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('should return 403 when cve record does exist', (done) => { + chai.request(app) + .post(`/cve-cna-negative-tests/${cveIdPublished5}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(403) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.cveRecordExists() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('should return 500 when cve record is not valid', (done) => { + chai.request(app) + .post(`/cve-cna-negative-tests/${cveIdReserved}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(500) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.serverError() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + }) + + context('Positive Tests', () => { + it('Post cna container as secretariat', (done) => { + chai.request(app) + .post(`/cve-cna-positive-tests/${cveIdReserved}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerPass) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body.message).to.equal(`${cveIdReserved} record was successfully created.`) + done() + }) + }) + + it('Post cna container as user', (done) => { + const headers = Object.assign({}, cveFixtures.secretariatHeader) + headers['CVE-API-ORG'] = cveFixtures.regularOrg.short_name + headers['CVE-API-USER'] = cveFixtures.regularUser.username + chai.request(app) + .post(`/cve-cna-positive-tests/${cveIdReserved}`) + .set(headers) + .send(cveCnaContainerPass) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body.message).to.equal(`${cveIdReserved} record was successfully created.`) + done() + }) + }) + }) +}) diff --git a/test/unit-tests/cve/cveCnaContainerUpdateTest.js b/test/unit-tests/cve/cveCnaContainerUpdateTest.js new file mode 100644 index 000000000..3ffe15d57 --- /dev/null +++ b/test/unit-tests/cve/cveCnaContainerUpdateTest.js @@ -0,0 +1,285 @@ +const express = require('express') +const app = express() +const chai = require('chai') +const expect = chai.expect +chai.use(require('chai-http')) + +// Body Parser Middleware +app.use(express.json()) // Allows us to handle raw JSON data +app.use(express.urlencoded({ extended: false })) // Allows us to handle url encoded data +const middleware = require('../../../src/middleware/middleware') +app.use(middleware.createCtxAndReqUUID) + +const nonExistentCveId = 'CVE-2020-1425' +const cveIdPublished5 = 'CVE-2017-4024' +const cveIdReserved = 'CVE-2017-5835' +const cveCnaContainerFail = require('../../schemas/cna-container/cna-container_fail.json') +const cveCnaContainerPass = require('../../schemas/cna-container/cna-container_pass.json') +const cveRecordPublished = require('../../schemas/5.0/CVE-2017-4024_published.json') +const errors = require('../../../src/controller/cve.controller/error') +const error = new errors.CveControllerError() + +const CONSTANTS = require('../../../src/constants') +const cveFixtures = require('./mockObjects.cve') +const cveController = require('../../../src/controller/cve.controller/cve.controller') +const cveParams = require('../../../src/controller/cve.controller/cve.middleware') + +class MyOrg { + async getOrgUUID (shortName) { + if (shortName === cveFixtures.regularOrg.short_name) { + return cveFixtures.regularOrg.UUID + } + return null + } + + async isSecretariat (org) { + if (org === cveFixtures.secretariatHeader['CVE-API-ORG']) { + return true + } + return null + } + + async findOneByUUID () { + return cveFixtures.secretariatOrg + } +} + +class MyUser { + async getUserUUID () { + return null + } +} + +class MyCveIdNegativeTests { + async findOneByCveId (id) { + if (id === cveIdPublished5) { + const fixture = Object.assign({}, cveFixtures.cvePublished5) + fixture.state = CONSTANTS.CVE_STATES.REJECTED + fixture.owning_cna = 'random' + return fixture + } + if (id === cveIdReserved) { + const fixture = Object.assign({}, cveFixtures.cveRejected5) + fixture.reserved = new Date() + return fixture + } + return null + } + + async updateByCveId () { + return null + } +} + +class MyCveNegativeTests { + async findOneByCveId (id) { + if (id === cveIdPublished5) { + const cveModel = { cve: cveRecordPublished } + return cveModel + } + return null + } + + async updateByCveId () { + return null + } +} + +class MyCveIdPositiveTests { + async findOneByCveId (id) { + if (id === cveIdPublished5) { + const cveId = Object.assign({}, cveFixtures.cvePublished5) + cveId.owning_cna = cveFixtures.regularOrg.UUID + return cveId + } + if (id === cveIdReserved) { + const cveId = Object.assign({}, cveFixtures.cveRejected5) + cveId.owning_cna = cveFixtures.regularOrg.UUID + return cveId + } + return cveFixtures.cveRejected5 + } + + async updateByCveId (id, cveId) { + return null + } +} + +class MyCvePositiveTests { + async findOneByCveId (id) { + if (id === cveIdPublished5) { + const cveModel = { cve: cveRecordPublished } + return cveModel + } + return null + } + + async updateByCveId () { + return null + } +} + +app.route('/cve-cna-negative-tests/:id') + .put((req, res, next) => { + const factory = { + getCveIdRepository: () => { return new MyCveIdNegativeTests() }, + getCveRepository: () => { return new MyCveNegativeTests() }, + getOrgRepository: () => { return new MyOrg() }, + getUserRepository: () => { return new MyUser() } + } + req.ctx.repositories = factory + next() + }, cveParams.parsePostParams, cveController.CVE_UPDATE_CNA) + +app.route('/cve-cna-positive-tests/:id') + .put((req, res, next) => { + const factory = { + getCveIdRepository: () => { return new MyCveIdPositiveTests() }, + getCveRepository: () => { return new MyCvePositiveTests() }, + getOrgRepository: () => { return new MyOrg() }, + getUserRepository: () => { return new MyUser() } + } + req.ctx.repositories = factory + next() + }, cveParams.parsePostParams, cveController.CVE_UPDATE_CNA) + +describe('Testing the PUT /cve/:id/cna endpoint in Cve Controller', () => { + context('Negative Tests', () => { + it('should return 400 when cveId does not exist', (done) => { + chai.request(app) + .put(`/cve-cna-negative-tests/${nonExistentCveId}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(400) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.cveDne() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('should return 403 when cveId does not belong to cveId owning org', (done) => { + const headers = Object.assign({}, cveFixtures.secretariatHeader) + headers['CVE-API-ORG'] = 'cisco' + chai.request(app) + .put(`/cve-cna-negative-tests/${cveIdPublished5}`) + .set(headers) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(403) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.owningOrgDoesNotMatch() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('should return 403 when cve record does not exist', (done) => { + chai.request(app) + .put(`/cve-cna-negative-tests/${cveIdReserved}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(403) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.cveRecordDne() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('should return 500 when cve record is not valid', (done) => { + chai.request(app) + .put(`/cve-cna-negative-tests/${cveIdPublished5}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(500) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.serverError() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('should return 500 when fails to update cve id state', (done) => { + chai.request(app) + .put(`/cve-cna-negative-tests/${cveIdPublished5}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerPass) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(500) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.serverError() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + }) + + context('Positive Tests', () => { + it('Put cna container as secretariat', (done) => { + chai.request(app) + .put(`/cve-cna-positive-tests/${cveIdPublished5}`) + .set(cveFixtures.secretariatHeader) + .send(cveCnaContainerPass) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body.message).to.equal(`${cveIdPublished5} record was successfully updated.`) + done() + }) + }) + + it('Put cna container as user', (done) => { + const headers = Object.assign({}, cveFixtures.secretariatHeader) + headers['CVE-API-ORG'] = cveFixtures.regularOrg.short_name + headers['CVE-API-USER'] = cveFixtures.regularUser.username + chai.request(app) + .put(`/cve-cna-positive-tests/${cveIdPublished5}`) + .set(headers) + .send(cveCnaContainerPass) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body.message).to.equal(`${cveIdPublished5} record was successfully updated.`) + expect(res.body.created).to.not.equal(cveRecordPublished) + done() + }) + }) + }) +}) diff --git a/test/unit-tests/cve/cveCreateTest.js b/test/unit-tests/cve/cveCreateTest.js index 5af0bd5a8..1631dad4c 100644 --- a/test/unit-tests/cve/cveCreateTest.js +++ b/test/unit-tests/cve/cveCreateTest.js @@ -177,7 +177,7 @@ describe('Testing the POST /cve/:id endpoint in Cve Controller', () => { it('should return 403 forbidden because the cve id does not exist', (done) => { const nonExistentCve = JSON.parse(JSON.stringify(cvePublishedPass5)) - nonExistentCve.cveMetadata.id = nonExistentCveId + nonExistentCve.cveMetadata.cveId = nonExistentCveId chai.request(app) .post(`/cve-create-record-negative-tests/${nonExistentCveId}`) @@ -199,7 +199,7 @@ describe('Testing the POST /cve/:id endpoint in Cve Controller', () => { it('should return 403 forbidden because the cve id has state AVAILABLE', (done) => { const testCve = JSON.parse(JSON.stringify(cvePublishedPass5)) - testCve.cveMetadata.id = cveIdAvailable5 + testCve.cveMetadata.cveId = cveIdAvailable5 chai.request(app) .post(`/cve-create-record-negative-tests/${cveIdAvailable5}`) @@ -258,7 +258,7 @@ describe('Testing the POST /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') expect(res.body).to.have.property('created').and.to.be.a('object') - expect(res.body.created).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdPublished5) + expect(res.body.created).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdPublished5) expect(res.body.created).to.have.nested.property('cveMetadata.state').and.to.equal(CONSTANTS.CVE_STATES.PUBLISHED) expect(doc).to.have.property('cve_id').and.to.equal(cveIdPublished5) expect(doc).to.have.property('state').and.to.equal(CONSTANTS.CVE_STATES.PUBLISHED) @@ -284,7 +284,7 @@ describe('Testing the POST /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') expect(res.body).to.have.property('created').and.to.be.a('object') - expect(res.body.created).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdRejected5) + expect(res.body.created).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdRejected5) expect(res.body.created).to.have.nested.property('cveMetadata.state').and.to.equal(CONSTANTS.CVE_STATES.REJECTED) expect(doc).to.have.property('cve_id').and.to.equal(cveIdRejected5) expect(doc).to.have.property('state').and.to.equal(CONSTANTS.CVE_STATES.REJECTED) diff --git a/test/unit-tests/cve/cveGetAllTest.js b/test/unit-tests/cve/cveGetAllTest.js index 291de4d9d..f216fdda9 100644 --- a/test/unit-tests/cve/cveGetAllTest.js +++ b/test/unit-tests/cve/cveGetAllTest.js @@ -234,5 +234,116 @@ describe('Testing the GET /cve endpoint in Cve Controller', () => { done() }) }) + + it('Filter by reserved state', (done) => { + class MyCvePositiveTests { + async filterByState () { + const res = { + state: 'RESERVED' + } + + return res + } + } + + app.route('/cve-get-all-records-by-reserved-state') + .get((req, res, next) => { + const factory = { + getCveRepository: () => { return new MyCvePositiveTests() } + } + req.ctx.repositories = factory + next() + }, cveParams.parseGetParams, cveController.CVE_GET_FILTERED) + + chai.request(app) + .get('/cve-get-all-records-positive-tests-non-empty-non-paginated') + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + res.body.cveRecords.forEach(obj => { + // only cve records with state 'PUBLISHED' or 'REJECTED' are stored in the db + expect(obj).to.have.nested.property('cveMetadata.state').and.to.be.oneOf([CONSTANTS.CVE_STATES.RESERVED, CONSTANTS.CVE_STATES.REJECTED, CONSTANTS.CVE_STATES.PUBLISHED]) + }) + done() + }) + }) + + it('Filter by published state', (done) => { + class MyCvePositiveTests { + async filterByState () { + const res = { + state: 'PUBLISHED' + } + + return res + } + } + + app.route('/cve-get-all-records-by-reserved-state') + .get((req, res, next) => { + const factory = { + getCveRepository: () => { return new MyCvePositiveTests() } + } + req.ctx.repositories = factory + next() + }, cveParams.parseGetParams, cveController.CVE_GET_FILTERED) + + chai.request(app) + .get('/cve-get-all-records-positive-tests-non-empty-non-paginated') + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + res.body.cveRecords.forEach(obj => { + // only cve records with state 'PUBLISHED' or 'REJECTED' are stored in the db + expect(obj).to.have.nested.property('cveMetadata.state').and.to.be.oneOf([CONSTANTS.CVE_STATES.RESERVED, CONSTANTS.CVE_STATES.REJECTED, CONSTANTS.CVE_STATES.PUBLISHED]) + }) + done() + }) + }) + + it('Filter by rejected state', (done) => { + class MyCvePositiveTests { + async filterByState () { + const res = { + state: 'REJECTED' + } + + return res + } + } + + app.route('/cve-get-all-records-by-reserved-state') + .get((req, res, next) => { + const factory = { + getCveRepository: () => { return new MyCvePositiveTests() } + } + req.ctx.repositories = factory + next() + }, cveParams.parseGetParams, cveController.CVE_GET_FILTERED) + + chai.request(app) + .get('/cve-get-all-records-positive-tests-non-empty-non-paginated') + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + res.body.cveRecords.forEach(obj => { + // only cve records with state 'PUBLISHED' or 'REJECTED' are stored in the db + expect(obj).to.have.nested.property('cveMetadata.state').and.to.be.oneOf([CONSTANTS.CVE_STATES.RESERVED, CONSTANTS.CVE_STATES.REJECTED, CONSTANTS.CVE_STATES.PUBLISHED]) + }) + done() + }) + }) }) }) diff --git a/test/unit-tests/cve/cveGetSingleTest.js b/test/unit-tests/cve/cveGetSingleTest.js index 323457484..2502c584c 100644 --- a/test/unit-tests/cve/cveGetSingleTest.js +++ b/test/unit-tests/cve/cveGetSingleTest.js @@ -88,7 +88,7 @@ describe('Testing the GET /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') - expect(res.body).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdPublished5) + expect(res.body).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdPublished5) expect(res.body).to.have.nested.property('cveMetadata.state').and.to.equal(CONSTANTS.CVE_STATES.PUBLISHED) done() }) @@ -105,7 +105,7 @@ describe('Testing the GET /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') - expect(res.body).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdRejected5) + expect(res.body).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdRejected5) expect(res.body).to.have.nested.property('cveMetadata.state').and.to.equal(CONSTANTS.CVE_STATES.REJECTED) done() }) @@ -122,7 +122,7 @@ describe('Testing the GET /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') - expect(res.body).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdPublished5) + expect(res.body).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdPublished5) expect(res.body).to.have.nested.property('cveMetadata.assignerShortName').and.to.equal('cisco') done() }) @@ -139,8 +139,8 @@ describe('Testing the GET /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') - expect(res.body).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdPublished5) - expect(res.body).to.have.nested.property('cveMetadata.assigner').and.to.equal('88c02595-c8f7-4864-a0e7-e09b3e1da691') + expect(res.body).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdPublished5) + expect(res.body).to.have.nested.property('cveMetadata.assignerOrgId').and.to.equal('88c02595-c8f7-4864-a0e7-e09b3e1da691') done() }) }) diff --git a/test/unit-tests/cve/cveRecordRejectionTest.js b/test/unit-tests/cve/cveRecordRejectionTest.js new file mode 100644 index 000000000..07c5ee1a7 --- /dev/null +++ b/test/unit-tests/cve/cveRecordRejectionTest.js @@ -0,0 +1,178 @@ +const express = require('express') +const app = express() +const chai = require('chai') +const expect = chai.expect +chai.use(require('chai-http')) + +// Body Parser Middleware +app.use(express.json()) // Allows us to handle raw JSON data +app.use(express.urlencoded({ extended: false })) // Allows us to handle url encoded data +const middleware = require('../../../src/middleware/middleware') +app.use(middleware.createCtxAndReqUUID) + +const errors = require('../../../src/controller/cve.controller/error') +const error = new errors.CveControllerError() +const cveFixtures = require('./mockObjects.cve') +const cveController = require('../../../src/controller/cve.controller/cve.controller') +const cveParams = require('../../../src/controller/cve.controller/cve.middleware') + +const rejectedBody = require('../../../test-http/src/test/cve_tests/cve_record_fixtures/rejectBody.json') +const multipleEngDescriptions = require('../../../test-http/src/test/cve_tests/cve_record_fixtures/rejectBodyMultipleEngDescriptions.json') +const nonExistentId = 'CVE-1800-0001' +const cveIdReserved = 'CVE-2019-1421' + +class MyOrg { + async getOrgUUID (shortName) { + if (shortName === cveFixtures.regularOrg.short_name) { + return cveFixtures.regularOrg.UUID + } + return null + } +} + +class MyUser { + async getUserUUID () { + return null + } +} + +class MyCveIdNegativeTests { + async findOneByCveId () { + return null + } + + async updateByCveId () { + return null + } +} + +class MyCveNegativeTests { + async findOneByCveId () { + return null + } + + async updateByCveId () { + return null + } +} + +class MyCveIdPositiveTests { + async findOneByCveId () { + return cveFixtures.cveToReject + } + + async updateByCveId () { + return cveFixtures.cveToReject + } +} + +class MyCvePositiveTests { + async findOneByCveId () { + return null + } + + async updateByCveId () { + return cveFixtures.cveToReject + } +} + +app.route('/cve-reject-negative-tests/:id') + .post((req, res, next) => { + const factory = { + getCveIdRepository: () => { return new MyCveIdNegativeTests() }, + getCveRepository: () => { return new MyCveNegativeTests() }, + getOrgRepository: () => { return new MyOrg() }, + getUserRepository: () => { return new MyUser() } + } + req.ctx.repositories = factory + next() + }, cveParams.parsePostParams, cveController.CVE_REJECT_RECORD) + +app.route('/cve-reject-positive-tests/:id') + .post((req, res, next) => { + const factory = { + getCveIdRepository: () => { return new MyCveIdPositiveTests() }, + getCveRepository: () => { return new MyCvePositiveTests() }, + getOrgRepository: () => { return new MyOrg() }, + getUserRepository: () => { return new MyUser() } + } + req.ctx.repositories = factory + next() + }, cveParams.parsePostParams, cveController.CVE_REJECT_RECORD) + +describe('Testing the POST /cve/:id/reject endpoint in Cve Controller', () => { + context('Negative Tests', () => { + it('Submit a reject request for record that dne, returns 400', (done) => { + chai.request(app) + .post(`/cve-reject-negative-tests/${nonExistentId}`) + .set(cveFixtures.secretariatHeader) + .send(rejectedBody) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(400) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.cveDne() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + + it('Submit a reject request for with multiple English descriptions, returns 400', (done) => { + chai.request(app) + .post(`/cve-reject-negative-tests/${nonExistentId}`) + .set(cveFixtures.secretariatHeader) + .send(multipleEngDescriptions) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(400) + expect(res).to.have.property('body').and.to.be.a('object') + const errObj = error.cveDne() + expect(res.body.error).to.equal(errObj.error) + expect(res.body.message).to.equal(errObj.message) + done() + }) + }) + }) + + context('Positive Tests', () => { + it('Reject record as secretariat', (done) => { + chai.request(app) + .post(`/cve-reject-positive-tests/${cveIdReserved}`) + .set(cveFixtures.secretariatHeader) + .send(rejectedBody) + .end((err, res) => { + if (err) { + done(err) + } + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + done() + }) + }) + + it('Reject record as user', (done) => { + const headers = Object.assign({}, cveFixtures.secretariatHeader) + headers['CVE-API-ORG'] = cveFixtures.regularOrg.short_name + headers['CVE-API-USER'] = cveFixtures.regularUser.username + chai.request(app) + .post(`/cve-reject-positive-tests/${cveIdReserved}`) + .set(cveFixtures.secretariatHeader) + .send(headers) + .end((err, res) => { + if (err) { + done(err) + } + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + done() + }) + }) + }) +}) diff --git a/test/unit-tests/cve/cveUpdateTest.js b/test/unit-tests/cve/cveUpdateTest.js index a94f3ebc5..290f55cd0 100644 --- a/test/unit-tests/cve/cveUpdateTest.js +++ b/test/unit-tests/cve/cveUpdateTest.js @@ -88,7 +88,7 @@ describe('Testing the PUT /cve/:id endpoint in Cve Controller', () => { it('CVE record not updated when cve record doesnt exist', (done) => { const nonExistentCve = JSON.parse(JSON.stringify(cvePublishedPass5)) - nonExistentCve.cveMetadata.id = nonExistentCveId + nonExistentCve.cveMetadata.cveId = nonExistentCveId class OrgRepo { async getOrgUUID () { return null @@ -152,7 +152,7 @@ describe('Testing the PUT /cve/:id endpoint in Cve Controller', () => { it('CVE record not updated when cve id doesnt exist', (done) => { const nonExistentCve = JSON.parse(JSON.stringify(cvePublishedPass5)) - nonExistentCve.cveMetadata.id = nonExistentCveId + nonExistentCve.cveMetadata.cveId = nonExistentCveId class OrgRepo { async getOrgUUID () { return null @@ -325,7 +325,7 @@ describe('Testing the PUT /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') expect(res.body).to.have.property('updated').and.to.be.a('object') - expect(res.body.updated).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdPublished5) + expect(res.body.updated).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdPublished5) expect(res.body.updated).to.have.nested.property('cveMetadata.state').and.to.equal('PUBLISHED') done() }) @@ -384,7 +384,7 @@ describe('Testing the PUT /cve/:id endpoint in Cve Controller', () => { expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') expect(res.body).to.have.property('updated').and.to.be.a('object') - expect(res.body.updated).to.have.nested.property('cveMetadata.id').and.to.equal(cveIdRejected5) + expect(res.body.updated).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdRejected5) expect(res.body.updated).to.have.nested.property('cveMetadata.state').and.to.equal('REJECTED') done() }) diff --git a/test/unit-tests/cve/mockObjects.cve.js b/test/unit-tests/cve/mockObjects.cve.js index 8bbbe39c3..d6e0a0cf3 100644 --- a/test/unit-tests/cve/mockObjects.cve.js +++ b/test/unit-tests/cve/mockObjects.cve.js @@ -38,6 +38,39 @@ const secretariatUser = { active: true } +const regularOrg = { + UUID: '16fd129f-af00-4d8c-8f7b-e19b0587223a', + authority: { + active_roles: [ + CONSTANTS.AUTH_ROLE_ENUM.CNA + ] + }, + name: 'Booker LLC', + short_name: 'window_1', + time: { + modified: '2021-05-11T15:07:19.468216Z', + created: '2021-05-11T15:07:19.468216Z' + }, + policies: { + id_quota: 1251 + } +} + +const regularUser = { + UUID: 'f13186d5-ce3d-4fd9-aecd-8698c26897f3', + org_UUID: regularOrg.UUID, + name: { + first: 'Robert', + last: 'Petal' + }, + authority: { + active_roles: [] + }, + secret: '$argon2i$v=19$m=4096,t=3,p=1$+qGHEfH5h4/tk404iWBxFw$xV96/b4NvQVvlZIq57wTS8s7gfKzsfMXRiOyf3ffgcw', + username: 'rpetal', + active: true +} + const cveAvailable5 = { cve_id: 'CVE-2017-5834', cve_year: '2017', @@ -74,6 +107,18 @@ const cveRejected5 = { } } +const cveToReject = { + cve_id: 'CVE-2019-1421', + cve_year: '2019', + state: CONSTANTS.CVE_STATES.REJECTED, + owning_cna: secretariatOrg.UUID, + reserved: Date.now(), + requested_by: { + cna: secretariatUser.org_UUID, + user: secretariatUser.UUID + } +} + const cveRecordPublished5 = { time: { created: Date.now(), @@ -94,9 +139,12 @@ module.exports = { secretariatHeader, secretariatOrg, secretariatUser, + regularOrg, + regularUser, cveAvailable5, cvePublished5, cveRejected5, + cveToReject, cveRecordPublished5, cveRecordRejected5 } diff --git a/test/unit-tests/cve/validateCveCnaContainerSchema.js b/test/unit-tests/cve/validateCveCnaContainerSchema.js new file mode 100644 index 000000000..66b90780b --- /dev/null +++ b/test/unit-tests/cve/validateCveCnaContainerSchema.js @@ -0,0 +1,65 @@ +const express = require('express') +const app = express() +const chai = require('chai') +const expect = chai.expect +chai.use(require('chai-http')) + +// Body Parser Middleware +app.use(express.json()) // Allows us to handle raw JSON data +app.use(express.urlencoded({ extended: false })) // Allows us to handle url encoded data +const middleware = require('../../../src/middleware/middleware') +app.use(middleware.createCtxAndReqUUID) + +const cveFixtures = require('./mockObjects.cve') +const cnaPass = require('../../schemas/cna-container/cna-container_pass.json') +const cnaFail = require('../../schemas/cna-container/cna-container-missing-container.json') +const cveMw = require('../../../src/controller/cve.controller/cve.middleware') + +app.route('/api/test/mw/cnaschema') + .post(cveMw.validateCveCnaContainerJsonSchema, (req, res) => { + return res.status(200).json({ message: 'Success! You have reached the target endpoint.' }) + }) + +describe('Test the JSON schema cna container validation middleware', () => { + context('Negative Tests', () => { + it('Json validator fails because missing cnaContainer object', (done) => { + chai.request(app) + .post('/api/test/mw/cnaschema') + .set(cveFixtures.secretariatHeader) + .send(cnaFail) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(400) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body).to.have.property('message').and.to.be.a('string') + expect(res.body.message).to.equal('CVE cnaContainer JSON schema validation FAILED.') + expect(res.body.details).to.have.property('errors').and.to.be.an('array') + expect(res.body.details.errors[0].message).to.have.string("must have required property 'cnaContainer'") + done() + }) + }) + }) + + context('Positive Tests', () => { + it('Json validator pass with all required elements', (done) => { + chai.request(app) + .post('/api/test/mw/cnaschema') + .set(cveFixtures.secretariatHeader) + .send(cnaPass) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body).to.have.property('message').and.to.be.a('string') + expect(res.body.message).to.equal('Success! You have reached the target endpoint.') + done() + }) + }) + }) +}) diff --git a/test/unit-tests/middleware/validateJsonSchema5.0.js b/test/unit-tests/middleware/validateJsonSchema5.0.js index 2366864c0..040f3b47d 100644 --- a/test/unit-tests/middleware/validateJsonSchema5.0.js +++ b/test/unit-tests/middleware/validateJsonSchema5.0.js @@ -100,8 +100,6 @@ describe('Test the JSON schema 5.0 validation middleware', () => { expect(res).to.have.property('body').and.to.be.a('object') expect(res.body).to.have.property('message').and.to.be.a('string') expect(res.body.message).to.equal('CVE JSON schema validation FAILED.') - expect(res.body.details).to.have.property('errors').to.be.an('array') - expect(res.body.details.errors[2].message).to.have.string("must have required property 'assigner'") done() }) }) @@ -122,7 +120,7 @@ describe('Test the JSON schema 5.0 validation middleware', () => { expect(res.body.message).to.equal('CVE JSON schema validation FAILED.') expect(res.body.details).to.have.property('errors').and.to.be.an('array') expect(res.body.details.errors[0].message).to.have.string('must be string') - expect(res.body.details.errors[0].instancePath).to.have.string('/containers/cna/providerMetadata/id') + expect(res.body.details.errors[0].instancePath).to.have.string('/containers/cna/providerMetadata/orgId') done() }) }) diff --git a/test/unit-tests/org/orgGetSingleTest.js b/test/unit-tests/org/orgGetSingleTest.js index f7e64896c..968857394 100644 --- a/test/unit-tests/org/orgGetSingleTest.js +++ b/test/unit-tests/org/orgGetSingleTest.js @@ -23,6 +23,8 @@ class OrgGet { return [orgFixtures.existentOrg] } else if (aggregation[0].$match.short_name === orgFixtures.owningOrg.short_name) { return [orgFixtures.owningOrg] + } else if (aggregation[0].$match.UUID === orgFixtures.owningOrg.UUID) { + return [orgFixtures.owningOrg] } return [] @@ -35,12 +37,16 @@ class OrgGet { return false } } + + async findOneByShortName (shortname) { + return orgFixtures.owningOrg + } } -describe('Testing the GET /org/:shortname endpoint in Org Controller', () => { +describe('Testing the GET /org/:identifier endpoint in Org Controller', () => { context('Negative Tests', () => { it('Org does not exists', async () => { - app.route('/org-cant-get-doesnt-exist/:shortname') + app.route('/org-cant-get-doesnt-exist/:identifier') .get((req, res, next) => { const factory = { getOrgRepository: () => { return new OrgGet() } @@ -61,7 +67,7 @@ describe('Testing the GET /org/:shortname endpoint in Org Controller', () => { }) it('Org exists and requester is not a user of the same org or is secretariat', (done) => { - app.route('/org-cant-get-user-not-secretariat-or-same-org/:shortname') + app.route('/org-cant-get-user-not-secretariat-or-same-org/:identifier') .get((req, res, next) => { const factory = { getOrgRepository: () => { return new OrgGet() } @@ -86,11 +92,34 @@ describe('Testing the GET /org/:shortname endpoint in Org Controller', () => { done() }) }) + + it('Invalid UUID requesting an org', (done) => { + app.route('/org-get-org-by-invalid-uuid/:identifier') + .get((req, res, next) => { + const factory = { + getOrgRepository: () => { return new OrgGet() } + } + req.ctx.repositories = factory + next() + }, orgParams.parseGetParams, orgController.ORG_SINGLE) + + chai.request(app) + .get(`/org-get-org-by-uuid/${'nonexistent123'}`) + .set(orgFixtures.owningOrgHeader) + .end((err, res) => { + if (err) { + done(err) + } + expect(res).to.have.status(404) + expect(res).to.have.property('body').and.to.be.a('object') + done() + }) + }) }) context('Positive Tests', () => { it('Org exists and requester is secretariat', (done) => { - app.route('/org-get-does-exist/:shortname') + app.route('/org-get-does-exist/:identifier') .get((req, res, next) => { const factory = { getOrgRepository: () => { return new OrgGet() } @@ -115,7 +144,7 @@ describe('Testing the GET /org/:shortname endpoint in Org Controller', () => { }) it('Org exists and requester is a user of the same org', (done) => { - app.route('/org-get-does-exist-user-same-org/:shortname') + app.route('/org-get-does-exist-user-same-org/:identifier') .get((req, res, next) => { const factory = { getOrgRepository: () => { return new OrgGet() } @@ -138,5 +167,30 @@ describe('Testing the GET /org/:shortname endpoint in Org Controller', () => { done() }) }) + + it('Valid UUID requesting an org', (done) => { + app.route('/org-get-org-by-uuid/:identifier') + .get((req, res, next) => { + const factory = { + getOrgRepository: () => { return new OrgGet() } + } + req.ctx.repositories = factory + next() + }, orgParams.parseGetParams, orgController.ORG_SINGLE) + + chai.request(app) + .get(`/org-get-org-by-uuid/${orgFixtures.owningOrg.UUID}`) + .set(orgFixtures.owningOrgHeader) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body).to.have.property('UUID').and.to.equal(orgFixtures.owningOrg.UUID) + done() + }) + }) }) }) diff --git a/test/unit-tests/user/userResetSecretTest.js b/test/unit-tests/user/userResetSecretTest.js index 92b67ab00..cc660b952 100644 --- a/test/unit-tests/user/userResetSecretTest.js +++ b/test/unit-tests/user/userResetSecretTest.js @@ -44,6 +44,10 @@ class UserSecretResetNotAdmin { async isAdmin () { return false } + + async findOneByUserNameAndOrgUUID () { + return userFixtures.userC + } } class UserSecretReset { @@ -70,6 +74,46 @@ class UserSecretReset { return false } + + async findOneByUserNameAndOrgUUID (username, orgUUID) { + if (username === userFixtures.userC.username && orgUUID === userFixtures.userC.org_UUID) { + return userFixtures.userC + } else if (username === userFixtures.userB.username && orgUUID === userFixtures.userB.org_UUID) { + return userFixtures.userB + } + + return userFixtures.userA + } +} + +class UserGetUser { + async aggregate (aggregation) { + if (aggregation[0].$match.username === userFixtures.existentUser.username && + aggregation[0].$match.org_UUID === userFixtures.existentUser.org_UUID) { + return [userFixtures.existentUser] + } else if (aggregation[0].$match.username === userFixtures.existentUserDummy.username && + aggregation[0].$match.org_UUID === userFixtures.existentUserDummy.org_UUID) { + return [userFixtures.existentUserDummy] + } + + return [] + } +} + +class OrgGetUser { + async isSecretariat (shortname) { + return shortname === userFixtures.existentOrg.short_name + } + + async getOrgUUID (shortname) { + if (shortname === userFixtures.existentOrg.short_name) { + return userFixtures.existentOrg.UUID + } else if (shortname === userFixtures.owningOrg.short_name) { + return userFixtures.owningOrg.UUID + } + + return null + } } describe('Testing the PUT /org/:shortname/user/:username/reset_secret endpoint in Org Controller', () => { @@ -145,6 +189,10 @@ describe('Testing the PUT /org/:shortname/user/:username/reset_secret endpoint i async isAdmin () { return false } + + async findOneByUserNameAndOrgUUID () { + return null + } } app.route('/user-secret-not-reset-user-doesnt-exist/:shortname/:username') @@ -292,6 +340,7 @@ describe('Testing the PUT /org/:shortname/user/:username/reset_secret endpoint i }) context('Positive Tests', () => { + let secret it('Secret is reset because requester is the user', (done) => { app.route('/user-secret-reset-notSameOrgOrSecretariat/:shortname/:username') .put((req, res, next) => { @@ -378,9 +427,39 @@ describe('Testing the PUT /org/:shortname/user/:username/reset_secret endpoint i expect(res).to.have.status(200) expect(res).to.have.property('body').and.to.be.a('object') expect(res.body).to.have.property('API-secret').and.to.be.a('string') + secret = res.body['API-secret'] userFixtures.userA.authority.active_roles = [] done() }) }) + + it('Admin user role preserved after resetting secret', (done) => { + app.route('/user-get-user/:shortname/:username') + .get((req, res, next) => { + const factory = { + getOrgRepository: () => { return new OrgGetUser() }, + getUserRepository: () => { return new UserGetUser() } + } + req.ctx.repositories = factory + next() + }, orgParams.parseGetParams, orgController.USER_SINGLE) + + userFixtures.existentUser.secret = secret + + chai.request(app) + .get(`/user-get-user/${userFixtures.existentOrg.short_name}/${userFixtures.existentUser.username}`) + .set(userFixtures.secretariatHeader) + .end((err, res) => { + if (err) { + done(err) + } + + expect(res).to.have.status(200) + expect(res).to.have.property('body').and.to.be.a('object') + expect(res.body).to.have.property('username').and.to.equal(userFixtures.existentUser.username) + expect(res.body).to.have.property('org_UUID').and.to.equal(userFixtures.existentUser.org_UUID) + done() + }) + }) }) })