diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 5f08382b..bd4328be 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -10,7 +10,7 @@ jobs:
run: ls
- name: "Install npm dependencies in all parser sub projects"
run: |
- for dir in integrations/*/parser/
+ for dir in scanner/*/parser/
do
cd $dir
if [ -f package.json ] && [ -f package-lock.json ]; then
@@ -20,9 +20,9 @@ jobs:
# cd back
cd -
done
- - name: "Install npm dependencies in all persistence sub projects"
+ - name: "Install npm dependencies in all hook sub projects"
run: |
- for dir in persistence/*/
+ for dir in hooks/*/
do
cd $dir
if [ -f package.json ] && [ -f package-lock.json ]; then
@@ -35,7 +35,10 @@ jobs:
- name: "Install npm test dependencies"
run: |
npm ci
- cd integrations/
+ cd scanner/
+ npm ci
+ cd -
+ cd hooks/
npm ci
- name: "Run tests"
run: |
@@ -106,7 +109,7 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-amass
- path: ./integrations/amass/parser/
+ path: ./scanner/amass/parser/
tag_with_ref: true
tag_with_sha: true
- uses: docker/build-push-action@v1
@@ -115,7 +118,7 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-kube-hunter
- path: ./integrations/kube-hunter/parser/
+ path: ./scanner/kube-hunter/parser/
tag_with_ref: true
tag_with_sha: true
- uses: docker/build-push-action@v1
@@ -124,7 +127,7 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-nikto
- path: ./integrations/nikto/parser/
+ path: ./scanner/nikto/parser/
tag_with_ref: true
tag_with_sha: true
- uses: docker/build-push-action@v1
@@ -133,7 +136,7 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-nmap
- path: ./integrations/nmap/parser/
+ path: ./scanner/nmap/parser/
tag_with_ref: true
tag_with_sha: true
- uses: docker/build-push-action@v1
@@ -142,7 +145,7 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-ssh-scan
- path: ./integrations/ssh_scan/parser/
+ path: ./scanner/ssh_scan/parser/
tag_with_ref: true
tag_with_sha: true
- uses: docker/build-push-action@v1
@@ -151,7 +154,16 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-sslyze
- path: ./integrations/sslyze/parser/
+ path: ./scanner/sslyze/parser/
+ tag_with_ref: true
+ tag_with_sha: true
+ - uses: docker/build-push-action@v1
+ name: "Build & Push test-scan Parser Image"
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ repository: scbexperimental/parser-test-scan
+ path: ./scanner/test-scan/parser/
tag_with_ref: true
tag_with_sha: true
- uses: docker/build-push-action@v1
@@ -160,7 +172,7 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-trivy
- path: ./integrations/trivy/parser/
+ path: ./scanner/trivy/parser/
tag_with_ref: true
tag_with_sha: true
- uses: docker/build-push-action@v1
@@ -169,31 +181,31 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/parser-zap
- path: ./integrations/zap/parser/
+ path: ./scanner/zap/parser/
tag_with_ref: true
tag_with_sha: true
- persistenceImages:
- name: "Build / PersistenceProviders"
+ hookImages:
+ name: "Build / Hooks"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
# SDK
- uses: docker/build-push-action@v1
- name: "Build & Push Persistence SDK"
+ name: "Build & Push Hook SDK"
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- repository: scbexperimental/persistence-sdk-nodejs
- path: ./persistence-sdk/nodejs/
+ repository: scbexperimental/hook-sdk-nodejs
+ path: ./hook-sdk/nodejs/
tag_with_ref: true
# Actual PersistenceProviders
- uses: docker/build-push-action@v1
- name: "Build & Push Elastic PersistenceProvider Image"
+ name: "Build & Push Elastic PersistenceProvider Hook Image"
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/persistence-elastic
- path: ./persistence/persistence-elastic/
+ path: ./hooks/persistence-elastic/
tag_with_ref: true
- uses: docker/build-push-action@v1
name: "Build & Push Elastic PersistenceProvider Dashboard Importer Image"
@@ -201,8 +213,33 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/persistence-elastic-dashboard-importer
- path: ./persistence/persistence-elastic/dashboardImporter/
+ path: ./hooks/persistence-elastic/dashboardImporter/
+ tag_with_ref: true
+ - uses: docker/build-push-action@v1
+ name: "Build & Push GenericWebhook Hook Image"
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ repository: scbexperimental/generic-webhook
+ path: ./hooks/generic-webhook/
+ tag_with_ref: true
+ - uses: docker/build-push-action@v1
+ name: "Build & Push ImperativeSubsequentScans Hook Image"
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ repository: scbexperimental/hook-imperative-subsequent-scans
+ path: ./hooks/imperative-subsequent-scans/
tag_with_ref: true
+ - uses: docker/build-push-action@v1
+ name: "Build & Push UpdateField Hook Image"
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ repository: scbexperimental/update-field
+ path: ./hooks/update-field/
+ tag_with_ref: true
+ tag_with_sha: true
scannerImages:
# Note we only build images for scanner that don't provider official public container images
name: "Build / Scanner"
@@ -215,7 +252,7 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/nmap
- path: ./integrations/nmap/scanner/
+ path: ./scanner/nmap/scanner/
# Note: not prefixed with a "v" as this seems to match nmap versioning standards
tags: "7.80,7.80-1,latest"
- uses: docker/build-push-action@v1
@@ -224,14 +261,23 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: scbexperimental/kube-hunter
- path: ./integrations/kube-hunter/scanner/
+ path: ./scanner/kube-hunter/scanner/
# Note: not prefixed with a "v" as this matches the aquasec/kube-hunter tags
tags: "0.3.0,latest"
+ - uses: docker/build-push-action@v1
+ name: "Build & Push test-scan Scanner Image"
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ repository: scbexperimental/test-scan
+ path: ./scanner/test-scan/scanner/
+ # Note: not prefixed with a "v" as this seems to match nmap versioning standards
+ tags: "latest"
integrationTests:
name: "Test / Integration / k8s ${{ matrix.k8sVersion }}"
needs:
- scannerImages
- - persistenceImages
+ - hookImages
- parserImages
- operator
- lurcher
@@ -276,23 +322,37 @@ jobs:
cd tests/integration/
npm ci
# This steps should include Integration tests which are not related to a Specific Scanner
- - name: "Generic Integration Tests"
+ - name: "Throws NoScanDefiniton Error Integration Tests"
run: |
cd tests/integration/
npx jest --ci --color no-scan-definition-error
+ - name: "Hooks Integration Tests"
+ run: |
+ helm -n integration-tests install update-category ./hooks/update-field/ \
+ --set="image.tag=sha-$(git rev-parse --short HEAD)" \
+ --set="attribute.name=category" \
+ --set="attribute.value=fancy-category"
+ helm -n integration-tests install update-severity ./hooks/update-field/ \
+ --set="image.tag=sha-$(git rev-parse --short HEAD)" \
+ --set="attribute.name=severity" \
+ --set="attribute.value=high"
+ helm -n integration-tests install test-scan ./scanner/test-scan/ --set="parserImage.tag=sha-$(git rev-parse --short HEAD)"
+ cd tests/integration/
+ npx jest --ci --color read-write-hook
+ helm -n integration-tests uninstall test-scan update-category update-severity
- name: "nmap Integration Tests"
run: |
- helm -n integration-tests install nmap ./integrations/nmap/ --set="parserImage.tag=sha-$(git rev-parse --short HEAD)"
+ helm -n integration-tests install nmap ./scanner/nmap/ --set="parserImage.tag=sha-$(git rev-parse --short HEAD)"
cd tests/integration/
npx jest --ci --color nmap
- name: "kube-hunter Integration Tests"
run: |
- helm -n integration-tests install kube-hunter ./integrations/kube-hunter/ --set="parserImage.tag=sha-$(git rev-parse --short HEAD)"
+ helm -n integration-tests install kube-hunter ./scanner/kube-hunter/ --set="parserImage.tag=sha-$(git rev-parse --short HEAD)"
cd tests/integration/
npx jest --ci --color kube-hunter
- name: "ssh-scan Integration Tests"
run: |
- helm -n integration-tests install ssh-scan ./integrations/ssh_scan/ --set="parserImage.tag=sha-$(git rev-parse --short HEAD)"
+ helm -n integration-tests install ssh-scan ./scanner/ssh_scan/ --set="parserImage.tag=sha-$(git rev-parse --short HEAD)"
# Install dummy-ssh app
helm -n demo-apps install dummy-ssh ./demo-apps/dummy-ssh/ --wait
cd tests/integration/
@@ -304,6 +364,7 @@ jobs:
kubectl -n integration-tests get jobs -o wide
kubectl -n integration-tests get pods -o wide
- name: "Inspect Operator"
+ if: failure()
run: |
echo "Deployment in namespace 'securecodebox-system'"
kubectl -n securecodebox-system get deployments
diff --git a/README.md b/README.md
index df2737bd..588d02ea 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
@@ -20,7 +20,9 @@
- [Purpose of this Project](#purpose-of-this-project)
- [Quickstart](#quickstart)
- [Prerequisites](#prerequisites)
- - [Deployment](#deployment)
+ - [Deployment (based on Helm)](#deployment-based-on-helm)
+ - [Examples](#examples)
+ - [Access Services](#access-services)
- [How does it work?](#how-does-it-work)
- [Architecture](#architecture)
- [License](#license)
@@ -56,38 +58,80 @@ There is a german article about [Security DevOps – Angreifern (immer) einen Sc
- kubernetes (last 4 mayor releases supported: `1.15`, `1.16`, `1.17` & `1.18`)
-### Deployment
+### Deployment (based on Helm)
```bash
-# Deploy secureCodeBox Operator
+# Deploy the secureCodeBox Operator first
kubectl create namespace securecodebox-system
helm -n securecodebox-system install securecodebox-operator ./operator/
-# Elasticsearch Persistence Provider Deployment
-helm install persistence-elastic ./persistence/persistence-elastic/
+# Deploy SCB scanner Charts for each security scanner you want to use (all optional)
+helm upgrade --install amass ./integrations/amass/
+helm upgrade --install kube-hunter ./integrations/kube-hunter/
+helm upgrade --install nikto ./integrations/nikto
+helm upgrade --install nmap ./integrations/nmap/
+helm upgrade --install ssh-scan ./integrations/ssh_scan/
+helm upgrade --install sslyze ./integrations/sslyze/
+helm upgrade --install trivy ./integrations/trivy/
+helm upgrade --install zap ./integrations/zap/
+helm upgrade --install wpscan ./integrations/wpscan/
+
+# Optional Deploy some Demo Apps for scanning
+helm upgrade --install dummy-ssh ./demo-apps/dummy-ssh/
+
+# Deploy secureCodeBox Hooks
+helm upgrade --install aah ./hooks/add-attributes/
+helm upgrade --install gwh ./hooks/generic-webhook/
+helm upgrade --install issh ./hooks/imperative-subsequent-scans/
+
+## Persistence Provider: Elasticsearch
+helm upgrade --install elkh ./hooks/persistence-elastic/
+```
-# Deploy definitions for the integrated scanners
-helm install amass ./integrations/amass/
-helm install kube-hunter ./integrations/kube-hunter/
-helm install nikto ./integrations/nikto
-helm install nmap ./integrations/nmap/
-helm install ssh-scan ./integrations/ssh_scan/
-helm install sslyze ./integrations/sslyze/
-helm install zap ./integrations/zap/
+### Examples
+```bash
# Now everything is installed. You can try deploying scans from the `operator/config/samples/` directory
+## Local Scan Examples
+### E.g. localhost nmap scan
+kubectl apply -f operator/config/samples/execution_v1_scan/nmap_localhost.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/kube-hunter_in_cluster.yaml
+
+## Public Scan Examples
# E.g. www.securecodebox.io sslyze scan
+kubectl apply -f operator/config/samples/execution_v1_scan/nmap_securecodebox_io.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/amass_securecodebox_io.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/sslyze_securecodebox_io.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/nikto_securecodebox_io.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/ssh_iteratec_de.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/wpscan_nurdemteam_org.yaml
kubectl apply -f operator/config/samples/execution_v1_scan/sslyze_securecodebox_io.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/trivy_mediawiki.yaml
+kubectl apply -f operator/config/samples/execution_v1_scan/trivy_juiceshop.yaml
+
# Then get the current State of the Scan by running:
kubectl get scans
```
+### Access Services
+
+* Minio UI:
+ * AccessKey: `kubectl get secret securecodebox-operator-minio -n securecodebox-system -o=jsonpath='{.data.accesskey}' | base64 --decode; echo`
+ * SecretKey: `kubectl get secret securecodebox-operator-minio -n securecodebox-system -o=jsonpath='{.data.secretkey}' | base64 --decode; echo`
+ * Port Forward Minio UI: `kubectl port-forward -n securecodebox-system service/securecodebox-operator-minio 9000:9000`
+* Elastic / Kibana UI:
+ * User: `elastic`
+ * Password: `kubectl get secret scb-elasticsearch-es-elastic-user -n scb-analytics -o=jsonpath='{.data.elastic}' | base64 --decode; echo`
+ * Port Forward Kibana: `kubectl port-forward -n default service/persistence-elastic-kibana 5601:5601`
+ * Port Forward Elasticsearch: `kubectl port-forward -n default service/elasticsearch-master 9200:9200`
+
+
## How does it work?
## Architecture
-
+
## License
diff --git a/docs/.gitkeep b/docs/.gitkeep
new file mode 100644
index 00000000..792d6005
--- /dev/null
+++ b/docs/.gitkeep
@@ -0,0 +1 @@
+#
diff --git a/docs/_config.yml b/docs/_config.yml
new file mode 100644
index 00000000..2f7efbea
--- /dev/null
+++ b/docs/_config.yml
@@ -0,0 +1 @@
+theme: jekyll-theme-minimal
\ No newline at end of file
diff --git a/docs/adr/adr_0000.adoc b/docs/adr/adr_0000.adoc
new file mode 100644
index 00000000..75211c2e
--- /dev/null
+++ b/docs/adr/adr_0000.adoc
@@ -0,0 +1,31 @@
+[[ADR-0000]]
+= ADR-0000: Short present tense imperative phrase, less than 50 characters, like a email subject
+
+[cols="h,d",grid=rows,frame=none,stripes=none,caption="Status",%autowidth]
+|====
+// Use one of the ADR status parameter based on status
+// Please add a cross reference link to the new ADR on 'superseded' ADR.
+// e.g.: {adr_suposed_by} <>
+| Status
+| PROPOSED | ACCEPTED | REJECTED | DEPRECATED | SUPOSED_BY <>
+
+| Date
+| YYYY-MM-DD
+
+| Author(s)
+| John Doe +
+jane Doe
+// ...
+|====
+
+== Context
+
+
+
+== Decision
+
+
+
+== Consequences
+
+
diff --git a/docs/adr/adr_0001.adoc b/docs/adr/adr_0001.adoc
new file mode 100644
index 00000000..97542eff
--- /dev/null
+++ b/docs/adr/adr_0001.adoc
@@ -0,0 +1,213 @@
+[[ADR-0000]]
+= ADR-0000: How can we introduce a more general extension concept for data proccessing modules?
+
+[cols="h,d",grid=rows,frame=none,stripes=none,caption="Status",%autowidth]
+|====
+// Use one of the ADR status parameter based on status
+// Please add a cross reference link to the new ADR on 'superseded' ADR.
+// e.g.: {adr_suposed_by} <>
+
+| Status
+| ACCEPTED
+
+| Date
+| 2020-05-20
+
+| Author(s)
+| Jannik Hollenbach ,
+ Jorge Estigarribia ,
+ Robert Seedorff
+|====
+
+== Context
+
+=== Status Quo
+
+One major challange implementing the _secureCodeBox_ is to provide an flexible and modular architecture which enables the open source community to easily understand the concepts and especially to extend the _secureCodeBox_ with individual features. Therefore we decided to seperate the process stages of an single security scan (instance of scanType CRD) in 3 major phases:
+```
+ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
+ │ Scanning ├─────────▶│ Parsing ├─────────▶│ Persisting │
+ │ (Phase 1) │ │ (Phase 2) │ │ (Phase 3) │
+ └──────────────────┘ └──────────────────┘ └──────────────────┘
+```
+By now the "Persisting Phase 3" was implemented by so called _persistenceProviders_ e.g the *persistence-elastic* provider which is responsible for persisting all findings in a given elasticsearch database. The _secureCodeBox_ Operator is aware of this 3 phases and is responsible for the state model and execution of each security scan (instance of scanType CRD).
+
+=== Problem and Question
+
+We identified different additional UseCases with a are more _data proccessing oriented_ pattern than the implemented _persisting phase3_ indicates. For example we implemented a so called "MetaDataProvider" feature which is responsible for enhancing each security finding with additional metadata. But the MetaDataProvider must be executed after the _parsing phase 2_ and before the _persisting phase 3_ because it depends on the parsed finding results (which will be enhanced) and the update findings should be persisted also.
+
+
+To find a proper solution we splitted the topic into the follwong two questions:
+
+* Question 1: Should we unify the concepts MetaDataProvider and PersistenceProvider?
+* Question 2: How should the execution model look like for each?
+
+==== Question 1: Should we unify the concepts MetaDataProvider and PersistenceProvider?
+==== Solution approach 1: Unify
+
+Both "modules" are "processing" the security findings which are generated in the parsing phase.
+But there is one larger difference between them:
+
+* `PersistenceProvider` is proccesing the findings with a *ReadOnly* pattern
+* `MetaDataProvider` is proccesing the findings with a *ReadAndWrite* pattern
+
+There is a similar thing in kubernetes called [AdmissionController](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/), with the exception that the are executed before a resource gets created.
+
+The are two variants:
+
+* `ValidatingWebhookConfiguration` (ReadOnly) *Executed Last*
+* `MutatingWebhookConfiguration` (ReadAndWrite) *Executed First*
+
+We could do a similar thing and introduce CRD which allows to execute "custom code" (generally speaking, depends on the second question) after a scan has completed (meaning scan and parser phase are done). Some name ideas:
+
+- `ScanHooks`
+- `ScanCompletionHooks`
+- `FindingProcessors`
+
+These could than have a `type` attribute which declares if they are `ReadOnly` or `ReadAndWrite`.
+
+The operator would process all these resources in the namespace and execute the `ReadAndWrite` ones first (in serial: one at a time to avoid write conflicts) and then the `ReadOnly` ones (in parallel).
+
+```yaml
+apiVersion: execution.experimental.securecodebox.io/v1
+kind: ScanCompletionHook
+metadata:
+ name: my-metadata
+spec:
+ type: ReadAndWrite
+ # If implemented like the current persistence provider
+ image: my-metadata:v2.0.0
+```
+
+The Execution Flow would then look something like this:
+
+```
+ ┌ ReadOnly─Hooks─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
+ ┌ ReadAndWriteHooks ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌────────────────────────────────┐ │
+ ┌───────────────────────┐ │ ┌──┼▶│ Elastic PersistenceProvider │
+┌──────────────────┐ ┌──────────────────┐ │ │ ReadAndWrite Hook #1 │ ┌───────────────────────┐ │ └────────────────────────────────┘ │
+│ Scan ├──▶│ Parsing │────▶│ "MyMetaDataProvider" ├─▶│ ReadAndWrite Hook #2 │─┼──┤ │ ┌────────────────────────────────┐
+└──────────────────┘ └──────────────────┘ │ └───────────────────────┘ └───────────────────────┘ └───▶│ DefectDojo PersistenceProvider │ │
+ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │ └────────────────────────────────┘
+ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
+```
+
+**Pros:**
+
+- Only one Implementation
+- Pretty Generic to expand and test out new ideas without having to modify the secureCodeBox Operator
+
+**Cons:**
+
+- Possible "over abstraction"?
+- Need to refactor the ElasticSearch PersistenceProvider
+- The "General Implementation" will be harder than the individual ones -
+
+==== Solution approach 1: Keep Split between Persistence Provider and MetaData Provider
+
+Keep PersistenceProvider as they are and introduce new "MetaDataProvider" CRD which gets executed before the PersistenceProviders by the operator.
+
+```
+ ┌ Persistence Provider─ ─ ─ ─ ─ ─ ─ ─
+ ┌ MetaData Provider ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌────────────────────────────────┐ │
+ ┌───────────────────────┐ │ ┌──┼▶│ Elastic PersistenceProvider │
+┌──────────────────┐ ┌──────────────────┐ │ │ ReadAndWrite Hook #1 │ ┌───────────────────────┐ │ └────────────────────────────────┘ │
+│ Scan ├──▶│ Parsing │────▶│ "MyMetaDataProvider" ├─▶│ ReadAndWrite Hook #2 │─┼──┤ │ ┌────────────────────────────────┐
+└──────────────────┘ └──────────────────┘ │ └───────────────────────┘ └───────────────────────┘ └───▶│ DefectDojo PersistenceProvider │ │
+ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │ └────────────────────────────────┘
+ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
+```
+
+**Pros:**
+
+- Quicker to implement
+- Might be worth it to have a seperate concept for it
+
+**Cons:**
+
+- Really worth introducing a new CRD for everything, especially when the are conceptually pretty close?
+
+=== Question 2: How should the execution model look like for each?
+
+==== Solution approach 1: Like the persistence provider
+
+Basically a docker container which process takes two command line args:
+
+* A pre-signed URL to download the findings from
+* A pre-signed URL to upload the modified findings to
+
+Examples:
+
+* Node.js `node my-metadata.js "https://storage.googleapi.com/..." "https://storage.googleapi.com/..."`
+* java `java my-metadata.jar "https://storage.googleapi.com/..." "https://storage.googleapi.com/..."`
+* golang `./my-metadata "https://storage.googleapi.com/..." "https://storage.googleapi.com/..."`
+
+**Pros:**
+
+* on liner with the current implementations
+* code overhead / wrapper code is pretty minimal
+* zero scale - no resource costs when nothing is running
+
+**Cons:**
+
+* results in too many k8s jobs?
+** resource blocking on finished resources
+** ttlAfterFinished enabled
+* container runtime overhead (especially time)
+
+### Option 2: A WebHooks like concept
+
+Analog to kubernetes webhooks.
+Https server receiving findings and returning results.
+
+**Pros:**
+
+* MilliSeconds instead of seconds for processing
+* No ContainerCreation Overhead
+* No additional k8s jobs needed
+
+**Cons:**
+
+* Introduces new running Services that need to be maintained and have uptime
+* Code Overhead / Boilerplate (Can be mitigated by sdk)
+* Debugging of individual MetaDataProvider is harder as everything is handled by a single service
+* Introduces "New" Concept
+* Certificate Management for webhook services (`cert-manager` required by default?)
+* Scaling for systems with lots of load could be a problem
+* One service per namespace (multiple tenants) needed => results in many running active services which is ressource consuming
+
+== Decision
+
+Regarding the Question 1 it seems that both solution approaches are resulting in the same execution model. We descided to implement solution approach 1 and unify both concepts into a more general concept with the name _"hook concept"_. Therefore we exchange the existing name `persistenceProvider` for phase 3 in the excecution model with a more general term `DataProcessing`:
+
+```
+ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
+ │ Scanning ├─────────▶│ Parsing ├─────────▶│ DataProcessing │
+ │ (Phase 1) │ │ (Phase 2) │ │ (Phase 3) │
+ └──────────────────┘ └──────────────────┘ └──────────────────┘
+```
+
+Regarding the question 2 we descided to implement the solution approach 1 with a job based approach (no active service componend needed).
+The Phase 3 `DataProcessing` will be therefore splitt into to seperate phases named `ReadAndWriteHooks (3.1)` and `ReadOnlyHooks (3.2)`
+
+```
+ ┌ DataProcessing: ReadOnlyHooks ─ ─ ─
+ ┌ DataProcessing: ReadAndWriteHooks ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┌────────────────────────────────┐ │
+ ┌───────────────────────┐ │ ┌──┼▶│ Elastic PersistenceProvider │
+┌──────────────────┐ ┌──────────────────┐ │ │ ReadAndWrite Hook #1 │ ┌───────────────────────┐ │ └────────────────────────────────┘ │
+│ Scan ├──▶│ Parsing │────▶│ "MyMetaDataProvider" ├─▶│ ReadAndWrite Hook #2 │─┼──┤ │ ┌────────────────────────────────┐
+└──────────────────┘ └──────────────────┘ │ └───────────────────────┘ └───────────────────────┘ └───▶│ DefectDojo PersistenceProvider │ │
+ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ │ └────────────────────────────────┘
+ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
+```
+
+== Consequences
+
+With the new `Hook Concept` we open the `DataProcessing` Phase 3 to a more intuitive and flexible architecture. It is easier to understand because _WebHooks_ are already a well known concept. It is possible to keep the existing implementation of the `persistenceProviders` and to integrate them with a lot of other possible data processing components in a more general fashion. In the end this step will result in a lot of additional feature possibilities which go fare beyond the existing ones. Therefore we only need to implement this concept once in the secureCodeBox Operator and new ideas for extending the DataProcessing will not enforce conceptual or architectural changes.
+
+Ideas for additional data processing hooks:
+* Notifier-Hooks (ReadOnlyHook) e.g. for chat systems (slack, teams...) or metric / alerting systems
+* MetaData Enrichment Hooks (ReadAndWriteHook)
+* FilterData Hooks (e.g. false/positive Handling) (ReadAndWriteHook)
+* SystemIntegration Hooks (ReadOnlyHook) e.g. for ticketing systems like JIRA
+* CascadingScans Hooks (ReadOnlyHook) e.g. for starting new security scans based on findings
\ No newline at end of file
diff --git a/docs/adr/adr_README.md b/docs/adr/adr_README.md
new file mode 100644
index 00000000..be383f5b
--- /dev/null
+++ b/docs/adr/adr_README.md
@@ -0,0 +1,22 @@
+# Architecture Decision Records (ADRs)
+
+This subdirectory contains all ADRs for the architecture documentation. The ids of these ADRs are within the number range from 0001 to 0999. The 0000 is reserved for the example template.
+
+Architectural decisions are, where appropriate, documented with the ADR template from [Michael Nygard][nygard]. A template can be found at ```0000.adoc``` and [here][template]. We extend this template with the date when this decision was made.
+
+Important key points from the blog of [Michael Nygard][nygard]:
+
+> We will keep a collection of records for "architecturally significant" decisions: those that affect the structure, non-functional characteristics, dependencies, interfaces, or construction techniques.
+>
+> Each record describes a set of forces and a single decision in response to those forces. Note that the decision is the central piece here, so specific forces may appear in multiple ADRs.
+>
+> We will keep ADRs in the project repository under ```adr/NNNN.adoc```
+>
+> ADRs will be numbered sequentially and monotonically. **Numbers will not be reused.**
+>
+> If a decision is reversed, we will **keep the old** one around, but mark it as superseded. (It's still relevant to know that it was the decision, but is no longer the decision.)
+
+Please take a look in the ADR template ```0000.adoc``` for more information about the internal structure.
+
+[nygard]: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
+[template]: https://github.com/joelparkerhenderson/architecture_decision_record/blob/master/adr_template_by_michael_nygard.md
diff --git a/docs/developer-guide/README.md b/docs/developer-guide/README.md
new file mode 100644
index 00000000..e95fc848
--- /dev/null
+++ b/docs/developer-guide/README.md
@@ -0,0 +1,104 @@
+# Extending secureCodeBox
+
+## Developing the SCB Operator
+
+### Prerequisites
+
+#### Golang
+
+The operator is written in Golang.
+To build the operator you will need to install [Go](https://golang.org/).
+
+#### Minikube or Kind
+
+For local development we recommend to use [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) or [kind](https://github.com/kubernetes-sigs/kind). If you are using MacOS or Windows you can also use the kubernetes cluster included within Docker for Mac/Windows.
+All of these tools will enable you to run a local kubernetes cluster on your development machine.
+
+#### Operating your local kubernetes cluster
+
+To operate your (local) kubernetes cluster you will need to install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) and [helm](https://helm.sh/)
+
+#### Minio
+
+For your local development you will need a S3 compatible storage.
+We would recommend to use [Minio](https://min.io/download#/) inside a podman or docker container.
+
+```bash
+# if you want to use podman
+$ podman run --name minio -p 9000:9000 minio/minio server /data
+# if you want to use docker
+$ docker run --name minio -p 9000:9000 minio/minio server /data
+```
+
+In the Minio management GUI you will need to add a new bucket for the operator.
+The default credentials for your minio instance are *minioadmin:minioadmin*.
+You might change those.
+
+After setting up your bucket you will need to specify some environment variables to enable the operator to use the bucket.
+You could add these to your *.bashrc* or *.zshrc* as well.
+
+```bash
+$ export S3_ACCESS_KEY="your-minio-access-key"
+$ export S3_SECRET_KEY="your-minio-secret-key"
+$ export S3_BUCKET="name-of-your-bucket"
+$ export S3_USE_SSL="false" # This ensures that the operator will connect even without HTTPS
+$ export S3_ENDPOINT=":9000/"
+```
+
+### Build and run the operator
+
+To build an run the operator you can simply execute *make* in the *operator* directory of this repository.
+
+```bash
+$ make
+```
+
+To run the operator locally you can simply execute *make run*
+
+*NOTICE:* You will need to uninstall the operator from your local cluster first or it will result in undefined behavior!
+
+```bash
+$ make run
+```
+
+## How to a new security scanner
+
+### ScanType Definition
+
+### Parsing SDK
+
+## How to integrate a new hook
+
+### HookType Definition
+
+### Hook SDK
+
+# Guidelines
+
+## Coding Guidelines
+
+### JSON
+
+We're using snake_case (lower case) for json attributes. If an enum type is used as attribute its converted to lower case. If it's an value it's always used UPPERCASE. This is to hold the attribute api consistent, but make shure Enums are recognized as enums.
+
+```json
+{
+ "id": "e18cdc5e-6b49-4346-b623-28a4e878e154",
+ "name": "Open mysql Port",
+ "description": "Port 3306 is open using tcp protocol.",
+ "category": "Open Port",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "protocol": "tcp",
+ "port": 3306,
+ "service": "mysql",
+ "mac_address": null,
+ "start": "1520606104",
+ "end": "1520606118",
+ "ip_address": "127.0.0.1",
+ "state": "open"
+ },
+ "location": "tcp://127.0.0.1:3306"
+ }
+```
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 00000000..abb1ab06
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,25 @@
+# Continuous Secure Delivery - Out of the Box
+
+
+
+> _secureCodeBox_ is a docker based, modularized toolchain for continuous security scans of your software project.
+
+## Documentation Overview
+
+
+- [Project Readme and Quickstart][scb-github]
+- [User Guide](user-guide/README.md)
+- [Developer Guide](developer-guide/README.md)
+
+
+
+## Need a human?
+- [Join Slack][scb-slack]
+
+## License
+Code of secureCodeBox is licensed under the [Apache License 2.0][scb-license].
+
+[scb-github]: https://github.com/secureCodeBox/secureCodeBox
+[scb-twitter]: https://twitter.com/secureCodeBox
+[scb-slack]: https://join.slack.com/t/securecodebox/shared_invite/enQtNDU3MTUyOTM0NTMwLTBjOWRjNjVkNGEyMjQ0ZGMyNDdlYTQxYWQ4MzNiNGY3MDMxNThkZjJmMzY2NDRhMTk3ZWM3OWFkYmY1YzUxNTU
+[scb-license]: https://github.com/secureCodeBox/secureCodeBox/blob/master/LICENSE
diff --git a/docs/resources/logo.png b/docs/resources/logo.png
new file mode 100644
index 00000000..2b76c1d6
Binary files /dev/null and b/docs/resources/logo.png differ
diff --git a/docs/resources/logo.svg b/docs/resources/logo.svg
new file mode 100644
index 00000000..02d17341
--- /dev/null
+++ b/docs/resources/logo.svg
@@ -0,0 +1,28 @@
+
+
\ No newline at end of file
diff --git a/docs/resources/macbook_kibana.jpg b/docs/resources/macbook_kibana.jpg
new file mode 100644
index 00000000..9c307c29
Binary files /dev/null and b/docs/resources/macbook_kibana.jpg differ
diff --git a/scb-architecture.drawio b/docs/resources/scb-architecture.drawio
similarity index 100%
rename from scb-architecture.drawio
rename to docs/resources/scb-architecture.drawio
diff --git a/scb-architecture.svg b/docs/resources/scb-architecture.svg
similarity index 100%
rename from scb-architecture.svg
rename to docs/resources/scb-architecture.svg
diff --git a/securecodebox-logo.svg b/docs/resources/securecodebox-logo.svg
similarity index 100%
rename from securecodebox-logo.svg
rename to docs/resources/securecodebox-logo.svg
diff --git a/docs/user-guide/README.md b/docs/user-guide/README.md
new file mode 100644
index 00000000..5df2506c
--- /dev/null
+++ b/docs/user-guide/README.md
@@ -0,0 +1,3 @@
+# Using the secureCodeBox
+
+follwing...
\ No newline at end of file
diff --git a/integrations/nmap/parser/.dockerignore b/hook-sdk/nodejs/.dockerignore
similarity index 100%
rename from integrations/nmap/parser/.dockerignore
rename to hook-sdk/nodejs/.dockerignore
diff --git a/integrations/nmap/parser/.gitignore b/hook-sdk/nodejs/.gitignore
similarity index 100%
rename from integrations/nmap/parser/.gitignore
rename to hook-sdk/nodejs/.gitignore
diff --git a/persistence-sdk/nodejs/Dockerfile b/hook-sdk/nodejs/Dockerfile
similarity index 62%
rename from persistence-sdk/nodejs/Dockerfile
rename to hook-sdk/nodejs/Dockerfile
index e0e94262..bce6e837 100644
--- a/persistence-sdk/nodejs/Dockerfile
+++ b/hook-sdk/nodejs/Dockerfile
@@ -6,9 +6,9 @@ RUN npm ci --production
FROM node:12-alpine
ARG NODE_ENV
RUN addgroup -S app && adduser app -S -G app
-WORKDIR /home/app/persistence-wrapper/
+WORKDIR /home/app/hook-wrapper/
COPY --from=build --chown=app:app /home/app/node_modules/ ./node_modules/
-COPY --chown=app:app ./persistence-wrapper.js ./persistence-wrapper.js
+COPY --chown=app:app ./hook-wrapper.js ./hook-wrapper.js
USER app
ENV NODE_ENV ${NODE_ENV:-production}
-ENTRYPOINT ["node", "/home/app/persistence-wrapper/persistence-wrapper.js"]
\ No newline at end of file
+ENTRYPOINT ["node", "/home/app/hook-wrapper/hook-wrapper.js"]
\ No newline at end of file
diff --git a/hook-sdk/nodejs/hook-wrapper.js b/hook-sdk/nodejs/hook-wrapper.js
new file mode 100644
index 00000000..20c7b7d1
--- /dev/null
+++ b/hook-sdk/nodejs/hook-wrapper.js
@@ -0,0 +1,163 @@
+const axios = require("axios");
+const { handle } = require("./hook/hook");
+const k8s = require("@kubernetes/client-node");
+
+const scanName = process.env["SCAN_NAME"];
+const namespace = process.env["NAMESPACE"];
+console.log(`Starting hook for Scan "${scanName}"`);
+
+const kc = new k8s.KubeConfig();
+kc.loadFromCluster();
+
+const k8sApi = kc.makeApiClient(k8s.CustomObjectsApi);
+
+function downloadFile(url) {
+ return axios.get(url);
+}
+
+function getRawResults() {
+ const rawResultUrl = process.argv[2];
+ return downloadFile(rawResultUrl).then(({ data }) => {
+ console.log(`Fetched raw result file contents from the file storage`);
+ return data;
+ });
+}
+
+function getFindings() {
+ const findingsUrl = process.argv[3];
+ return downloadFile(findingsUrl).then(({ data: findings }) => {
+ console.log(`Fetched ${findings.length} findings from the file storage`);
+ return findings;
+ });
+}
+
+function uploadFile(url, fileContents) {
+ return axios
+ .put(url, fileContents, {
+ headers: { "content-type": "" },
+ })
+ .catch(function(error) {
+ if (error.response) {
+ // The request was made and the server responded with a status code
+ // that falls out of the range of 2xx
+ console.error(
+ `File Upload Failed with Response Code: ${error.response.status}`
+ );
+ console.error(`Error Response Body: ${error.response.data}`);
+ } else if (error.request) {
+ console.error(
+ "No response received from FileStorage when uploading finding"
+ );
+ console.error(error);
+ } else {
+ // Something happened in setting up the request that triggered an Error
+ console.log("Error", error.message);
+ }
+ process.exit(1);
+ });
+}
+
+function updateRawResults(fileContents) {
+ const rawResultUploadUrl = process.argv[4];
+ if (rawResultUploadUrl === undefined) {
+ console.error(
+ "Tried to upload RawResults but didn't find a valid URL to upload the findings to."
+ );
+ console.error("This probably means that this hook is a ReadOnly hook.");
+ console.error(
+ "If you want to change RawResults you'll need to use a ReadAndWrite Hook."
+ );
+ }
+ return uploadFile(rawResultUploadUrl, fileContents);
+}
+
+function severityCount(findings, severity) {
+ return findings.filter(
+ ({ severity: findingSeverity }) =>
+ findingSeverity.toUpperCase() === severity
+ ).length;
+}
+
+async function updateFindings(findings) {
+ const findingsUploadUrl = process.argv[5];
+ if (findingsUploadUrl === undefined) {
+ console.error(
+ "Tried to upload Findings but didn't find a valid URL to upload the findings to."
+ );
+ console.error("This probably means that this hook is a ReadOnly hook.");
+ console.error(
+ "If you want to change Findings you'll need to use a ReadAndWrite Hook."
+ );
+ }
+ await uploadFile(findingsUploadUrl, JSON.stringify(findings));
+
+ // Update the scans findingStats (severities, categories, or the count) of the scan results
+ const findingCategories = new Map();
+ for (const { category } of findings) {
+ if (findingCategories.has(category)) {
+ findingCategories.set(category, findingCategories.get(category) + 1);
+ } else {
+ findingCategories.set(category, 1);
+ }
+ }
+
+ await k8sApi.patchNamespacedCustomObjectStatus(
+ "execution.experimental.securecodebox.io",
+ "v1",
+ namespace,
+ "scans",
+ scanName,
+ {
+ status: {
+ findings: {
+ count: findings.length,
+ severities: {
+ informational: severityCount(findings, "INFORMATIONAL"),
+ low: severityCount(findings, "LOW"),
+ medium: severityCount(findings, "MEDIUM"),
+ high: severityCount(findings, "HIGH"),
+ },
+ categories: Object.fromEntries(findingCategories.entries()),
+ },
+ },
+ },
+ { headers: { "content-type": "application/merge-patch+json" } }
+ );
+ console.log("Updated status successfully");
+}
+
+async function main() {
+ let scan;
+ try {
+ const { body } = await k8sApi.getNamespacedCustomObject(
+ "execution.experimental.securecodebox.io",
+ "v1",
+ namespace,
+ "scans",
+ scanName
+ );
+ scan = body;
+ } catch (err) {
+ console.error("Failed to get Scan from the kubernetes api");
+ console.error(err);
+ process.exit(1);
+ }
+
+ try {
+ await handle({
+ getRawResults,
+ getFindings,
+ updateRawResults,
+ updateFindings,
+ scan,
+ });
+ } catch (error) {
+ console.error("Error was thrown while running hooks handle function");
+ console.error(error);
+ process.exit(1);
+ }
+
+ console.log(`Hook completed`);
+}
+
+main();
diff --git a/persistence-sdk/nodejs/package-lock.json b/hook-sdk/nodejs/package-lock.json
similarity index 99%
rename from persistence-sdk/nodejs/package-lock.json
rename to hook-sdk/nodejs/package-lock.json
index a13161b8..ea02f7ef 100644
--- a/persistence-sdk/nodejs/package-lock.json
+++ b/hook-sdk/nodejs/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "securecodebox-persistence-sdk-nodejs",
+ "name": "securecodebox-hook-sdk-nodejs",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
diff --git a/persistence-sdk/nodejs/package.json b/hook-sdk/nodejs/package.json
similarity index 74%
rename from persistence-sdk/nodejs/package.json
rename to hook-sdk/nodejs/package.json
index cc83df51..4f5ec4c3 100644
--- a/persistence-sdk/nodejs/package.json
+++ b/hook-sdk/nodejs/package.json
@@ -1,8 +1,8 @@
{
- "name": "securecodebox-persistence-sdk-nodejs",
+ "name": "securecodebox-hook-sdk-nodejs",
"version": "1.0.0",
- "description": "Handles external communication required for all secureCodeBox PersistenceProviders",
- "main": "persistence-wrapper.js",
+ "description": "Handles external communication required for all secureCodeBox Hooks",
+ "main": "hook-wrapper.js",
"scripts": {
"test": "jest"
},
diff --git a/integrations/sslyze/parser/.dockerignore b/hooks/generic-webhook/.dockerignore
similarity index 100%
rename from integrations/sslyze/parser/.dockerignore
rename to hooks/generic-webhook/.dockerignore
diff --git a/persistence/persistence-elastic/.gitignore b/hooks/generic-webhook/.gitignore
similarity index 100%
rename from persistence/persistence-elastic/.gitignore
rename to hooks/generic-webhook/.gitignore
diff --git a/persistence/persistence-elastic/.helmignore b/hooks/generic-webhook/.helmignore
similarity index 100%
rename from persistence/persistence-elastic/.helmignore
rename to hooks/generic-webhook/.helmignore
diff --git a/hooks/generic-webhook/Chart.lock b/hooks/generic-webhook/Chart.lock
new file mode 100644
index 00000000..eb7f3a24
--- /dev/null
+++ b/hooks/generic-webhook/Chart.lock
@@ -0,0 +1,3 @@
+dependencies: []
+digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726
+generated: "2020-05-26T16:56:03.119255+02:00"
diff --git a/hooks/generic-webhook/Chart.yaml b/hooks/generic-webhook/Chart.yaml
new file mode 100644
index 00000000..821f54f1
--- /dev/null
+++ b/hooks/generic-webhook/Chart.yaml
@@ -0,0 +1,11 @@
+apiVersion: v2
+name: generic-webhook
+description: Lets you send http webhooks after scans are completed
+
+type: application
+
+version: 0.1.0
+
+appVersion: latest
+
+dependencies: []
diff --git a/persistence/persistence-elastic/Dockerfile b/hooks/generic-webhook/Dockerfile
similarity index 58%
rename from persistence/persistence-elastic/Dockerfile
rename to hooks/generic-webhook/Dockerfile
index cef92a2e..11db260e 100644
--- a/persistence/persistence-elastic/Dockerfile
+++ b/hooks/generic-webhook/Dockerfile
@@ -4,7 +4,7 @@ WORKDIR /home/app
COPY package.json package-lock.json ./
RUN npm ci --production
-FROM scbexperimental/persistence-sdk-nodejs:latest
-WORKDIR /home/app/persistence-wrapper/persistence/
+FROM scbexperimental/hook-sdk-nodejs:latest
+WORKDIR /home/app/hook-wrapper/hook/
COPY --from=build --chown=app:app /home/app/node_modules/ ./node_modules/
-COPY --chown=app:app ./persist.js ./persist.js
+COPY --chown=app:app ./hook.js ./hook.js
diff --git a/hooks/generic-webhook/__mocks__/axios.js b/hooks/generic-webhook/__mocks__/axios.js
new file mode 100644
index 00000000..2eff1145
--- /dev/null
+++ b/hooks/generic-webhook/__mocks__/axios.js
@@ -0,0 +1 @@
+module.exports.post = jest.fn();
diff --git a/hooks/generic-webhook/hook.js b/hooks/generic-webhook/hook.js
new file mode 100644
index 00000000..5f7b6dac
--- /dev/null
+++ b/hooks/generic-webhook/hook.js
@@ -0,0 +1,15 @@
+const axios = require("axios");
+
+async function handle({
+ getFindings,
+ scan,
+ webhookUrl = process.env["WEBHOOK_URL"],
+}) {
+ const findings = await getFindings();
+
+ console.log(`Sending ${findings.length} findings to ${webhookUrl}`);
+
+ await axios.post(webhookUrl, { scan, findings });
+}
+module.exports.handle = handle;
+module.exports.axios = axios;
diff --git a/hooks/generic-webhook/hook.test.js b/hooks/generic-webhook/hook.test.js
new file mode 100644
index 00000000..3045f300
--- /dev/null
+++ b/hooks/generic-webhook/hook.test.js
@@ -0,0 +1,34 @@
+const { handle, axios } = require("./hook");
+
+beforeEach(() => {
+ axios.post.mockClear();
+});
+
+test("should send a post request to the url when fired", async () => {
+ const findings = [];
+
+ const getFindings = async () => findings;
+
+ const scan = {
+ metadata: {
+ uid: "09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc",
+ name: "demo-scan",
+ labels: {
+ company: "iteratec",
+ },
+ },
+ spec: {
+ scanType: "Nmap",
+ parameters: ["-Pn", "localhost"],
+ },
+ };
+
+ const webhookUrl = "http://example.com/foo/bar";
+
+ await handle({ getFindings, scan, webhookUrl });
+
+ expect(axios.post).toBeCalledWith(webhookUrl, {
+ scan,
+ findings: [],
+ });
+});
diff --git a/hooks/generic-webhook/package-lock.json b/hooks/generic-webhook/package-lock.json
new file mode 100644
index 00000000..399651dd
--- /dev/null
+++ b/hooks/generic-webhook/package-lock.json
@@ -0,0 +1,4705 @@
+{
+ "name": "scb-generic-webhook",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.9.6",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
+ "dev": true
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz",
+ "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz",
+ "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.5",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
+ "@cnakazawa/watch": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
+ "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
+ "dev": true,
+ "requires": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "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"
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "dev": true
+ },
+ "@jest/console": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
+ "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-message-util": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "@jest/core": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
+ "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/reporters": "^25.5.1",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^25.5.0",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-resolve-dependencies": "^25.5.4",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "jest-watcher": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "p-each-series": "^2.1.0",
+ "realpath-native": "^2.0.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "@jest/environment": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
+ "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
+ "dev": true,
+ "requires": {
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0"
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
+ "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "lolex": "^5.0.0"
+ }
+ },
+ "@jest/globals": {
+ "version": "25.5.2",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
+ "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "expect": "^25.5.0"
+ }
+ },
+ "@jest/reporters": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
+ "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
+ "dev": true,
+ "requires": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^25.5.1",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "node-notifier": "^6.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^3.1.0",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^4.1.3"
+ }
+ },
+ "@jest/source-map": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
+ "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ }
+ },
+ "@jest/test-result": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
+ "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/test-sequencer": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
+ "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4"
+ }
+ },
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^25.5.0",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^3.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-regex-util": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pirates": "^4.0.1",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@sinonjs/commons": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.0.tgz",
+ "integrity": "sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==",
+ "dev": true,
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@types/babel__core": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz",
+ "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
+ "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__template": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
+ "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.11.tgz",
+ "integrity": "sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/graceful-fs": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
+ "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz",
+ "integrity": "sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w==",
+ "dev": true
+ },
+ "@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*",
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/node": {
+ "version": "14.0.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz",
+ "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==",
+ "dev": true
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
+ "@types/prettier": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
+ "dev": true
+ },
+ "@types/stack-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
+ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
+ "dev": true
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "15.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
+ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
+ "dev": true
+ },
+ "abab": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
+ "dev": true
+ },
+ "acorn-globals": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^6.0.1",
+ "acorn-walk": "^6.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+ "dev": true
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
+ "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "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,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "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
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
+ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
+ "dev": true
+ },
+ "axios": {
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
+ "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
+ "requires": {
+ "follow-redirects": "1.5.10"
+ }
+ },
+ "babel-jest": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
+ "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
+ "dev": true,
+ "requires": {
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/babel__core": "^7.1.7",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
+ "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__traverse": "^7.0.6"
+ }
+ },
+ "babel-preset-current-node-syntax": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz",
+ "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
+ "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "^25.5.0",
+ "babel-preset-current-node-syntax": "^0.1.2"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "requires": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "capture-exit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+ "dev": true,
+ "requires": {
+ "rsvp": "^4.8.4"
+ }
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "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
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ }
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "data-urls": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "whatwg-mimetype": "^2.2.0",
+ "whatwg-url": "^7.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "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
+ },
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "dev": true
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true
+ },
+ "diff-sequences": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
+ "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
+ "dev": true
+ },
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "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
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "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
+ },
+ "escodegen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
+ "dev": true,
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "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
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "exec-sh": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
+ "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "expect": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
+ "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-styles": "^4.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "dev": true,
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "follow-redirects": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
+ "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+ "requires": {
+ "debug": "=3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true,
+ "optional": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "^1.0.1"
+ }
+ },
+ "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
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "import-local": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "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
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "dev": true,
+ "optional": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "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
+ },
+ "is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "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
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "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,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "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,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ }
+ },
+ "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,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "jest": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
+ "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "import-local": "^3.0.2",
+ "jest-cli": "^25.5.4"
+ },
+ "dependencies": {
+ "jest-cli": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
+ "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "is-ci": "^2.0.0",
+ "jest-config": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "prompts": "^2.0.1",
+ "realpath-native": "^2.0.0",
+ "yargs": "^15.3.1"
+ }
+ }
+ }
+ },
+ "jest-changed-files": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
+ "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "execa": "^3.2.0",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "execa": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
+ "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "jest-config": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
+ "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^25.5.4",
+ "@jest/types": "^25.5.0",
+ "babel-jest": "^25.5.1",
+ "chalk": "^3.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-environment-jsdom": "^25.5.0",
+ "jest-environment-node": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-jasmine2": "^25.5.4",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^25.5.0",
+ "realpath-native": "^2.0.0"
+ }
+ },
+ "jest-diff": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
+ "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "diff-sequences": "^25.2.6",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-docblock": {
+ "version": "25.3.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
+ "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
+ "dev": true,
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
+ "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
+ "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jsdom": "^15.2.1"
+ }
+ },
+ "jest-environment-node": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
+ "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-get-type": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
+ "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+ "dev": true
+ },
+ "jest-haste-map": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
+ "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-serializer": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "sane": "^4.0.3",
+ "walker": "^1.0.7",
+ "which": "^2.0.2"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
+ "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "co": "^4.6.0",
+ "expect": "^25.5.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^25.5.0",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-leak-detector": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
+ "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
+ "dev": true,
+ "requires": {
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
+ "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-message-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
+ "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/stack-utils": "^1.0.1",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^1.0.1"
+ }
+ },
+ "jest-mock": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
+ "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
+ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
+ "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
+ "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "browser-resolve": "^1.11.3",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.1",
+ "read-pkg-up": "^7.0.1",
+ "realpath-native": "^2.0.0",
+ "resolve": "^1.17.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
+ "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-snapshot": "^25.5.1"
+ }
+ },
+ "jest-runner": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
+ "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-docblock": "^25.3.0",
+ "jest-haste-map": "^25.5.1",
+ "jest-jasmine2": "^25.5.4",
+ "jest-leak-detector": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "jest-runtime": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "source-map-support": "^0.5.6",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-runtime": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
+ "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/globals": "^25.5.2",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^15.3.1"
+ }
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "jest-snapshot": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
+ "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/prettier": "^1.19.0",
+ "chalk": "^3.0.0",
+ "expect": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "make-dir": "^3.0.0",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
+ "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "leven": "^3.1.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-watcher": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
+ "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "jest-util": "^25.5.0",
+ "string-length": "^3.1.0"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
+ "jsdom": {
+ "version": "15.2.1",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
+ "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "acorn": "^7.1.0",
+ "acorn-globals": "^4.3.2",
+ "array-equal": "^1.0.0",
+ "cssom": "^0.4.1",
+ "cssstyle": "^2.0.0",
+ "data-urls": "^1.1.0",
+ "domexception": "^1.0.1",
+ "escodegen": "^1.11.1",
+ "html-encoding-sniffer": "^1.0.2",
+ "nwsapi": "^2.2.0",
+ "parse5": "5.1.0",
+ "pn": "^1.1.0",
+ "request": "^2.88.0",
+ "request-promise-native": "^1.0.7",
+ "saxes": "^3.1.9",
+ "symbol-tree": "^3.2.2",
+ "tough-cookie": "^3.0.1",
+ "w3c-hr-time": "^1.0.1",
+ "w3c-xmlserializer": "^1.1.2",
+ "webidl-conversions": "^4.0.2",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^7.0.0",
+ "ws": "^7.0.0",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "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
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "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
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true
+ },
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lolex": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
+ "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "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,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.44.0"
+ }
+ },
+ "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
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "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
+ },
+ "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-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "dev": true
+ },
+ "node-notifier": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz",
+ "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^2.1.1",
+ "semver": "^6.3.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "nwsapi": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "p-each-series": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz",
+ "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "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
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "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
+ },
+ "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=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "dev": true,
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "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
+ },
+ "pretty-format": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
+ "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "prompts": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
+ "dev": true,
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.4"
+ }
+ },
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "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
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "realpath-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
+ "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
+ "dev": true
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+ "dev": true,
+ "requires": {
+ "request-promise-core": "1.1.3",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "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
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rsvp": {
+ "version": "4.8.5",
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
+ "dev": true
+ },
+ "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==",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sane": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
+ "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
+ "dev": true,
+ "requires": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^2.0.0",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.2",
+ "execa": "^1.0.0",
+ "fb-watchman": "^2.0.0",
+ "micromatch": "^3.1.4",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "saxes": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
+ "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+ "dev": true,
+ "requires": {
+ "xmlchars": "^2.1.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "stack-utils": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
+ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+ "dev": true
+ },
+ "string-length": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz",
+ "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==",
+ "dev": true,
+ "requires": {
+ "astral-regex": "^1.0.0",
+ "strip-ansi": "^5.2.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz",
+ "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true
+ },
+ "terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "throat": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
+ "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
+ "dev": true
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "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
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "tough-cookie": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
+ "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
+ "dev": true,
+ "requires": {
+ "ip-regex": "^2.1.0",
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "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
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ }
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "dev": true
+ },
+ "v8-to-istanbul": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
+ "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dev": true,
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
+ "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
+ "dev": true,
+ "requires": {
+ "domexception": "^1.0.1",
+ "webidl-conversions": "^4.0.2",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "ws": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+ "dev": true
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+ "dev": true,
+ "requires": {
+ "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.1"
+ }
+ },
+ "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,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+}
diff --git a/hooks/generic-webhook/package.json b/hooks/generic-webhook/package.json
new file mode 100644
index 00000000..50f268ed
--- /dev/null
+++ b/hooks/generic-webhook/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "scb-generic-webhook",
+ "version": "1.0.0",
+ "description": "",
+ "main": "hook.js",
+ "scripts": {
+ "test": "jest ."
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "axios": "^0.19.2"
+ },
+ "devDependencies": {
+ "jest": "^25.1.0"
+ }
+}
diff --git a/hooks/generic-webhook/templates/NOTES.txt b/hooks/generic-webhook/templates/NOTES.txt
new file mode 100644
index 00000000..ad964fab
--- /dev/null
+++ b/hooks/generic-webhook/templates/NOTES.txt
@@ -0,0 +1,4 @@
+GenericWebhook deployed.
+Will send requests to:
+POST {{ .Values.webhookUrl }}
+on every completed scan
\ No newline at end of file
diff --git a/hooks/generic-webhook/templates/_helpers.tpl b/hooks/generic-webhook/templates/_helpers.tpl
new file mode 100644
index 00000000..98711ddf
--- /dev/null
+++ b/hooks/generic-webhook/templates/_helpers.tpl
@@ -0,0 +1,52 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "generic-webhook.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "generic-webhook.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "generic-webhook.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "generic-webhook.labels" -}}
+helm.sh/chart: {{ include "generic-webhook.chart" . }}
+{{ include "generic-webhook.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{/*
+Selector labels
+*/}}
+{{- define "generic-webhook.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "generic-webhook.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end -}}
diff --git a/hooks/generic-webhook/templates/webhook-hook.yaml b/hooks/generic-webhook/templates/webhook-hook.yaml
new file mode 100644
index 00000000..863610a4
--- /dev/null
+++ b/hooks/generic-webhook/templates/webhook-hook.yaml
@@ -0,0 +1,14 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: ScanCompletionHook
+metadata:
+ name: {{ include "generic-webhook.fullname" . }}
+spec:
+ type: ReadOnly
+ {{- if .Values.image.digest }}
+ image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}@{{ .Values.image.digest }}"
+ {{- else }}
+ image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ {{- end }}
+ env:
+ - name: WEBHOOK_URL
+ value: {{ .Values.webhookUrl | quote }}
\ No newline at end of file
diff --git a/hooks/generic-webhook/values.yaml b/hooks/generic-webhook/values.yaml
new file mode 100644
index 00000000..545b7851
--- /dev/null
+++ b/hooks/generic-webhook/values.yaml
@@ -0,0 +1,11 @@
+# Default values for dispatcher.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+webhookUrl: "http://example.com"
+
+image:
+ registry: docker.io
+ repository: scbexperimental/generic-webhook
+ tag: latest
+ digest: null
diff --git a/persistence-sdk/nodejs/.dockerignore b/hooks/imperative-subsequent-scans/.dockerignore
similarity index 100%
rename from persistence-sdk/nodejs/.dockerignore
rename to hooks/imperative-subsequent-scans/.dockerignore
diff --git a/hooks/imperative-subsequent-scans/.gitignore b/hooks/imperative-subsequent-scans/.gitignore
new file mode 100644
index 00000000..b512c09d
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/hooks/imperative-subsequent-scans/.helmignore b/hooks/imperative-subsequent-scans/.helmignore
new file mode 100644
index 00000000..676a3554
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/.helmignore
@@ -0,0 +1,30 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+# Node.js files
+node_modules/*
+package.json
+package-lock.json
+src/*
+config/*
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/hooks/imperative-subsequent-scans/Chart.lock b/hooks/imperative-subsequent-scans/Chart.lock
new file mode 100644
index 00000000..eb7f3a24
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/Chart.lock
@@ -0,0 +1,3 @@
+dependencies: []
+digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726
+generated: "2020-05-26T16:56:03.119255+02:00"
diff --git a/hooks/imperative-subsequent-scans/Chart.yaml b/hooks/imperative-subsequent-scans/Chart.yaml
new file mode 100644
index 00000000..554c41d9
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/Chart.yaml
@@ -0,0 +1,11 @@
+apiVersion: v2
+name: imperative-subsequent-scans
+description: Starts possible subsequent security scans based on findings (e.g. open ports found by NMAP or subdomains found by AMASS).
+
+type: application
+
+version: 0.1.0
+
+appVersion: 0.1.0
+
+dependencies: []
diff --git a/hooks/imperative-subsequent-scans/Dockerfile b/hooks/imperative-subsequent-scans/Dockerfile
new file mode 100644
index 00000000..880f259c
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/Dockerfile
@@ -0,0 +1,5 @@
+# This image doesn't install the hooks dependencies, as it only has the @kubernetes/client-node dependencies which is already installed via the hook-sdk
+
+FROM scbexperimental/hook-sdk-nodejs:latest
+WORKDIR /home/app/hook-wrapper/hook/
+COPY --chown=app:app hook.js scan-helpers.js ./
diff --git a/hooks/imperative-subsequent-scans/__mocks__/scan-helpers.js b/hooks/imperative-subsequent-scans/__mocks__/scan-helpers.js
new file mode 100644
index 00000000..6d1a50b1
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/__mocks__/scan-helpers.js
@@ -0,0 +1 @@
+module.exports.startSubsequentSecureCodeBoxScan = jest.fn();
diff --git a/hooks/imperative-subsequent-scans/hook.js b/hooks/imperative-subsequent-scans/hook.js
new file mode 100644
index 00000000..b3245c6f
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/hook.js
@@ -0,0 +1,289 @@
+const { startSubsequentSecureCodeBoxScan } = require("./scan-helpers");
+
+async function handle({
+ scan,
+ getFindings,
+ cascadeAmassNmap = process.env["CASCADE_AMASS_NMAP"] === "true",
+ cascadeNmapSsl = process.env["CASCADE_NMAP_SSL"] === "true",
+ cascadeNmapSsh = process.env["CASCADE_NMAP_SSH"] === "true",
+ cascadeNmapNikto = process.env["CASCADE_NMAP_NIKTO"] === "true",
+ cascadeNmapSmb = process.env["CASCADE_NMAP_SMB"] === "true",
+ cascadeNmapZapBaseline = process.env["CASCADE_NMAP_ZAP_BASELINE"] === "true",
+}) {
+ const findings = await getFindings();
+
+ console.log(findings);
+ console.log("cascadeAmassNmap: " + cascadeAmassNmap);
+ console.log("cascadeNmapSsl: " + cascadeNmapSsl);
+ console.log("cascadeNmapSsh: " + cascadeNmapSsh);
+ console.log("cascadeNmapNikto: " + cascadeNmapNikto);
+ console.log("cascadeNmapSmb: " + cascadeNmapSmb);
+ console.log("cascadeNmapZapBaseline: " + cascadeNmapZapBaseline);
+
+ console.log(
+ `Found #${findings.length} findings... Trying to find identify if these are NMAP specific findings and start possible subsequent security scans.`
+ );
+
+ for (const finding of findings) {
+ if (
+ finding.category === "Open Port" &&
+ finding.attributes.state === "open" &&
+ (finding.attributes.hostname != null || finding.attributes.ip_address)
+ ) {
+
+ const hostname = finding.attributes.hostname || finding.attributes.ip_address;
+ const port = finding.attributes.port;
+
+ console.log(
+ "Found NMAP 'Open Port' finding for host '"+hostname+"' port: '" + finding.attributes.port+"' and service: '" + finding.attributes.service + "'"
+ );
+
+ // search for HTTP ports and start subsequent Nikto Scan
+ if (
+ cascadeNmapNikto &&
+ finding.attributes.service === "http"
+ ) {
+ await startNiktoScan({
+ parentScan: scan,
+ hostname,
+ port,
+ });
+ }
+
+ // search for SMB ports and start subsequent NMAP Scan
+ if (
+ cascadeNmapSmb &&
+ finding.attributes.port === 445 &&
+ (finding.attributes.service === "microsoft-ds" ||
+ finding.attributes.service === "netbios-ssn")
+ ) {
+ await startSMBScan({
+ parentScan: scan,
+ hostname,
+ port,
+ });
+ }
+
+ // search for HTTPS ports and start subsequent SSLyze Scan
+ if (
+ cascadeNmapSsl &&
+ (finding.attributes.service === "ssl" ||
+ finding.attributes.service === "https")
+ ) {
+ await startSSLyzeScan({
+ parentScan: scan,
+ hostname,
+ port,
+ });
+ }
+
+ // search for HTTPS ports and start subsequent ZAP Baselne Scan
+ if (
+ cascadeNmapZapBaseline &&
+ (finding.attributes.service === "ssl" ||
+ finding.attributes.service === "https")
+ ) {
+ await startZAPBaselineHttpsScan({
+ parentScan: scan,
+ hostname,
+ port,
+ });
+ }
+
+ // search for HTTPS ports and start subsequent SSH Scan
+ if (
+ cascadeNmapSsh &&
+ finding.attributes.service === "ssh"
+ ) {
+ await startSSHScan({
+ parentScan: scan,
+ hostname,
+ port,
+ });
+ }
+ }
+ }
+
+ console.log(
+ `Found #${findings.length} findings... Trying to find identify if these are AMASS specific findings and start possible subsequent security scans.`
+ );
+
+ for (const finding of findings) {
+ if(
+ cascadeAmassNmap &&
+ finding.category === "Subdomain" &&
+ finding.osi_layer === "NETWORK" &&
+ finding.description.startsWith("Found subdomain"
+ )) {
+ console.log("Found AMASS 'Subdomain' finding: " + finding.location);
+
+ const hostname = finding.location;
+
+ await startNMAPScan({
+ parentScan: scan,
+ hostname
+ });
+ }
+ }
+}
+
+/**
+ * Creates a new subsequent SCB ZAP Scan for the given hostname.
+ * @param {string} hostname The hostname to start a new subsequent ZAP scan for.
+ * @param {string} port The port to start a new subsequent ZAP scan for.
+ */
+async function startSMBScan({ parentScan, hostname}) {
+ if(hostname) {
+ console.log(
+ " --> Starting async subsequent NMAP SMB Scan for host: " + hostname
+ );
+ await startSubsequentSecureCodeBoxScan({
+ parentScan,
+ name: `nmap-smb-${hostname.toLowerCase()}`,
+ scanType: "nmap",
+ parameters: ["-Pn", "-p445", "--script", "smb-protocols", hostname],
+ });
+ }
+ else
+ {
+ console.log(
+ " --> Failed to start subsequent NMAP SMB Scan because host: '" + hostname + "' must not be null."
+ );
+ }
+}
+
+/**
+ * Creates a new subsequent SCB ZAP Scan for the given hostname.
+ * @param {string} hostname The hostname to start a new subsequent ZAP scan for.
+ * @param {string} port The port to start a new subsequent ZAP scan for.
+ */
+async function startNMAPScan({ parentScan, hostname}) {
+
+
+ if(hostname) {
+ console.log(
+ " --> Starting async subsequent NMAP Scan for host: " + hostname
+ );
+ await startSubsequentSecureCodeBoxScan({
+ parentScan,
+ name: `nmap-${hostname.toLowerCase()}`,
+ scanType: "nmap",
+ parameters: ["-Pn", hostname],
+ });
+ }
+ else
+ {
+ console.log(
+ " --> Failed to start subsequent NMAP Scan because host: '" + hostname + "' must not be null."
+ );
+ }
+}
+
+/**
+ * Creates a new subsequent SCB ZAP Scan for the given hostname.
+ * @param {string} hostname The hostname to start a new subsequent ZAP scan for.
+ * @param {string} port The port to start a new subsequent ZAP scan for.
+ */
+async function startZAPBaselineHttpsScan({ parentScan, hostname, port }) {
+
+
+ if(hostname) {
+ console.log(
+ " --> Starting async subsequent ZAP Scan for host: '" + hostname + "' and port: '" + port + "'"
+ );
+ await startSubsequentSecureCodeBoxScan({
+ parentScan,
+ name: `zap-${port}-${hostname.toLowerCase()}`,
+ scanType: "zap-baseline",
+ parameters: ["-t", "https://" + hostname + ":" + port],
+ });
+ }
+ else
+ {
+ console.log(
+ " --> Failed to start subsequent ZAP Scan because host: '" + hostname + "' and port: '" + port + "' must not be null."
+ );
+ }
+}
+
+/**
+ * Creates a new subsequent SCB SSH Scan for the given hostname.
+ * @param {string} hostname The hostname to start a new subsequent SSH scan for.
+ * @param {string} port The port to start a new subsequent SSH scan for.
+ */
+async function startSSHScan({ parentScan, hostname, port }) {
+
+ if(hostname && port) {
+ console.log(
+ " --> Starting async subsequent SSH Scan for host: '" + hostname + "' and port: '" + port + "'"
+ );
+ await startSubsequentSecureCodeBoxScan({
+ parentScan,
+ name: `ssh-${port}-${hostname.toLowerCase()}`,
+ scanType: "ssh-scan",
+ parameters: ["-t", hostname, "-p", port.toString()],
+ });
+ }
+ else
+ {
+ console.log(
+ " --> Failed to start subsequent SSH Scan because host: '" + hostname + "' and port: '" + port + "' must not be null."
+ );
+ }
+}
+
+/**
+ * Creates a new subsequent SCB Nikto Scan for the given hostname.
+ * @param {string} hostname The hostname to start a new subsequent Nikto scan for.
+ * @param {string} port The port to start a new subsequent Nikto scan for.
+ */
+async function startNiktoScan({ parentScan, hostname, port }) {
+
+
+ if(hostname && port) {
+ console.log(
+ " --> Starting async subsequent Nikto Scan for host: '" + hostname + "' and port: '" + port + "'"
+ );
+ await startSubsequentSecureCodeBoxScan({
+ parentScan,
+ name: `nikto-${port}-${hostname.toLowerCase()}`,
+ scanType: "nikto",
+ parameters: ["-h", hostname, "-p", port.toString(), "-Tuning", "1,2,3,5,7,b"],
+ });
+ }
+ else
+ {
+ console.log(
+ " --> Failed to start subsequent Nikto Scan because host: '" + hostname + "' and port: '" + port + "' must not be null."
+ );
+ }
+}
+
+/**
+ * Creates a new subsequent SCB SSLyze Scan for the given hostname.
+ * @param {string} hostname The hostname to start a new subsequent SSLyze scan for.
+ * @param {string} port The port to start a new subsequent SSLyze scan for.
+ */
+async function startSSLyzeScan({ parentScan, hostname, port }) {
+
+
+ if(hostname && port) {
+ console.log(
+ " --> Starting async subsequent SSLyze Scan for host: '" + hostname + "' and port: '" + port + "'"
+ );
+ await startSubsequentSecureCodeBoxScan({
+ parentScan,
+ name: `sslyze-${port}-${hostname.toLowerCase()}`,
+ scanType: "sslyze",
+ parameters: ["--regular", hostname+":"+port],
+ });
+ }
+ else
+ {
+ console.log(
+ " --> Failed to start subsequent SSLyze Scan because host: '" + hostname + "' and port: '" + port + "' must not be null."
+ );
+ }
+}
+
+module.exports.handle = handle;
diff --git a/hooks/imperative-subsequent-scans/hook.test.js b/hooks/imperative-subsequent-scans/hook.test.js
new file mode 100644
index 00000000..40ad162d
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/hook.test.js
@@ -0,0 +1,690 @@
+jest.mock("./scan-helpers");
+
+const { handle } = require("./hook");
+const { startSubsequentSecureCodeBoxScan } = require("./scan-helpers");
+
+test("Should create subsequent scans for open HTTPS ports (NMAP findings)", async () => {
+ const findings = [
+ {
+ name: "Port 443 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 443,
+ service: "https",
+ },
+ },
+ {
+ name: "Port 8443 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 8443,
+ service: "ssl",
+ },
+ },
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const cascadeAmassNmap = true;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ const getFindings = async () => findings;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(4);
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(1, {
+ name: "sslyze-443-foobar.com",
+ parameters: ["--regular", "foobar.com:443"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "sslyze",
+ });
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(2, {
+ name: "zap-443-foobar.com",
+ parameters: ["-t", "https://foobar.com:443"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "zap-baseline",
+ });
+ // even if the HTTPS port is not running at port 443 a corresponding Sslyze scan should be created if a HTTP service is found by nmap
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(3, {
+ name: "sslyze-8443-example.com",
+ parameters: ["--regular", "example.com:8443"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "sslyze",
+ });
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(4, {
+ name: "zap-8443-example.com",
+ parameters: ["-t", "https://example.com:8443"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "zap-baseline",
+ });
+});
+
+test("Should create subsequent scans for open HTTP ports (NMAP findings)", async () => {
+ const findings = [
+ {
+ name: "Port 80 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 80,
+ service: "http",
+ },
+ },
+ {
+ name: "Port 3000 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 3000,
+ service: "http",
+ },
+ },
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const cascadeAmassNmap = true;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ const getFindings = async () => findings;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(6);
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(5, {
+ name: "nikto-80-foobar.com",
+ parameters: ["-h", "foobar.com", "-p", "80", "-Tuning", "1,2,3,5,7,b"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "nikto",
+ });
+ // even if the HTTP port is not running at port 80 a corresponding Nikto scan should be created if a HTTP service is found by nmap
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(6, {
+ name: "nikto-3000-example.com",
+ parameters: ["-h", "example.com", "-p", "3000", "-Tuning", "1,2,3,5,7,b"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "nikto",
+ });
+});
+
+test("Should create subsequent scans for open SSH ports (NMAP findings)", async () => {
+ const findings = [
+ {
+ name: "Port 22 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 22,
+ service: "ssh",
+ },
+ },
+ {
+ name: "Port 23454 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 23454,
+ service: "ssh",
+ },
+ },
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const cascadeAmassNmap = true;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ const getFindings = async () => findings;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(8);
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(7, {
+ name: "ssh-22-foobar.com",
+ parameters: ["-t", "foobar.com", "-p", "22"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "ssh-scan",
+ });
+ // even if the HTTP port is not running at port 80 a corresponding Nikto scan should be created if a HTTP service is found by nmap
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(8, {
+ name: "ssh-23454-example.com",
+ parameters: ["-t", "example.com", "-p", "23454"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "ssh-scan",
+ });
+});
+
+test("Should create subsequent scans for open SMB ports (NMAP findings)", async () => {
+ const findings = [
+ {
+ name: "Port 445 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 445,
+ service: "microsoft-ds",
+ },
+ },
+ {
+ name: "Port 445 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 445,
+ service: "filtered",
+ },
+ },
+ {
+ name: "Port 445 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: null,
+ ip_address: "10.10.0.0",
+ port: 445,
+ service: "microsoft-ds",
+ },
+ },
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const cascadeAmassNmap = true;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ const getFindings = async () => findings;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(10);
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(9, {
+ name: "nmap-smb-foobar.com",
+ parameters: ["-Pn", "-p445", "--script", "smb-protocols", "foobar.com"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "nmap",
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(10, {
+ name: "nmap-smb-10.10.0.0",
+ parameters: ["-Pn", "-p445", "--script", "smb-protocols", "10.10.0.0"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "nmap",
+ });
+});
+
+test("Should create subsequent scans for subdomains (AMASS findings)", async () => {
+ const findings = [
+ {
+ name: "www.example.com",
+ description: "Found subdomain www.example.com",
+ category: "Subdomain",
+ location: "www.example.com",
+ osi_layer: "NETWORK",
+ severity: "INFORMATIONAL",
+ },
+ {
+ name: "example.example.com",
+ description: "Found subdomain example.example.com",
+ category: "Subdomain",
+ location: "example.example.com",
+ osi_layer: "NETWORK",
+ severity: "INFORMATIONAL",
+ },
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const getFindings = async () => findings;
+
+ const cascadeAmassNmap = true;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(12);
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(11, {
+ name: "nmap-www.example.com",
+ parameters: ["-Pn", "www.example.com"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "nmap",
+ });
+ // even if the HTTP port is not running at port 80 a corresponding Nikto scan should be created if a HTTP service is found by nmap
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(12, {
+ name: "nmap-example.example.com",
+ parameters: ["-Pn", "example.example.com"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "nmap",
+ });
+});
+
+test("Should not create subsequent scans for subdomains (AMASS subsequent scans disabled)", async () => {
+ const findings = [
+ {
+ name: "www.example.com",
+ description: "Found subdomain www.example.com",
+ category: "Subdomain",
+ location: "www.example.com",
+ osi_layer: "NETWORK",
+ severity: "INFORMATIONAL",
+ },
+ {
+ name: "example.example.com",
+ description: "Found subdomain example.example.com",
+ category: "Subdomain",
+ location: "example.example.com",
+ osi_layer: "NETWORK",
+ severity: "INFORMATIONAL",
+ },
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const getFindings = async () => findings;
+
+ const cascadeAmassNmap = false;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(12);
+});
+
+test("Should not create subsequent scans for empty findings even if activated", async () => {
+ const findings = [];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const getFindings = async () => findings;
+
+ const cascadeAmassNmap = true;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(12);
+});
+
+test("Should not create subsequent scans if no subsequent scan is activated", async () => {
+ const findings = [
+ {
+ name: "Port 445 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 445,
+ service: "microsoft-ds",
+ },
+ },
+ {
+ name: "Port 445 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 445,
+ service: "filtered",
+ },
+ },
+ {
+ name: "www.example.com",
+ description: "Found subdomain www.example.com",
+ category: "Subdomain",
+ location: "www.example.com",
+ osi_layer: "NETWORK",
+ severity: "INFORMATIONAL",
+ },
+ {
+ name: "example.example.com",
+ description: "Found subdomain example.example.com",
+ category: "Subdomain",
+ location: "example.example.com",
+ osi_layer: "NETWORK",
+ severity: "INFORMATIONAL",
+ },
+ {
+ name: "Port 22 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 22,
+ service: "ssh",
+ },
+ },
+ {
+ name: "Port 23454 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 23454,
+ service: "ssh",
+ },
+ },
+ {
+ name: "Port 80 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 80,
+ service: "http",
+ },
+ },
+ {
+ name: "Port 3000 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 3000,
+ service: "http",
+ },
+ },
+ {
+ name: "Port 443 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "foobar.com",
+ port: 443,
+ service: "https",
+ },
+ },
+ {
+ name: "Port 8443 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "example.com",
+ port: 8443,
+ service: "ssl",
+ },
+ },
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const cascadeAmassNmap = false;
+ const cascadeNmapSsl = false;
+ const cascadeNmapSsh = false;
+ const cascadeNmapNikto = false;
+ const cascadeNmapSmb = false;
+ const cascadeNmapZapBaseline = false;
+
+ const getFindings = async () => findings;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(12);
+});
+
+test("Should create subsequent scans for Service which are running in custom ports", async () => {
+ const findings = [
+ {
+ name: "Port 22000 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "ssh.example.com",
+ port: 22000,
+ service: "ssh",
+ },
+ },
+ {
+ name: "Port 8000 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "http.example.com",
+ port: 8000,
+ service: "http",
+ },
+ },
+ {
+ name: "Port 3000 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "https.example.com",
+ port: 3000,
+ service: "https",
+ },
+ },
+ {
+ name: "Port 8443 is open",
+ category: "Open Port",
+ attributes: {
+ state: "open",
+ hostname: "ssl.example.com",
+ port: 8443,
+ service: "ssl",
+ },
+ }
+ ];
+
+ const scan = {
+ metadata: {
+ labels: {
+ foo: "bar",
+ },
+ },
+ };
+
+ const cascadeAmassNmap = true;
+ const cascadeNmapSsl = true;
+ const cascadeNmapSsh = true;
+ const cascadeNmapNikto = true;
+ const cascadeNmapSmb = true;
+ const cascadeNmapZapBaseline = true;
+
+ const getFindings = async () => findings;
+
+ await handle({
+ getFindings,
+ scan,
+ cascadeAmassNmap,
+ cascadeNmapSsl,
+ cascadeNmapSsh,
+ cascadeNmapNikto,
+ cascadeNmapSmb,
+ cascadeNmapZapBaseline
+ });
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenCalledTimes(18);
+
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(13, {
+ name: "ssh-22000-ssh.example.com",
+ parameters: ["-t", "ssh.example.com", "-p", "22000"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "ssh-scan",
+ });
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(14, {
+ name: "nikto-8000-http.example.com",
+ parameters: ["-h", "http.example.com", "-p", "8000", "-Tuning", "1,2,3,5,7,b"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "nikto",
+ });
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(15, {
+ name: "sslyze-3000-https.example.com",
+ parameters: ["--regular", "https.example.com:3000"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "sslyze",
+ });
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(16, {
+ name: "zap-3000-https.example.com",
+ parameters: ["-t", "https://https.example.com:3000"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "zap-baseline",
+ });
+ expect(startSubsequentSecureCodeBoxScan).toHaveBeenNthCalledWith(17, {
+ name: "sslyze-8443-ssl.example.com",
+ parameters: ["--regular", "ssl.example.com:8443"],
+ parentScan: { metadata: { labels: { foo: "bar" } } },
+ scanType: "sslyze",
+ });
+});
\ No newline at end of file
diff --git a/hooks/imperative-subsequent-scans/package-lock.json b/hooks/imperative-subsequent-scans/package-lock.json
new file mode 100644
index 00000000..21a42e65
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/package-lock.json
@@ -0,0 +1,5184 @@
+{
+ "name": "imperative-subsequent-scans",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.9.6",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
+ "dev": true
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz",
+ "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz",
+ "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.5",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
+ "@cnakazawa/watch": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
+ "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
+ "dev": true,
+ "requires": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "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"
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "dev": true
+ },
+ "@jest/console": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
+ "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-message-util": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "@jest/core": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
+ "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/reporters": "^25.5.1",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^25.5.0",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-resolve-dependencies": "^25.5.4",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "jest-watcher": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "p-each-series": "^2.1.0",
+ "realpath-native": "^2.0.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "@jest/environment": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
+ "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
+ "dev": true,
+ "requires": {
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0"
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
+ "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "lolex": "^5.0.0"
+ }
+ },
+ "@jest/globals": {
+ "version": "25.5.2",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
+ "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "expect": "^25.5.0"
+ }
+ },
+ "@jest/reporters": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
+ "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
+ "dev": true,
+ "requires": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^25.5.1",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "node-notifier": "^6.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^3.1.0",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^4.1.3"
+ }
+ },
+ "@jest/source-map": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
+ "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ }
+ },
+ "@jest/test-result": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
+ "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/test-sequencer": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
+ "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4"
+ }
+ },
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^25.5.0",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^3.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-regex-util": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pirates": "^4.0.1",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@kubernetes/client-node": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.12.0.tgz",
+ "integrity": "sha512-u57q5IaZl91f7YZoZOsgCa31hHyowHxFG88XZXd8arI8heSxbdHWHineo/8mLZbeSbHkge9Awae1stQZzuTnjg==",
+ "requires": {
+ "@types/js-yaml": "^3.12.1",
+ "@types/node": "^10.12.0",
+ "@types/request": "^2.47.1",
+ "@types/underscore": "^1.8.9",
+ "@types/ws": "^6.0.1",
+ "byline": "^5.0.0",
+ "execa": "1.0.0",
+ "isomorphic-ws": "^4.0.1",
+ "js-yaml": "^3.13.1",
+ "jsonpath-plus": "^0.19.0",
+ "openid-client": "2.5.0",
+ "request": "^2.88.0",
+ "rfc4648": "^1.3.0",
+ "shelljs": "^0.8.2",
+ "tslib": "^1.9.3",
+ "underscore": "^1.9.1",
+ "ws": "^6.1.0"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "10.17.24",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.24.tgz",
+ "integrity": "sha512-5SCfvCxV74kzR3uWgTYiGxrd69TbT1I6+cMx1A5kEly/IVveJBimtAMlXiEyVFn5DvUFewQWxOOiJhlxeQwxgA=="
+ },
+ "ws": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+ "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ }
+ }
+ },
+ "@sindresorhus/is": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
+ "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow=="
+ },
+ "@sinonjs/commons": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.0.tgz",
+ "integrity": "sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==",
+ "dev": true,
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@types/babel__core": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz",
+ "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
+ "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__template": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
+ "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.11.tgz",
+ "integrity": "sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@types/caseless": {
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz",
+ "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w=="
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/graceful-fs": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
+ "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz",
+ "integrity": "sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w==",
+ "dev": true
+ },
+ "@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*",
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/js-yaml": {
+ "version": "3.12.4",
+ "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.4.tgz",
+ "integrity": "sha512-fYMgzN+9e28R81weVN49inn/u798ruU91En1ZnGvSZzCRc5jXx9B2EDhlRaWmcO1RIxFHL8AajRXzxDuJu93+A=="
+ },
+ "@types/node": {
+ "version": "14.0.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz",
+ "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA=="
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
+ "@types/prettier": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
+ "dev": true
+ },
+ "@types/request": {
+ "version": "2.48.5",
+ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.5.tgz",
+ "integrity": "sha512-/LO7xRVnL3DxJ1WkPGDQrp4VTV1reX9RkC85mJ+Qzykj2Bdw+mG15aAfDahc76HtknjzE16SX/Yddn6MxVbmGQ==",
+ "requires": {
+ "@types/caseless": "*",
+ "@types/node": "*",
+ "@types/tough-cookie": "*",
+ "form-data": "^2.5.0"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ }
+ }
+ },
+ "@types/stack-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
+ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
+ "dev": true
+ },
+ "@types/tough-cookie": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz",
+ "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A=="
+ },
+ "@types/underscore": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.10.0.tgz",
+ "integrity": "sha512-ZAbqul7QAKpM2h1PFGa5ETN27ulmqtj0QviYHasw9LffvXZvVHuraOx/FOsIPPDNGZN0Qo1nASxxSfMYOtSoCw=="
+ },
+ "@types/ws": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz",
+ "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "15.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
+ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
+ "dev": true
+ },
+ "abab": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
+ "dev": true
+ },
+ "acorn-globals": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^6.0.1",
+ "acorn-walk": "^6.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+ "dev": true
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
+ "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
+ "dev": true
+ },
+ "aggregate-error": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz",
+ "integrity": "sha1-iINE2tAiCnLjr1CQYRf0h3GSX6w=",
+ "requires": {
+ "clean-stack": "^1.0.0",
+ "indent-string": "^3.0.0"
+ }
+ },
+ "ajv": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "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,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "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
+ },
+ "async-limiter": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
+ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+ },
+ "aws4": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
+ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA=="
+ },
+ "babel-jest": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
+ "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
+ "dev": true,
+ "requires": {
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/babel__core": "^7.1.7",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
+ "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__traverse": "^7.0.6"
+ }
+ },
+ "babel-preset-current-node-syntax": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz",
+ "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
+ "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "^25.5.0",
+ "babel-preset-current-node-syntax": "^0.1.2"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
+ },
+ "base64url": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz",
+ "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A=="
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "requires": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "buffer": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
+ "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "byline": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
+ "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE="
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "cacheable-request": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
+ "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
+ "requires": {
+ "clone-response": "1.0.2",
+ "get-stream": "3.0.0",
+ "http-cache-semantics": "3.8.1",
+ "keyv": "3.0.0",
+ "lowercase-keys": "1.0.0",
+ "normalize-url": "2.0.1",
+ "responselike": "1.0.2"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ },
+ "lowercase-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
+ "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY="
+ }
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "capture-exit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+ "dev": true,
+ "requires": {
+ "rsvp": "^4.8.4"
+ }
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "clean-stack": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz",
+ "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE="
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "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
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "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
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "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,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "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="
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ }
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "data-urls": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "whatwg-mimetype": "^2.2.0",
+ "whatwg-url": "^7.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ },
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "dev": true
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true
+ },
+ "diff-sequences": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
+ "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
+ "dev": true
+ },
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "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
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
+ },
+ "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
+ },
+ "escodegen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
+ "dev": true,
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "exec-sh": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
+ "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "expect": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
+ "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-styles": "^4.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+ },
+ "fast-deep-equal": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
+ },
+ "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=="
+ },
+ "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
+ },
+ "fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "dev": true,
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "requires": {
+ "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"
+ }
+ },
+ "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
+ },
+ "got": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz",
+ "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
+ "requires": {
+ "@sindresorhus/is": "^0.7.0",
+ "cacheable-request": "^2.1.1",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^3.0.0",
+ "into-stream": "^3.1.0",
+ "is-retry-allowed": "^1.1.0",
+ "isurl": "^1.0.0-alpha5",
+ "lowercase-keys": "^1.0.0",
+ "mimic-response": "^1.0.0",
+ "p-cancelable": "^0.4.0",
+ "p-timeout": "^2.0.1",
+ "pify": "^3.0.0",
+ "safe-buffer": "^5.1.1",
+ "timed-out": "^4.0.1",
+ "url-parse-lax": "^3.0.0",
+ "url-to-options": "^1.0.1"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ }
+ }
+ },
+ "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
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true,
+ "optional": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "has-symbol-support-x": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
+ "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw=="
+ },
+ "has-to-string-tag-x": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
+ "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
+ "requires": {
+ "has-symbol-support-x": "^1.4.1"
+ }
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "^1.0.1"
+ }
+ },
+ "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
+ },
+ "http-cache-semantics": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
+ "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
+ },
+ "import-local": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
+ },
+ "into-stream": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
+ "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
+ "requires": {
+ "from2": "^2.1.1",
+ "p-is-promise": "^1.1.0"
+ }
+ },
+ "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
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "dev": true,
+ "optional": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "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
+ },
+ "is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
+ "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-retry-allowed": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
+ "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg=="
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "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
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isomorphic-ws": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz",
+ "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w=="
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "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,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "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,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ }
+ },
+ "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,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "isurl": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
+ "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
+ "requires": {
+ "has-to-string-tag-x": "^1.2.0",
+ "is-object": "^1.0.1"
+ }
+ },
+ "jest": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
+ "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "import-local": "^3.0.2",
+ "jest-cli": "^25.5.4"
+ },
+ "dependencies": {
+ "jest-cli": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
+ "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "is-ci": "^2.0.0",
+ "jest-config": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "prompts": "^2.0.1",
+ "realpath-native": "^2.0.0",
+ "yargs": "^15.3.1"
+ }
+ }
+ }
+ },
+ "jest-changed-files": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
+ "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "execa": "^3.2.0",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "execa": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
+ "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "jest-config": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
+ "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^25.5.4",
+ "@jest/types": "^25.5.0",
+ "babel-jest": "^25.5.1",
+ "chalk": "^3.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-environment-jsdom": "^25.5.0",
+ "jest-environment-node": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-jasmine2": "^25.5.4",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^25.5.0",
+ "realpath-native": "^2.0.0"
+ }
+ },
+ "jest-diff": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
+ "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "diff-sequences": "^25.2.6",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-docblock": {
+ "version": "25.3.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
+ "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
+ "dev": true,
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
+ "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
+ "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jsdom": "^15.2.1"
+ }
+ },
+ "jest-environment-node": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
+ "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-get-type": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
+ "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+ "dev": true
+ },
+ "jest-haste-map": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
+ "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-serializer": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "sane": "^4.0.3",
+ "walker": "^1.0.7",
+ "which": "^2.0.2"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
+ "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "co": "^4.6.0",
+ "expect": "^25.5.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^25.5.0",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-leak-detector": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
+ "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
+ "dev": true,
+ "requires": {
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
+ "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-message-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
+ "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/stack-utils": "^1.0.1",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^1.0.1"
+ }
+ },
+ "jest-mock": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
+ "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
+ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
+ "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
+ "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "browser-resolve": "^1.11.3",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.1",
+ "read-pkg-up": "^7.0.1",
+ "realpath-native": "^2.0.0",
+ "resolve": "^1.17.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
+ "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-snapshot": "^25.5.1"
+ }
+ },
+ "jest-runner": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
+ "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-docblock": "^25.3.0",
+ "jest-haste-map": "^25.5.1",
+ "jest-jasmine2": "^25.5.4",
+ "jest-leak-detector": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "jest-runtime": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "source-map-support": "^0.5.6",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-runtime": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
+ "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/globals": "^25.5.2",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^15.3.1"
+ }
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "jest-snapshot": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
+ "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/prettier": "^1.19.0",
+ "chalk": "^3.0.0",
+ "expect": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "make-dir": "^3.0.0",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
+ "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "leven": "^3.1.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-watcher": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
+ "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "jest-util": "^25.5.0",
+ "string-length": "^3.1.0"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "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
+ },
+ "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==",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+ },
+ "jsdom": {
+ "version": "15.2.1",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
+ "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "acorn": "^7.1.0",
+ "acorn-globals": "^4.3.2",
+ "array-equal": "^1.0.0",
+ "cssom": "^0.4.1",
+ "cssstyle": "^2.0.0",
+ "data-urls": "^1.1.0",
+ "domexception": "^1.0.1",
+ "escodegen": "^1.11.1",
+ "html-encoding-sniffer": "^1.0.2",
+ "nwsapi": "^2.2.0",
+ "parse5": "5.1.0",
+ "pn": "^1.1.0",
+ "request": "^2.88.0",
+ "request-promise-native": "^1.0.7",
+ "saxes": "^3.1.9",
+ "symbol-tree": "^3.2.2",
+ "tough-cookie": "^3.0.1",
+ "w3c-hr-time": "^1.0.1",
+ "w3c-xmlserializer": "^1.1.2",
+ "webidl-conversions": "^4.0.2",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^7.0.0",
+ "ws": "^7.0.0",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
+ },
+ "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
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+ },
+ "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=="
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+ },
+ "json5": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsonpath-plus": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz",
+ "integrity": "sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg=="
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "keyv": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz",
+ "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true
+ },
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ },
+ "lodash.set": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
+ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM="
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lolex": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
+ "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "long": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
+ },
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "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,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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=="
+ },
+ "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==",
+ "requires": {
+ "mime-db": "1.44.0"
+ }
+ },
+ "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
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "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
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+ },
+ "node-forge": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.5.tgz",
+ "integrity": "sha512-vFMQIWt+J/7FLNyKouZ9TazT74PRV3wgv9UT4cRjC8BffxFbKXkgIWR42URCPSnHm/QDz6BOlb2Q0U4+VQT67Q=="
+ },
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
+ },
+ "node-jose": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/node-jose/-/node-jose-1.1.4.tgz",
+ "integrity": "sha512-L31IFwL3pWWcMHxxidCY51ezqrDXMkvlT/5pLTfNw5sXmmOLJuN6ug7txzF/iuZN55cRpyOmoJrotwBQIoo5Lw==",
+ "requires": {
+ "base64url": "^3.0.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^5.5.0",
+ "es6-promise": "^4.2.8",
+ "lodash": "^4.17.15",
+ "long": "^4.0.0",
+ "node-forge": "^0.8.5",
+ "process": "^0.11.10",
+ "react-zlib-js": "^1.0.4",
+ "uuid": "^3.3.3"
+ }
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "dev": true
+ },
+ "node-notifier": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz",
+ "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^2.1.1",
+ "semver": "^6.3.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
+ "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
+ "requires": {
+ "prepend-http": "^2.0.0",
+ "query-string": "^5.0.1",
+ "sort-keys": "^2.0.0"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "nwsapi": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-hash": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
+ "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA=="
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "oidc-token-hash": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-3.0.2.tgz",
+ "integrity": "sha512-dTzp80/y/da+um+i+sOucNqiPpwRL7M/xPwj7pH1TFA2/bqQ+OK2sJahSXbemEoLtPkHcFLyhLhLWZa9yW5+RA=="
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "openid-client": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-2.5.0.tgz",
+ "integrity": "sha512-t3hFD7xEoW1U25RyBcRFaL19fGGs6hNVTysq9pgmiltH0IVUPzH/bQV9w24pM5Q7MunnGv2/5XjIru6BQcWdxg==",
+ "requires": {
+ "base64url": "^3.0.0",
+ "got": "^8.3.2",
+ "lodash": "^4.17.11",
+ "lru-cache": "^5.1.1",
+ "node-jose": "^1.1.0",
+ "object-hash": "^1.3.1",
+ "oidc-token-hash": "^3.0.1",
+ "p-any": "^1.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "p-any": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz",
+ "integrity": "sha512-Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==",
+ "requires": {
+ "p-some": "^2.0.0"
+ }
+ },
+ "p-cancelable": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
+ "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ=="
+ },
+ "p-each-series": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz",
+ "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ },
+ "p-is-promise": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
+ "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4="
+ },
+ "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,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-some": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-some/-/p-some-2.0.1.tgz",
+ "integrity": "sha1-Zdh8ixVO289SIdFnd4ttLhUPbwY=",
+ "requires": {
+ "aggregate-error": "^1.0.0"
+ }
+ },
+ "p-timeout": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
+ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
+ "requires": {
+ "p-finally": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "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
+ },
+ "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="
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ },
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "dev": true,
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "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
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
+ },
+ "pretty-format": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
+ "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ },
+ "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=="
+ },
+ "prompts": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
+ "dev": true,
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.4"
+ }
+ },
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ },
+ "query-string": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
+ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+ "requires": {
+ "decode-uri-component": "^0.2.0",
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "react-zlib-js": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/react-zlib-js/-/react-zlib-js-1.0.4.tgz",
+ "integrity": "sha512-ynXD9DFxpE7vtGoa3ZwBtPmZrkZYw2plzHGbanUjBOSN4RtuXdektSfABykHtTiWEHMh7WdYj45LHtp228ZF1A=="
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "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==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "realpath-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
+ "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
+ "dev": true
+ },
+ "rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "requires": {
+ "resolve": "^1.1.6"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+ "dev": true,
+ "requires": {
+ "request-promise-core": "1.1.3",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "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
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rfc4648": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.3.0.tgz",
+ "integrity": "sha512-x36K12jOflpm1V8QjPq3I+pt7Z1xzeZIjiC8J2Oxd7bE1efTrOG241DTYVJByP/SxR9jl1t7iZqYxDX864jgBQ=="
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rsvp": {
+ "version": "4.8.5",
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
+ "dev": true
+ },
+ "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=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sane": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
+ "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
+ "dev": true,
+ "requires": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^2.0.0",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.2",
+ "execa": "^1.0.0",
+ "fb-watchman": "^2.0.0",
+ "micromatch": "^3.1.4",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "saxes": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
+ "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+ "dev": true,
+ "requires": {
+ "xmlchars": "^2.1.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ },
+ "shelljs": {
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz",
+ "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==",
+ "requires": {
+ "glob": "^7.0.0",
+ "interpret": "^1.0.0",
+ "rechoir": "^0.6.2"
+ }
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
+ "sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "sort-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
+ "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "requires": {
+ "is-plain-obj": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "stack-utils": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
+ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+ "dev": true
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
+ },
+ "string-length": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz",
+ "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==",
+ "dev": true,
+ "requires": {
+ "astral-regex": "^1.0.0",
+ "strip-ansi": "^5.2.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "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",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz",
+ "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true
+ },
+ "terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "throat": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
+ "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
+ "dev": true
+ },
+ "timed-out": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "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
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "tough-cookie": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
+ "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
+ "dev": true,
+ "requires": {
+ "ip-regex": "^2.1.0",
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "tslib": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "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
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "underscore": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz",
+ "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg=="
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ }
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "requires": {
+ "prepend-http": "^2.0.0"
+ }
+ },
+ "url-to-options": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
+ "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k="
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
+ },
+ "v8-to-istanbul": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
+ "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dev": true,
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
+ "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
+ "dev": true,
+ "requires": {
+ "domexception": "^1.0.1",
+ "webidl-conversions": "^4.0.2",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "ws": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+ "dev": true
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ },
+ "yargs": {
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+ "dev": true,
+ "requires": {
+ "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.1"
+ }
+ },
+ "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,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+}
diff --git a/hooks/imperative-subsequent-scans/package.json b/hooks/imperative-subsequent-scans/package.json
new file mode 100644
index 00000000..ddcc03bb
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "imperative-subsequent-scans",
+ "version": "1.0.0",
+ "description": "",
+ "main": "hook.js",
+ "scripts": {
+ "test": "jest ."
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "@kubernetes/client-node": "^0.12.0",
+ "lodash.set": "^4.3.2"
+ },
+ "devDependencies": {
+ "jest": "^25.1.0"
+ }
+}
diff --git a/hooks/imperative-subsequent-scans/scan-helpers.js b/hooks/imperative-subsequent-scans/scan-helpers.js
new file mode 100644
index 00000000..4326aca6
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/scan-helpers.js
@@ -0,0 +1,66 @@
+const k8s = require("@kubernetes/client-node");
+
+// configure k8s client
+const kc = new k8s.KubeConfig();
+kc.loadFromDefault();
+
+const k8sApiCRD = kc.makeApiClient(k8s.CustomObjectsApi);
+
+async function startSubsequentSecureCodeBoxScan({
+ parentScan,
+ name,
+ scanType,
+ parameters,
+}) {
+ const scanDefinition = {
+ apiVersion: "execution.experimental.securecodebox.io/v1",
+ kind: "Scan",
+ metadata: {
+ name: name,
+ labels: {
+ ...parentScan.metadata.labels,
+ },
+ annotations: {
+ "securecodebox.io/hook": "imperative-subsequent-scans",
+ "securecodebox.io/parent-scan": parentScan.metadata.name,
+ },
+ ownerReferences: [
+ {
+ apiVersion: "execution.experimental.securecodebox.io/v1",
+ blockOwnerDeletion: true,
+ controller: true,
+ kind: "Scan",
+ name: parentScan.metadata.name,
+ uid: parentScan.metadata.uid,
+ },
+ ],
+ },
+ spec: {
+ scanType,
+ parameters,
+ },
+ };
+
+ // Changing label 'scan-type' (if defined by parent scan) to to the given scanType for the subsequent scan
+ if( scanDefinition.metadata.labels && scanDefinition.metadata.labels['scan-type'] ) {
+ scanDefinition.metadata.labels['scan-type'] = scanType;
+ }
+
+ try {
+ // Starting another subsequent sslyze scan based on the nmap results
+ // found at: https://github.com/kubernetes-client/javascript/blob/79736b9a608c18d818de61a6b44503a08ea3a78f/src/gen/api/customObjectsApi.ts#L209
+ await k8sApiCRD.createNamespacedCustomObject(
+ "execution.experimental.securecodebox.io",
+ "v1",
+ process.env["NAMESPACE"],
+ "scans",
+ scanDefinition,
+ "false"
+ );
+ } catch (error) {
+ console.error(`Failed to start Scan ${name}`);
+ console.error(error);
+ }
+}
+
+module.exports.startSubsequentSecureCodeBoxScan = startSubsequentSecureCodeBoxScan;
diff --git a/hooks/imperative-subsequent-scans/templates/NOTES.txt b/hooks/imperative-subsequent-scans/templates/NOTES.txt
new file mode 100644
index 00000000..5c320679
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/templates/NOTES.txt
@@ -0,0 +1,2 @@
+imperative-subsequent-scans Hook deployed.
+This will start possible subsequent security scans based on nmap findings (e.g. open ports found by NMAP or subdomains found by AMASS).
\ No newline at end of file
diff --git a/hooks/imperative-subsequent-scans/templates/_helpers.tpl b/hooks/imperative-subsequent-scans/templates/_helpers.tpl
new file mode 100644
index 00000000..f428bdf3
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/templates/_helpers.tpl
@@ -0,0 +1,52 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "imperative-subsequent-scans.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "imperative-subsequent-scans.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "imperative-subsequent-scans.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "imperative-subsequent-scans.labels" -}}
+helm.sh/chart: {{ include "imperative-subsequent-scans.chart" . }}
+{{ include "imperative-subsequent-scans.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{/*
+Selector labels
+*/}}
+{{- define "imperative-subsequent-scans.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "imperative-subsequent-scans.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end -}}
diff --git a/hooks/imperative-subsequent-scans/templates/imperative-subsequent-scans-hook.yaml b/hooks/imperative-subsequent-scans/templates/imperative-subsequent-scans-hook.yaml
new file mode 100644
index 00000000..8f6e9467
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/templates/imperative-subsequent-scans-hook.yaml
@@ -0,0 +1,32 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: ScanCompletionHook
+metadata:
+ name: {{ .Release.Name }}
+spec:
+ type: ReadOnly
+ {{- if .Values.image.registry }}
+ {{- if .Values.image.digest }}
+ image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}@{{ .Values.image.digest }}"
+ {{- else }}
+ image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ {{- end }}
+ {{- else }}
+ {{- if .Values.image.digest }}
+ image: "{{ .Values.image.repository }}@{{ .Values.image.digest }}"
+ {{- else }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ {{- end }}
+ {{- end }}
+ env:
+ - name: CASCADE_AMASS_NMAP
+ value: {{ .Values.cascade.amassNmap | quote }}
+ - name: CASCADE_NMAP_SMB
+ value: {{ .Values.cascade.nmapSmb | quote }}
+ - name: CASCADE_NMAP_SSH
+ value: {{ .Values.cascade.nmapSsh | quote }}
+ - name: CASCADE_NMAP_SSL
+ value: {{ .Values.cascade.nmapSsl | quote }}
+ - name: CASCADE_NMAP_NIKTO
+ value: {{ .Values.cascade.nmapNikto | quote }}
+ - name: CASCADE_NMAP_ZAP_BASELINE
+ value: {{ .Values.cascade.nmapZapBaseline | quote }}
\ No newline at end of file
diff --git a/hooks/imperative-subsequent-scans/values.yaml b/hooks/imperative-subsequent-scans/values.yaml
new file mode 100644
index 00000000..2602e491
--- /dev/null
+++ b/hooks/imperative-subsequent-scans/values.yaml
@@ -0,0 +1,23 @@
+# Default values for imperative-subsequent-scans Hook.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+cascade:
+ # Cascade nmap scans for each subdomain found by amass
+ amassNmap: true
+ # Cascade nmap SMB scans for each SMB Port found by nmap
+ nmapSmb: true
+ # Cascade SSH scans for each SSH Port found by nmap
+ nmapSsh: true
+ # Cascade SSL scans for each HTTP Port found by nmap
+ nmapSsl: true
+ # Cascade Nikto scans for each HTTP Port found by nmap
+ nmapNikto: true
+ # Cascade ZAP scans for each HTTP Port found by nmap
+ nmapZapBaseline: true
+
+image:
+ registry: docker.io
+ repository: scbexperimental/hook-imperative-subsequent-scans
+ tag: latest
+ digest: null
diff --git a/hooks/package-lock.json b/hooks/package-lock.json
new file mode 100644
index 00000000..2b68097b
--- /dev/null
+++ b/hooks/package-lock.json
@@ -0,0 +1,4674 @@
+{
+ "name": "securecodebox-hooks",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.9.6",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
+ "dev": true
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz",
+ "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz",
+ "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.5",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
+ "@cnakazawa/watch": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
+ "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
+ "dev": true,
+ "requires": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "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"
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "dev": true
+ },
+ "@jest/console": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
+ "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-message-util": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "@jest/core": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
+ "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/reporters": "^25.5.1",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^25.5.0",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-resolve-dependencies": "^25.5.4",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "jest-watcher": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "p-each-series": "^2.1.0",
+ "realpath-native": "^2.0.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "@jest/environment": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
+ "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
+ "dev": true,
+ "requires": {
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0"
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
+ "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "lolex": "^5.0.0"
+ }
+ },
+ "@jest/globals": {
+ "version": "25.5.2",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
+ "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "expect": "^25.5.0"
+ }
+ },
+ "@jest/reporters": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
+ "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
+ "dev": true,
+ "requires": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^25.5.1",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "node-notifier": "^6.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^3.1.0",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^4.1.3"
+ }
+ },
+ "@jest/source-map": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
+ "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ }
+ },
+ "@jest/test-result": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
+ "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/test-sequencer": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
+ "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4"
+ }
+ },
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^25.5.0",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^3.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-regex-util": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pirates": "^4.0.1",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@sinonjs/commons": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.0.tgz",
+ "integrity": "sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==",
+ "dev": true,
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@types/babel__core": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz",
+ "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
+ "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__template": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
+ "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.11.tgz",
+ "integrity": "sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/graceful-fs": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
+ "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz",
+ "integrity": "sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w==",
+ "dev": true
+ },
+ "@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*",
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/node": {
+ "version": "14.0.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz",
+ "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==",
+ "dev": true
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
+ "@types/prettier": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
+ "dev": true
+ },
+ "@types/stack-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
+ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
+ "dev": true
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "15.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
+ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
+ "dev": true
+ },
+ "abab": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
+ "dev": true
+ },
+ "acorn-globals": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^6.0.1",
+ "acorn-walk": "^6.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+ "dev": true
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
+ "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "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,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "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
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
+ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
+ "dev": true
+ },
+ "babel-jest": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
+ "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
+ "dev": true,
+ "requires": {
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/babel__core": "^7.1.7",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
+ "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__traverse": "^7.0.6"
+ }
+ },
+ "babel-preset-current-node-syntax": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz",
+ "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
+ "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "^25.5.0",
+ "babel-preset-current-node-syntax": "^0.1.2"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "requires": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "capture-exit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+ "dev": true,
+ "requires": {
+ "rsvp": "^4.8.4"
+ }
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "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
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ }
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "data-urls": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "whatwg-mimetype": "^2.2.0",
+ "whatwg-url": "^7.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "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
+ },
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "dev": true
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true
+ },
+ "diff-sequences": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
+ "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
+ "dev": true
+ },
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "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
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "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
+ },
+ "escodegen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
+ "dev": true,
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "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
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "exec-sh": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
+ "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "expect": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
+ "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-styles": "^4.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "dev": true,
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true,
+ "optional": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "^1.0.1"
+ }
+ },
+ "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
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "import-local": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "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
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "dev": true,
+ "optional": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "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
+ },
+ "is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "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
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "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,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "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,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ }
+ },
+ "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,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "jest": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
+ "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "import-local": "^3.0.2",
+ "jest-cli": "^25.5.4"
+ },
+ "dependencies": {
+ "jest-cli": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
+ "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "is-ci": "^2.0.0",
+ "jest-config": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "prompts": "^2.0.1",
+ "realpath-native": "^2.0.0",
+ "yargs": "^15.3.1"
+ }
+ }
+ }
+ },
+ "jest-changed-files": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
+ "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "execa": "^3.2.0",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "execa": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
+ "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "jest-config": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
+ "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^25.5.4",
+ "@jest/types": "^25.5.0",
+ "babel-jest": "^25.5.1",
+ "chalk": "^3.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-environment-jsdom": "^25.5.0",
+ "jest-environment-node": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-jasmine2": "^25.5.4",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^25.5.0",
+ "realpath-native": "^2.0.0"
+ }
+ },
+ "jest-diff": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
+ "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "diff-sequences": "^25.2.6",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-docblock": {
+ "version": "25.3.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
+ "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
+ "dev": true,
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
+ "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
+ "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jsdom": "^15.2.1"
+ }
+ },
+ "jest-environment-node": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
+ "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-get-type": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
+ "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+ "dev": true
+ },
+ "jest-haste-map": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
+ "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-serializer": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "sane": "^4.0.3",
+ "walker": "^1.0.7",
+ "which": "^2.0.2"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
+ "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "co": "^4.6.0",
+ "expect": "^25.5.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^25.5.0",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-leak-detector": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
+ "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
+ "dev": true,
+ "requires": {
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
+ "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-message-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
+ "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/stack-utils": "^1.0.1",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^1.0.1"
+ }
+ },
+ "jest-mock": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
+ "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
+ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
+ "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
+ "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "browser-resolve": "^1.11.3",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.1",
+ "read-pkg-up": "^7.0.1",
+ "realpath-native": "^2.0.0",
+ "resolve": "^1.17.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
+ "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-snapshot": "^25.5.1"
+ }
+ },
+ "jest-runner": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
+ "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-docblock": "^25.3.0",
+ "jest-haste-map": "^25.5.1",
+ "jest-jasmine2": "^25.5.4",
+ "jest-leak-detector": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "jest-runtime": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "source-map-support": "^0.5.6",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-runtime": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
+ "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/globals": "^25.5.2",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^15.3.1"
+ }
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "jest-snapshot": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
+ "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/prettier": "^1.19.0",
+ "chalk": "^3.0.0",
+ "expect": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "make-dir": "^3.0.0",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
+ "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "leven": "^3.1.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-watcher": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
+ "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "jest-util": "^25.5.0",
+ "string-length": "^3.1.0"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
+ "jsdom": {
+ "version": "15.2.1",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
+ "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "acorn": "^7.1.0",
+ "acorn-globals": "^4.3.2",
+ "array-equal": "^1.0.0",
+ "cssom": "^0.4.1",
+ "cssstyle": "^2.0.0",
+ "data-urls": "^1.1.0",
+ "domexception": "^1.0.1",
+ "escodegen": "^1.11.1",
+ "html-encoding-sniffer": "^1.0.2",
+ "nwsapi": "^2.2.0",
+ "parse5": "5.1.0",
+ "pn": "^1.1.0",
+ "request": "^2.88.0",
+ "request-promise-native": "^1.0.7",
+ "saxes": "^3.1.9",
+ "symbol-tree": "^3.2.2",
+ "tough-cookie": "^3.0.1",
+ "w3c-hr-time": "^1.0.1",
+ "w3c-xmlserializer": "^1.1.2",
+ "webidl-conversions": "^4.0.2",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^7.0.0",
+ "ws": "^7.0.0",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "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
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "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
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true
+ },
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lolex": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
+ "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "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,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.44.0"
+ }
+ },
+ "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
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "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
+ },
+ "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-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "dev": true
+ },
+ "node-notifier": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz",
+ "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^2.1.1",
+ "semver": "^6.3.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "nwsapi": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "p-each-series": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz",
+ "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "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
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "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
+ },
+ "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=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "dev": true,
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "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
+ },
+ "pretty-format": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
+ "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "prompts": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
+ "dev": true,
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.4"
+ }
+ },
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "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
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "realpath-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
+ "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
+ "dev": true
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+ "dev": true,
+ "requires": {
+ "request-promise-core": "1.1.3",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "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
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rsvp": {
+ "version": "4.8.5",
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
+ "dev": true
+ },
+ "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==",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sane": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
+ "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
+ "dev": true,
+ "requires": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^2.0.0",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.2",
+ "execa": "^1.0.0",
+ "fb-watchman": "^2.0.0",
+ "micromatch": "^3.1.4",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "saxes": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
+ "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+ "dev": true,
+ "requires": {
+ "xmlchars": "^2.1.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "stack-utils": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
+ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+ "dev": true
+ },
+ "string-length": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz",
+ "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==",
+ "dev": true,
+ "requires": {
+ "astral-regex": "^1.0.0",
+ "strip-ansi": "^5.2.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz",
+ "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true
+ },
+ "terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "throat": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
+ "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
+ "dev": true
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "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
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "tough-cookie": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
+ "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
+ "dev": true,
+ "requires": {
+ "ip-regex": "^2.1.0",
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "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
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ }
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "dev": true
+ },
+ "v8-to-istanbul": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
+ "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dev": true,
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
+ "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
+ "dev": true,
+ "requires": {
+ "domexception": "^1.0.1",
+ "webidl-conversions": "^4.0.2",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "ws": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+ "dev": true
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+ "dev": true,
+ "requires": {
+ "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.1"
+ }
+ },
+ "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,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+}
diff --git a/integrations/package.json b/hooks/package.json
similarity index 84%
rename from integrations/package.json
rename to hooks/package.json
index 10344210..cb681ce8 100644
--- a/integrations/package.json
+++ b/hooks/package.json
@@ -1,5 +1,5 @@
{
- "name": "securecodebox-scanner-integrations",
+ "name": "securecodebox-hooks",
"version": "1.0.0",
"description": "",
"main": "index.js",
diff --git a/persistence/persistence-elastic/.dockerignore b/hooks/persistence-elastic/.dockerignore
similarity index 100%
rename from persistence/persistence-elastic/.dockerignore
rename to hooks/persistence-elastic/.dockerignore
diff --git a/hooks/persistence-elastic/.gitignore b/hooks/persistence-elastic/.gitignore
new file mode 100644
index 00000000..b512c09d
--- /dev/null
+++ b/hooks/persistence-elastic/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/hooks/persistence-elastic/.helmignore b/hooks/persistence-elastic/.helmignore
new file mode 100644
index 00000000..676a3554
--- /dev/null
+++ b/hooks/persistence-elastic/.helmignore
@@ -0,0 +1,30 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+# Node.js files
+node_modules/*
+package.json
+package-lock.json
+src/*
+config/*
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/persistence/persistence-elastic/Chart.lock b/hooks/persistence-elastic/Chart.lock
similarity index 100%
rename from persistence/persistence-elastic/Chart.lock
rename to hooks/persistence-elastic/Chart.lock
diff --git a/persistence/persistence-elastic/Chart.yaml b/hooks/persistence-elastic/Chart.yaml
similarity index 100%
rename from persistence/persistence-elastic/Chart.yaml
rename to hooks/persistence-elastic/Chart.yaml
diff --git a/hooks/persistence-elastic/Dockerfile b/hooks/persistence-elastic/Dockerfile
new file mode 100644
index 00000000..11db260e
--- /dev/null
+++ b/hooks/persistence-elastic/Dockerfile
@@ -0,0 +1,10 @@
+FROM node:12-alpine as build
+RUN mkdir -p /home/app
+WORKDIR /home/app
+COPY package.json package-lock.json ./
+RUN npm ci --production
+
+FROM scbexperimental/hook-sdk-nodejs:latest
+WORKDIR /home/app/hook-wrapper/hook/
+COPY --from=build --chown=app:app /home/app/node_modules/ ./node_modules/
+COPY --chown=app:app ./hook.js ./hook.js
diff --git a/persistence/persistence-elastic/__mocks__/@elastic/elasticsearch.js b/hooks/persistence-elastic/__mocks__/@elastic/elasticsearch.js
similarity index 100%
rename from persistence/persistence-elastic/__mocks__/@elastic/elasticsearch.js
rename to hooks/persistence-elastic/__mocks__/@elastic/elasticsearch.js
diff --git a/persistence/persistence-elastic/charts/elasticsearch-7.6.1.tgz b/hooks/persistence-elastic/charts/elasticsearch-7.6.1.tgz
similarity index 100%
rename from persistence/persistence-elastic/charts/elasticsearch-7.6.1.tgz
rename to hooks/persistence-elastic/charts/elasticsearch-7.6.1.tgz
diff --git a/persistence/persistence-elastic/charts/kibana-7.6.1.tgz b/hooks/persistence-elastic/charts/kibana-7.6.1.tgz
similarity index 100%
rename from persistence/persistence-elastic/charts/kibana-7.6.1.tgz
rename to hooks/persistence-elastic/charts/kibana-7.6.1.tgz
diff --git a/persistence/persistence-elastic/dashboardImporter/Dockerfile b/hooks/persistence-elastic/dashboardImporter/Dockerfile
similarity index 100%
rename from persistence/persistence-elastic/dashboardImporter/Dockerfile
rename to hooks/persistence-elastic/dashboardImporter/Dockerfile
diff --git a/persistence/persistence-elastic/dashboardImporter/dashboards/daily-summary.json b/hooks/persistence-elastic/dashboardImporter/dashboards/daily-summary.json
similarity index 100%
rename from persistence/persistence-elastic/dashboardImporter/dashboards/daily-summary.json
rename to hooks/persistence-elastic/dashboardImporter/dashboards/daily-summary.json
diff --git a/persistence/persistence-elastic/dashboardImporter/export-dashboards.sh b/hooks/persistence-elastic/dashboardImporter/export-dashboards.sh
similarity index 100%
rename from persistence/persistence-elastic/dashboardImporter/export-dashboards.sh
rename to hooks/persistence-elastic/dashboardImporter/export-dashboards.sh
diff --git a/persistence/persistence-elastic/dashboardImporter/import-dashboards.sh b/hooks/persistence-elastic/dashboardImporter/import-dashboards.sh
similarity index 100%
rename from persistence/persistence-elastic/dashboardImporter/import-dashboards.sh
rename to hooks/persistence-elastic/dashboardImporter/import-dashboards.sh
diff --git a/persistence/persistence-elastic/dashboardImporter/readme.md b/hooks/persistence-elastic/dashboardImporter/readme.md
similarity index 100%
rename from persistence/persistence-elastic/dashboardImporter/readme.md
rename to hooks/persistence-elastic/dashboardImporter/readme.md
diff --git a/persistence/persistence-elastic/persist.js b/hooks/persistence-elastic/hook.js
similarity index 97%
rename from persistence/persistence-elastic/persist.js
rename to hooks/persistence-elastic/hook.js
index a19dc6d0..00f7172a 100644
--- a/persistence/persistence-elastic/persist.js
+++ b/hooks/persistence-elastic/hook.js
@@ -33,7 +33,7 @@ const client = new Client({
...authParams,
});
-async function persist({
+async function handle({
getFindings,
scan,
now = new Date(),
@@ -105,4 +105,4 @@ async function persist({
}
}
module.exports.elasticClient = client;
-module.exports.persist = persist;
+module.exports.handle = handle;
diff --git a/hooks/persistence-elastic/hook.test.js b/hooks/persistence-elastic/hook.test.js
new file mode 100644
index 00000000..1a73fbb1
--- /dev/null
+++ b/hooks/persistence-elastic/hook.test.js
@@ -0,0 +1,118 @@
+const { handle, elasticClient } = require("./hook");
+
+beforeEach(() => {
+ elasticClient.index.mockClear();
+ elasticClient.bulk.mockClear();
+});
+
+test("should only send scan summary document if no findings are passing in", async () => {
+ const findings = [];
+
+ const getFindings = async () => findings;
+
+ const scan = {
+ metadata: {
+ uid: "09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc",
+ name: "demo-scan",
+ labels: {
+ company: "iteratec",
+ },
+ },
+ spec: {
+ scanType: "Nmap",
+ parameters: ["-Pn", "localhost"],
+ },
+ };
+
+ const now = new Date();
+
+ await handle({ getFindings, scan, now, tenant: "default" });
+
+ expect(elasticClient.index).toBeCalledTimes(1);
+ expect(elasticClient.index).toBeCalledWith({
+ body: {
+ "@timestamp": now,
+ id: "09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc",
+ labels: {
+ company: "iteratec",
+ },
+ name: "demo-scan",
+ parameters: ["-Pn", "localhost"],
+ scan_type: "Nmap",
+ type: "scan",
+ },
+ index: `scbv2_default_${now.toISOString().substr(0, 10)}`,
+ });
+ expect(elasticClient.bulk).not.toBeCalled();
+});
+
+test("should send findings to elasticsearch", async () => {
+ const findings = [
+ {
+ id: "4560b3e6-1219-4f5f-9b44-6579f5a32407",
+ name: "Port 5601 is open",
+ category: "Open Port",
+ },
+ ];
+
+ const getFindings = async () => findings;
+
+ const scan = {
+ metadata: {
+ uid: "09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc",
+ name: "demo-scan",
+ labels: {
+ company: "iteratec",
+ },
+ },
+ spec: {
+ scanType: "Nmap",
+ parameters: ["-Pn", "localhost"],
+ },
+ };
+
+ const now = new Date();
+
+ await handle({ getFindings, scan, now, tenant: "default" });
+
+ expect(elasticClient.index).toBeCalledTimes(1);
+ expect(elasticClient.index).toBeCalledWith({
+ body: {
+ "@timestamp": now,
+ id: "09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc",
+ labels: {
+ company: "iteratec",
+ },
+ name: "demo-scan",
+ parameters: ["-Pn", "localhost"],
+ scan_type: "Nmap",
+ type: "scan",
+ },
+ index: `scbv2_default_${now.toISOString().substr(0, 10)}`,
+ });
+
+ expect(elasticClient.bulk).toBeCalledTimes(1);
+ expect(elasticClient.bulk).toBeCalledWith({
+ refresh: true,
+ body: [
+ {
+ index: {
+ _index: `scbv2_default_${now.toISOString().substr(0, 10)}`,
+ },
+ },
+ {
+ "@timestamp": now,
+ category: "Open Port",
+ id: "4560b3e6-1219-4f5f-9b44-6579f5a32407",
+ name: "Port 5601 is open",
+ scan_id: "09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc",
+ scan_labels: {
+ company: "iteratec",
+ },
+ scan_name: "demo-scan",
+ scan_type: "Nmap",
+ type: "finding",
+ },
+ ],
+ });
+});
diff --git a/persistence/persistence-elastic/package-lock.json b/hooks/persistence-elastic/package-lock.json
similarity index 100%
rename from persistence/persistence-elastic/package-lock.json
rename to hooks/persistence-elastic/package-lock.json
diff --git a/persistence/persistence-elastic/package.json b/hooks/persistence-elastic/package.json
similarity index 100%
rename from persistence/persistence-elastic/package.json
rename to hooks/persistence-elastic/package.json
diff --git a/persistence/persistence-elastic/templates/NOTES.txt b/hooks/persistence-elastic/templates/NOTES.txt
similarity index 100%
rename from persistence/persistence-elastic/templates/NOTES.txt
rename to hooks/persistence-elastic/templates/NOTES.txt
diff --git a/persistence/persistence-elastic/templates/_helpers.tpl b/hooks/persistence-elastic/templates/_helpers.tpl
similarity index 100%
rename from persistence/persistence-elastic/templates/_helpers.tpl
rename to hooks/persistence-elastic/templates/_helpers.tpl
diff --git a/persistence/persistence-elastic/templates/import-dashboard.yaml b/hooks/persistence-elastic/templates/import-dashboard.yaml
similarity index 100%
rename from persistence/persistence-elastic/templates/import-dashboard.yaml
rename to hooks/persistence-elastic/templates/import-dashboard.yaml
diff --git a/persistence/persistence-elastic/templates/persistence-provider.yaml b/hooks/persistence-elastic/templates/persistence-provider.yaml
similarity index 94%
rename from persistence/persistence-elastic/templates/persistence-provider.yaml
rename to hooks/persistence-elastic/templates/persistence-provider.yaml
index 5989011a..330198d3 100644
--- a/persistence/persistence-elastic/templates/persistence-provider.yaml
+++ b/hooks/persistence-elastic/templates/persistence-provider.yaml
@@ -1,10 +1,11 @@
apiVersion: "execution.experimental.securecodebox.io/v1"
-kind: PersistenceProvider
+kind: ScanCompletionHook
metadata:
- name: {{ include "persistence-elastic.fullname" . }}
+ name: {{ .Release.Name }}
labels:
type: Structured
spec:
+ type: ReadOnly
image: "scbexperimental/persistence-elastic:latest"
{{- if .Values.image.digest }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}@{{ .Values.image.digest }}"
diff --git a/persistence/persistence-elastic/values.yaml b/hooks/persistence-elastic/values.yaml
similarity index 93%
rename from persistence/persistence-elastic/values.yaml
rename to hooks/persistence-elastic/values.yaml
index 20ecb6d8..0eb33a06 100644
--- a/persistence/persistence-elastic/values.yaml
+++ b/hooks/persistence-elastic/values.yaml
@@ -5,8 +5,8 @@
image:
registry: docker.io
repository: scbexperimental/persistence-elastic
- tag: null
- digest: sha256:25e860d051de0fb7ecb74508d749909d9ec8b5d49cb10466509777bc98e3ec7a
+ tag: hooks
+ digest: null
indexPrefix: "scbv2"
diff --git a/persistence-sdk/nodejs/.gitignore b/hooks/update-field/.dockerignore
similarity index 100%
rename from persistence-sdk/nodejs/.gitignore
rename to hooks/update-field/.dockerignore
diff --git a/hooks/update-field/.gitignore b/hooks/update-field/.gitignore
new file mode 100644
index 00000000..b512c09d
--- /dev/null
+++ b/hooks/update-field/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/hooks/update-field/.helmignore b/hooks/update-field/.helmignore
new file mode 100644
index 00000000..676a3554
--- /dev/null
+++ b/hooks/update-field/.helmignore
@@ -0,0 +1,30 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+# Node.js files
+node_modules/*
+package.json
+package-lock.json
+src/*
+config/*
+Dockerfile
+.dockerignore
\ No newline at end of file
diff --git a/hooks/update-field/Chart.lock b/hooks/update-field/Chart.lock
new file mode 100644
index 00000000..eb7f3a24
--- /dev/null
+++ b/hooks/update-field/Chart.lock
@@ -0,0 +1,3 @@
+dependencies: []
+digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726
+generated: "2020-05-26T16:56:03.119255+02:00"
diff --git a/hooks/update-field/Chart.yaml b/hooks/update-field/Chart.yaml
new file mode 100644
index 00000000..462870b1
--- /dev/null
+++ b/hooks/update-field/Chart.yaml
@@ -0,0 +1,11 @@
+apiVersion: v2
+name: update-field-hook
+description: Lets you add or override a field to every finding
+
+type: application
+
+version: 0.1.0
+
+appVersion: latest
+
+dependencies: []
diff --git a/hooks/update-field/Dockerfile b/hooks/update-field/Dockerfile
new file mode 100644
index 00000000..11db260e
--- /dev/null
+++ b/hooks/update-field/Dockerfile
@@ -0,0 +1,10 @@
+FROM node:12-alpine as build
+RUN mkdir -p /home/app
+WORKDIR /home/app
+COPY package.json package-lock.json ./
+RUN npm ci --production
+
+FROM scbexperimental/hook-sdk-nodejs:latest
+WORKDIR /home/app/hook-wrapper/hook/
+COPY --from=build --chown=app:app /home/app/node_modules/ ./node_modules/
+COPY --chown=app:app ./hook.js ./hook.js
diff --git a/hooks/update-field/hook.js b/hooks/update-field/hook.js
new file mode 100644
index 00000000..5d6335a9
--- /dev/null
+++ b/hooks/update-field/hook.js
@@ -0,0 +1,20 @@
+const set = require("lodash.set");
+
+async function handle({
+ getFindings,
+ updateFindings,
+ attributeName = process.env["ATTRIBUTE_NAME"],
+ attributeValue = process.env["ATTRIBUTE_VALUE"],
+}) {
+ const findings = await getFindings();
+
+ const newFindings = findings.map((finding) => {
+ set(finding, attributeName, attributeValue);
+ return finding;
+ });
+
+ console.log(`Updated attributes on ${findings.length} findings`);
+
+ await updateFindings(newFindings);
+}
+module.exports.handle = handle;
diff --git a/hooks/update-field/hook.test.js b/hooks/update-field/hook.test.js
new file mode 100644
index 00000000..87288c95
--- /dev/null
+++ b/hooks/update-field/hook.test.js
@@ -0,0 +1,33 @@
+const { handle } = require("./hook");
+
+test("should send a post request to the url when fired", async () => {
+ const findings = [
+ {
+ name: "Open Port",
+ attributes: {
+ hostname: "foobar.com",
+ },
+ },
+ ];
+
+ const getFindings = async () => findings;
+
+ const updateFindings = jest.fn();
+
+ await handle({
+ getFindings,
+ updateFindings,
+ attributeName: "attributes.cluster",
+ attributeValue: "gke-internal",
+ });
+
+ expect(updateFindings).toBeCalledWith([
+ {
+ name: "Open Port",
+ attributes: {
+ hostname: "foobar.com",
+ cluster: "gke-internal",
+ },
+ },
+ ]);
+});
diff --git a/hooks/update-field/package-lock.json b/hooks/update-field/package-lock.json
new file mode 100644
index 00000000..70c45a7e
--- /dev/null
+++ b/hooks/update-field/package-lock.json
@@ -0,0 +1,4679 @@
+{
+ "name": "scb-update-field",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/core": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.13",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.9.6",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.13",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
+ "dev": true
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz",
+ "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz",
+ "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/template": {
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/types": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.9.5",
+ "lodash": "^4.17.13",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
+ "@cnakazawa/watch": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
+ "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
+ "dev": true,
+ "requires": {
+ "exec-sh": "^0.3.2",
+ "minimist": "^1.2.0"
+ }
+ },
+ "@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,
+ "requires": {
+ "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"
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+ "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+ "dev": true
+ },
+ "@jest/console": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
+ "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-message-util": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "@jest/core": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
+ "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/reporters": "^25.5.1",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^25.5.0",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-resolve-dependencies": "^25.5.4",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "jest-watcher": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "p-each-series": "^2.1.0",
+ "realpath-native": "^2.0.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "@jest/environment": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
+ "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
+ "dev": true,
+ "requires": {
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0"
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
+ "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "lolex": "^5.0.0"
+ }
+ },
+ "@jest/globals": {
+ "version": "25.5.2",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
+ "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "expect": "^25.5.0"
+ }
+ },
+ "@jest/reporters": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
+ "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
+ "dev": true,
+ "requires": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^25.5.1",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "node-notifier": "^6.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^3.1.0",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^4.1.3"
+ }
+ },
+ "@jest/source-map": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
+ "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ }
+ },
+ "@jest/test-result": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
+ "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/test-sequencer": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
+ "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4"
+ }
+ },
+ "@jest/transform": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^25.5.0",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^3.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-regex-util": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pirates": "^4.0.1",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0"
+ }
+ },
+ "@sinonjs/commons": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.0.tgz",
+ "integrity": "sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==",
+ "dev": true,
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@types/babel__core": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz",
+ "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
+ "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__template": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
+ "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.11.tgz",
+ "integrity": "sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/graceful-fs": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
+ "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz",
+ "integrity": "sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w==",
+ "dev": true
+ },
+ "@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "*",
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/node": {
+ "version": "14.0.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz",
+ "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==",
+ "dev": true
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
+ "@types/prettier": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
+ "dev": true
+ },
+ "@types/stack-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
+ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
+ "dev": true
+ },
+ "@types/yargs": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
+ "dev": true,
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "15.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
+ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
+ "dev": true
+ },
+ "abab": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
+ "dev": true
+ },
+ "acorn-globals": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^6.0.1",
+ "acorn-walk": "^6.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
+ "dev": true
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
+ "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "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,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "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
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz",
+ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
+ "dev": true
+ },
+ "babel-jest": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
+ "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
+ "dev": true,
+ "requires": {
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/babel__core": "^7.1.7",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
+ "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__traverse": "^7.0.6"
+ }
+ },
+ "babel-preset-current-node-syntax": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz",
+ "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==",
+ "dev": true,
+ "requires": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
+ "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "^25.5.0",
+ "babel-preset-current-node-syntax": "^0.1.2"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "1.11.3",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+ "dev": true,
+ "requires": {
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "requires": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
+ "requires": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "capture-exit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
+ "dev": true,
+ "requires": {
+ "rsvp": "^4.8.4"
+ }
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "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
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+ "dev": true
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ }
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "data-urls": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "whatwg-mimetype": "^2.2.0",
+ "whatwg-url": "^7.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "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
+ },
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "dev": true
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true
+ },
+ "diff-sequences": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
+ "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
+ "dev": true
+ },
+ "domexception": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "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
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "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,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "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
+ },
+ "escodegen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
+ "dev": true,
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "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
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "exec-sh": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
+ "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "expect": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
+ "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-styles": "^4.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "dev": true,
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "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,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "^0.2.2"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+ "dev": true,
+ "optional": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
+ "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
+ },
+ "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
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "growly": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+ "dev": true,
+ "optional": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "html-encoding-sniffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "^1.0.1"
+ }
+ },
+ "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
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "human-signals": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "import-local": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+ "dev": true,
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "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
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
+ }
+ },
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "dev": true,
+ "optional": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "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
+ },
+ "is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "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
+ },
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "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,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "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,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ }
+ },
+ "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,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "jest": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
+ "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "import-local": "^3.0.2",
+ "jest-cli": "^25.5.4"
+ },
+ "dependencies": {
+ "jest-cli": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
+ "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
+ "dev": true,
+ "requires": {
+ "@jest/core": "^25.5.4",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "is-ci": "^2.0.0",
+ "jest-config": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "prompts": "^2.0.1",
+ "realpath-native": "^2.0.0",
+ "yargs": "^15.3.1"
+ }
+ }
+ }
+ },
+ "jest-changed-files": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
+ "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "execa": "^3.2.0",
+ "throat": "^5.0.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "execa": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
+ "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "human-signals": "^1.1.1",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "jest-config": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
+ "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^25.5.4",
+ "@jest/types": "^25.5.0",
+ "babel-jest": "^25.5.1",
+ "chalk": "^3.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-environment-jsdom": "^25.5.0",
+ "jest-environment-node": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-jasmine2": "^25.5.4",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "pretty-format": "^25.5.0",
+ "realpath-native": "^2.0.0"
+ }
+ },
+ "jest-diff": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
+ "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "diff-sequences": "^25.2.6",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-docblock": {
+ "version": "25.3.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
+ "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
+ "dev": true,
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
+ "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
+ "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jsdom": "^15.2.1"
+ }
+ },
+ "jest-environment-node": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
+ "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-get-type": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
+ "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+ "dev": true
+ },
+ "jest-haste-map": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
+ "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-serializer": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "sane": "^4.0.3",
+ "walker": "^1.0.7",
+ "which": "^2.0.2"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
+ "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "co": "^4.6.0",
+ "expect": "^25.5.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^25.5.0",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-leak-detector": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
+ "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
+ "dev": true,
+ "requires": {
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
+ "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-message-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
+ "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/stack-utils": "^1.0.1",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.2",
+ "slash": "^3.0.0",
+ "stack-utils": "^1.0.1"
+ }
+ },
+ "jest-mock": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
+ "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
+ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
+ "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
+ "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "browser-resolve": "^1.11.3",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.1",
+ "read-pkg-up": "^7.0.1",
+ "realpath-native": "^2.0.0",
+ "resolve": "^1.17.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
+ "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-snapshot": "^25.5.1"
+ }
+ },
+ "jest-runner": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
+ "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-docblock": "^25.3.0",
+ "jest-haste-map": "^25.5.1",
+ "jest-jasmine2": "^25.5.4",
+ "jest-leak-detector": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "jest-runtime": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
+ "source-map-support": "^0.5.6",
+ "throat": "^5.0.0"
+ }
+ },
+ "jest-runtime": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
+ "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
+ "dev": true,
+ "requires": {
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/globals": "^25.5.2",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/yargs": "^15.0.0",
+ "chalk": "^3.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "realpath-native": "^2.0.0",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^15.3.1"
+ }
+ },
+ "jest-serializer": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "jest-snapshot": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
+ "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.0.0",
+ "@jest/types": "^25.5.0",
+ "@types/prettier": "^1.19.0",
+ "chalk": "^3.0.0",
+ "expect": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^25.5.0",
+ "jest-get-type": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "make-dir": "^3.0.0",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^25.5.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "jest-util": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
+ "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^2.0.0",
+ "make-dir": "^3.0.0"
+ }
+ },
+ "jest-validate": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "jest-get-type": "^25.2.6",
+ "leven": "^3.1.0",
+ "pretty-format": "^25.5.0"
+ }
+ },
+ "jest-watcher": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
+ "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
+ "dev": true,
+ "requires": {
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "jest-util": "^25.5.0",
+ "string-length": "^3.1.0"
+ }
+ },
+ "jest-worker": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
+ "jsdom": {
+ "version": "15.2.1",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
+ "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.0",
+ "acorn": "^7.1.0",
+ "acorn-globals": "^4.3.2",
+ "array-equal": "^1.0.0",
+ "cssom": "^0.4.1",
+ "cssstyle": "^2.0.0",
+ "data-urls": "^1.1.0",
+ "domexception": "^1.0.1",
+ "escodegen": "^1.11.1",
+ "html-encoding-sniffer": "^1.0.2",
+ "nwsapi": "^2.2.0",
+ "parse5": "5.1.0",
+ "pn": "^1.1.0",
+ "request": "^2.88.0",
+ "request-promise-native": "^1.0.7",
+ "saxes": "^3.1.9",
+ "symbol-tree": "^3.2.2",
+ "tough-cookie": "^3.0.1",
+ "w3c-hr-time": "^1.0.1",
+ "w3c-xmlserializer": "^1.1.2",
+ "webidl-conversions": "^4.0.2",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^7.0.0",
+ "ws": "^7.0.0",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "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
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "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
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true
+ },
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "dev": true
+ },
+ "lodash.set": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
+ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM="
+ },
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "lolex": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
+ "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
+ "dev": true,
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "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,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dev": true,
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "requires": {
+ "object-visit": "^1.0.0"
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "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==",
+ "dev": true
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.44.0"
+ }
+ },
+ "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
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ }
+ },
+ "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
+ },
+ "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-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "dev": true
+ },
+ "node-notifier": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz",
+ "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "growly": "^1.3.0",
+ "is-wsl": "^2.1.1",
+ "semver": "^6.3.0",
+ "shellwords": "^0.1.1",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "requires": {
+ "path-key": "^2.0.0"
+ }
+ },
+ "nwsapi": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.0"
+ }
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "^3.0.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "p-each-series": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz",
+ "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "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
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "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
+ },
+ "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=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "dev": true,
+ "requires": {
+ "node-modules-regexp": "^1.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "pn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+ "dev": true
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "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
+ },
+ "pretty-format": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
+ "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^4.0.0",
+ "react-is": "^16.12.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "prompts": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
+ "dev": true,
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.4"
+ }
+ },
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
+ },
+ "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
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "realpath-native": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
+ "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
+ "dev": true
+ },
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "request-promise-core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "request-promise-native": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+ "dev": true,
+ "requires": {
+ "request-promise-core": "1.1.3",
+ "stealthy-require": "^1.1.1",
+ "tough-cookie": "^2.3.3"
+ },
+ "dependencies": {
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "resolve": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "requires": {
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "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
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rsvp": {
+ "version": "4.8.5",
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
+ "dev": true
+ },
+ "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==",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sane": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
+ "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
+ "dev": true,
+ "requires": {
+ "@cnakazawa/watch": "^1.0.3",
+ "anymatch": "^2.0.0",
+ "capture-exit": "^2.0.0",
+ "exec-sh": "^0.3.2",
+ "execa": "^1.0.0",
+ "fb-watchman": "^2.0.0",
+ "micromatch": "^3.1.4",
+ "minimist": "^1.1.1",
+ "walker": "~1.0.5"
+ },
+ "dependencies": {
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "requires": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "saxes": {
+ "version": "3.1.11",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
+ "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+ "dev": true,
+ "requires": {
+ "xmlchars": "^2.1.1"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "shellwords": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "requires": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.0"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ }
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.2.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "dev": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "stack-utils": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
+ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ }
+ }
+ },
+ "stealthy-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+ "dev": true
+ },
+ "string-length": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz",
+ "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==",
+ "dev": true,
+ "requires": {
+ "astral-regex": "^1.0.0",
+ "strip-ansi": "^5.2.0"
+ },
+ "dependencies": {
+ "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,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "supports-hyperlinks": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz",
+ "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true
+ },
+ "terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ }
+ },
+ "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,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "throat": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
+ "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
+ "dev": true
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+ "dev": true
+ },
+ "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
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "tough-cookie": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
+ "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
+ "dev": true,
+ "requires": {
+ "ip-regex": "^2.1.0",
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
+ "tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "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
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ }
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "requires": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "dependencies": {
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ }
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ }
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "dev": true
+ },
+ "v8-to-istanbul": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
+ "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
+ "dev": true,
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "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,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dev": true,
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
+ "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
+ "dev": true,
+ "requires": {
+ "domexception": "^1.0.1",
+ "webidl-conversions": "^4.0.2",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dev": true,
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "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
+ },
+ "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,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "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,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "ws": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+ "dev": true
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "15.3.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+ "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+ "dev": true,
+ "requires": {
+ "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.1"
+ }
+ },
+ "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,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+}
diff --git a/hooks/update-field/package.json b/hooks/update-field/package.json
new file mode 100644
index 00000000..73ced215
--- /dev/null
+++ b/hooks/update-field/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "scb-update-field",
+ "version": "1.0.0",
+ "description": "",
+ "main": "hook.js",
+ "scripts": {
+ "test": "jest ."
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "lodash.set": "^4.3.2"
+ },
+ "devDependencies": {
+ "jest": "^25.1.0"
+ }
+}
diff --git a/hooks/update-field/templates/NOTES.txt b/hooks/update-field/templates/NOTES.txt
new file mode 100644
index 00000000..8e46012f
--- /dev/null
+++ b/hooks/update-field/templates/NOTES.txt
@@ -0,0 +1,2 @@
+UpdateField Hook deployed.
+This will add or override "{{ .Values.attribute.name }}: {{ .Values.attribute.value }}" on every finding in this namespace.
\ No newline at end of file
diff --git a/hooks/update-field/templates/_helpers.tpl b/hooks/update-field/templates/_helpers.tpl
new file mode 100644
index 00000000..17523abc
--- /dev/null
+++ b/hooks/update-field/templates/_helpers.tpl
@@ -0,0 +1,52 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "add-attribute.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "add-attribute.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "add-attribute.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "add-attribute.labels" -}}
+helm.sh/chart: {{ include "add-attribute.chart" . }}
+{{ include "add-attribute.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{/*
+Selector labels
+*/}}
+{{- define "add-attribute.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "add-attribute.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end -}}
diff --git a/hooks/update-field/templates/update-field-hook.yaml b/hooks/update-field/templates/update-field-hook.yaml
new file mode 100644
index 00000000..105b17b4
--- /dev/null
+++ b/hooks/update-field/templates/update-field-hook.yaml
@@ -0,0 +1,16 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: ScanCompletionHook
+metadata:
+ name: {{ .Release.Name }}
+spec:
+ type: ReadAndWrite
+ {{- if .Values.image.digest }}
+ image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}@{{ .Values.image.digest }}"
+ {{- else }}
+ image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ {{- end }}
+ env:
+ - name: ATTRIBUTE_NAME
+ value: {{ .Values.attribute.name | quote }}
+ - name: ATTRIBUTE_VALUE
+ value: {{ .Values.attribute.value | quote }}
diff --git a/hooks/update-field/values.yaml b/hooks/update-field/values.yaml
new file mode 100644
index 00000000..8ee928d1
--- /dev/null
+++ b/hooks/update-field/values.yaml
@@ -0,0 +1,13 @@
+# Default values for dispatcher.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+attribute:
+ name: "category"
+ value: my-own-category
+
+image:
+ registry: docker.io
+ repository: scbexperimental/update-field
+ tag: latest
+ digest: null
diff --git a/integrations/nmap/parser/parser.js b/integrations/nmap/parser/parser.js
deleted file mode 100644
index bae765ad..00000000
--- a/integrations/nmap/parser/parser.js
+++ /dev/null
@@ -1,171 +0,0 @@
-const xml2js = require('xml2js');
-
-async function parse(fileContent) {
- const hosts = await parseResultFile(fileContent);
- return transformToFindings(hosts);
-}
-
-function transformToFindings(hosts) {
- const portFindings = hosts.flatMap(({ openPorts = [], ...hostInfo }) => {
- if(openPorts === null){
- return [];
- }
-
- return openPorts.map(openPort => {
- return {
- name: openPort.service,
- description: `Port ${openPort.port} is ${openPort.state} using ${openPort.protocol} protocol.`,
- category: 'Open Port',
- location: `${openPort.protocol}://${hostInfo.ip}:${openPort.port}`,
- osi_layer: 'NETWORK',
- severity: 'INFORMATIONAL',
- attributes: {
- port: openPort.port,
- state: openPort.state,
- ip_address: hostInfo.ip,
- mac_address: hostInfo.mac,
- protocol: openPort.protocol,
- hostname: hostInfo.hostname,
- method: openPort.method,
- operating_system: hostInfo.osNmap,
- service: openPort.service,
- serviceProduct: openPort.serviceProduct || null,
- serviceVersion: openPort.serviceVersion || null,
- scripts: openPort.scriptOutputs || null,
- },
- };
- });
- });
-
- const hostFindings = hosts.map(({ hostname, ip, osNmap }) => {
- return {
- name: `Host: ${hostname}`,
- category: 'Host',
- description: 'Found a host',
- location: hostname,
- severity: 'INFORMATIONAL',
- osi_layer: 'NETWORK',
- attributes: {
- ip_address: ip,
- hostname: hostname,
- operating_system: osNmap,
- },
- };
- });
-
- return [...portFindings, ...hostFindings];
-}
-
-function parseResultFile(fileContent) {
- return new Promise((resolve, reject) => {
- xml2js.parseString(fileContent, (err, xmlInput) => {
- if (err) {
- reject(new Error('Error converting XML to JSON in xml2js: ' + err));
- } else {
- let tempHostList = [];
- if (!xmlInput.nmaprun.host) {
- resolve([]);
- return;
- }
-
- xmlInput = xmlInput.nmaprun.host;
-
- tempHostList = xmlInput.map(host => {
- const newHost = {
- hostname: null,
- ip: null,
- mac: null,
- openPorts: null,
- osNmap: null,
- };
-
- //Get hostname
- if (
- host.hostnames &&
- host.hostnames[0] !== '\r\n' &&
- host.hostnames[0] !== '\n'
- ) {
- newHost.hostname = host.hostnames[0].hostname[0].$.name;
- }
-
- //get addresses
- host.address.forEach(address => {
- const addressType = address.$.addrtype;
- const addressAdress = address.$.addr;
- const addressVendor = address.$.vendor;
-
- if (addressType === 'ipv4') {
- newHost.ip = addressAdress;
- } else if (addressType === 'mac') {
- newHost.mac = addressAdress;
- newHost.vendor = addressVendor;
- }
- });
-
- //get ports
- if (host.ports && host.ports[0].port) {
- const portList = host.ports[0].port;
-
- const openPorts = portList.filter(port => {
- return port.state[0].$.state !== 'closed';
- });
-
- newHost.openPorts = openPorts.map(portItem => {
- // console.log(JSON.stringify(portItem, null, 4))
-
- const port = parseInt(portItem.$.portid, 10);
- const protocol = portItem.$.protocol;
- const service = portItem.service[0].$.name;
- const serviceProduct = portItem.service[0].$.product;
- const serviceVersion = portItem.service[0].$.version;
-
- const tunnel = portItem.service[0].$.tunnel;
- const method = portItem.service[0].$.method;
- const product = portItem.service[0].$.tunnel;
-
- const state = portItem.state[0].$.state;
-
- let scriptOutputs = null;
-
- if (portItem.script) {
- scriptOutputs = portItem.script.reduce(
- (carry, { $: scriptRes }) => {
- carry[scriptRes.id] = scriptRes.output;
- return carry;
- },
- {}
- );
- }
-
- let portObject = {};
- if (port) portObject.port = port;
- if (protocol) portObject.protocol = protocol;
- if (service) portObject.service = service;
- if (serviceProduct) portObject.serviceProduct = serviceProduct;
- if (serviceVersion) portObject.serviceVersion = serviceVersion;
-
- if (tunnel) portObject.tunnel = tunnel;
- if (method) portObject.method = method;
- if (product) portObject.product = product;
-
- if (state) portObject.state = state;
-
- if (scriptOutputs) portObject.scriptOutputs = scriptOutputs;
-
- return portObject;
- });
- }
-
- if (host.os && host.os[0].osmatch && host.os[0].osmatch[0].$.name) {
- newHost.osNmap = host.os[0].osmatch[0].$.name;
- }
- return newHost;
- });
-
- resolve(tempHostList);
- }
- });
- });
-}
-
-module.exports.parse = parse;
diff --git a/integrations/nmap/parser/parser.test.js b/integrations/nmap/parser/parser.test.js
deleted file mode 100644
index 84fdf68b..00000000
--- a/integrations/nmap/parser/parser.test.js
+++ /dev/null
@@ -1,154 +0,0 @@
-const fs = require("fs");
-const util = require("util");
-
-// eslint-disable-next-line security/detect-non-literal-fs-filename
-const readFile = util.promisify(fs.readFile);
-
-const { parse } = require("./parser");
-
-test("should properly parse nmap xml file", async () => {
- const xmlContent = await readFile(
- __dirname + "/__testFiles__/localhost.xml",
- {
- encoding: "utf8"
- }
- );
-
- expect(await parse(xmlContent)).toMatchInlineSnapshot(`
- Array [
- Object {
- "attributes": Object {
- "hostname": "localhost",
- "ip_address": "127.0.0.1",
- "mac_address": null,
- "method": "table",
- "operating_system": null,
- "port": 53,
- "protocol": "tcp",
- "scripts": null,
- "service": "domain",
- "serviceProduct": null,
- "serviceVersion": null,
- "state": "open",
- },
- "category": "Open Port",
- "description": "Port 53 is open using tcp protocol.",
- "location": "tcp://127.0.0.1:53",
- "name": "domain",
- "osi_layer": "NETWORK",
- "severity": "INFORMATIONAL",
- },
- Object {
- "attributes": Object {
- "hostname": "localhost",
- "ip_address": "127.0.0.1",
- "mac_address": null,
- "method": "table",
- "operating_system": null,
- "port": 8021,
- "protocol": "tcp",
- "scripts": null,
- "service": "ftp-proxy",
- "serviceProduct": null,
- "serviceVersion": null,
- "state": "open",
- },
- "category": "Open Port",
- "description": "Port 8021 is open using tcp protocol.",
- "location": "tcp://127.0.0.1:8021",
- "name": "ftp-proxy",
- "osi_layer": "NETWORK",
- "severity": "INFORMATIONAL",
- },
- Object {
- "attributes": Object {
- "hostname": "localhost",
- "ip_address": "127.0.0.1",
- "mac_address": null,
- "method": "table",
- "operating_system": null,
- "port": 8080,
- "protocol": "tcp",
- "scripts": null,
- "service": "http-proxy",
- "serviceProduct": null,
- "serviceVersion": null,
- "state": "open",
- },
- "category": "Open Port",
- "description": "Port 8080 is open using tcp protocol.",
- "location": "tcp://127.0.0.1:8080",
- "name": "http-proxy",
- "osi_layer": "NETWORK",
- "severity": "INFORMATIONAL",
- },
- Object {
- "attributes": Object {
- "hostname": "localhost",
- "ip_address": "127.0.0.1",
- "mac_address": null,
- "method": "table",
- "operating_system": null,
- "port": 9200,
- "protocol": "tcp",
- "scripts": null,
- "service": "wap-wsp",
- "serviceProduct": null,
- "serviceVersion": null,
- "state": "open",
- },
- "category": "Open Port",
- "description": "Port 9200 is open using tcp protocol.",
- "location": "tcp://127.0.0.1:9200",
- "name": "wap-wsp",
- "osi_layer": "NETWORK",
- "severity": "INFORMATIONAL",
- },
- Object {
- "attributes": Object {
- "hostname": "localhost",
- "ip_address": "127.0.0.1",
- "operating_system": null,
- },
- "category": "Host",
- "description": "Found a host",
- "location": "localhost",
- "name": "Host: localhost",
- "osi_layer": "NETWORK",
- "severity": "INFORMATIONAL",
- },
- ]
- `);
-});
-
-test("should properly parse a nmap xml without any ports", async () => {
- const xmlContent = await readFile(__dirname + "/__testFiles__/no-ports.xml", {
- encoding: "utf8"
- });
-
- expect(await parse(xmlContent)).toMatchInlineSnapshot(`
- Array [
- Object {
- "attributes": Object {
- "hostname": "localhost",
- "ip_address": "127.0.0.1",
- "operating_system": null,
- },
- "category": "Host",
- "description": "Found a host",
- "location": "localhost",
- "name": "Host: localhost",
- "osi_layer": "NETWORK",
- "severity": "INFORMATIONAL",
- },
- ]
- `);
-});
-
-test("should properly parse a nmap xml without any host", async () => {
- const xmlContent = await readFile(__dirname + "/__testFiles__/no-host.xml", {
- encoding: "utf8"
- });
-
- expect(await parse(xmlContent)).toMatchInlineSnapshot(`Array []`);
-});
diff --git a/lurcher/main.go b/lurcher/main.go
index c501b61b..207de096 100644
--- a/lurcher/main.go
+++ b/lurcher/main.go
@@ -110,7 +110,7 @@ func waitForMainContainerToEnd(container, pod, namespace string) {
for _, status := range containerStatuses {
if status.Name == container && status.State.Terminated != nil {
- log.Printf("Main Container Exited. Lurcher will end asswell.")
+ log.Printf("Main Container Exited. Lurcher will end as well.")
return
}
}
diff --git a/operator/Chart.yaml b/operator/Chart.yaml
index 301cb2b0..7436aef8 100644
--- a/operator/Chart.yaml
+++ b/operator/Chart.yaml
@@ -6,11 +6,11 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
-version: 0.1.0
+version: 0.2.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
-appVersion: 1.16.0
+appVersion: 1.18.0
dependencies:
- name: minio
diff --git a/operator/apis/execution/v1/scan_types.go b/operator/apis/execution/v1/scan_types.go
index 0d45ab6f..8696acff 100644
--- a/operator/apis/execution/v1/scan_types.go
+++ b/operator/apis/execution/v1/scan_types.go
@@ -45,6 +45,25 @@ type ScanStatus struct {
RawResultFile string `json:"rawResultFile,omitempty"`
Findings FindingStats `json:"findings,omitempty"`
+
+ ReadAndWriteHookStatus []HookStatus `json:"readAndWriteHookStatus,omitempty"`
+}
+
+// HookState Describes the State of a Hook on a Scan
+type HookState string
+
+const (
+ Pending HookState = "Pending"
+ InProgress HookState = "InProgress"
+ Completed HookState = "Completed"
+ Cancelled HookState = "Cancelled"
+ Failed HookState = "Failed"
+)
+
+type HookStatus struct {
+ HookName string `json:"hookName"`
+ State HookState `json:"state"`
+ JobName string `json:"jobName,omitempty"`
}
// FindingStats contains the general stats about the results of the scan
diff --git a/operator/apis/execution/v1/persistenceprovider_types.go b/operator/apis/execution/v1/scancompletionhook.go
similarity index 54%
rename from operator/apis/execution/v1/persistenceprovider_types.go
rename to operator/apis/execution/v1/scancompletionhook.go
index fc026f3e..6e8aa505 100644
--- a/operator/apis/execution/v1/persistenceprovider_types.go
+++ b/operator/apis/execution/v1/scancompletionhook.go
@@ -24,43 +24,55 @@ import (
// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.
-// PersistenceProviderSpec defines the desired state of PersistenceProvider
-type PersistenceProviderSpec struct {
+// HookType Defines weather the hook should be able to change the findings or is run in a read only mode.
+type HookType string
+
+const (
+ // ReadOnly ReadOnly Hooks are executed in parallel
+ ReadOnly HookType = "ReadOnly"
+ // ReadAndWrite ReadAndWrite Hooks are executed serially
+ ReadAndWrite HookType = "ReadAndWrite"
+)
+
+// ScanCompletionHookSpec defines the desired state of ScanCompletionHook
+type ScanCompletionHookSpec struct {
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
// Important: Run "make" to regenerate code after modifying this file
- // Foo is an example field of PersistenceProvider. Edit PersistenceProvider_types.go to remove/update
+ // Image is the container image for the hooks kubernetes job
Image string `json:"image,omitempty"`
Env []corev1.EnvVar `json:"env,omitempty"`
+ Type HookType `json:"type"`
}
-// PersistenceProviderStatus defines the observed state of PersistenceProvider
-type PersistenceProviderStatus struct {
+// ScanCompletionHookStatus defines the observed state of ScanCompletionHook
+type ScanCompletionHookStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
}
// +kubebuilder:object:root=true
-// +kubebuilder:printcolumn:name="Image",type=string,JSONPath=`.spec.image`,description="PersistenceProvider Image"
+// +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type`,description="ScanCompletionHook Type"
+// +kubebuilder:printcolumn:name="Image",type=string,JSONPath=`.spec.image`,description="ScanCompletionHook Image"
-// PersistenceProvider is the Schema for the persistenceproviders API
-type PersistenceProvider struct {
+// ScanCompletionHook is the Schema for the ScanCompletionHooks API
+type ScanCompletionHook struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
- Spec PersistenceProviderSpec `json:"spec,omitempty"`
- Status PersistenceProviderStatus `json:"status,omitempty"`
+ Spec ScanCompletionHookSpec `json:"spec,omitempty"`
+ Status ScanCompletionHookStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
-// PersistenceProviderList contains a list of PersistenceProvider
-type PersistenceProviderList struct {
+// ScanCompletionHookList contains a list of ScanCompletionHook
+type ScanCompletionHookList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
- Items []PersistenceProvider `json:"items"`
+ Items []ScanCompletionHook `json:"items"`
}
func init() {
- SchemeBuilder.Register(&PersistenceProvider{}, &PersistenceProviderList{})
+ SchemeBuilder.Register(&ScanCompletionHook{}, &ScanCompletionHookList{})
}
diff --git a/operator/apis/execution/v1/zz_generated.deepcopy.go b/operator/apis/execution/v1/zz_generated.deepcopy.go
index 3e6ae566..3fadce74 100644
--- a/operator/apis/execution/v1/zz_generated.deepcopy.go
+++ b/operator/apis/execution/v1/zz_generated.deepcopy.go
@@ -78,6 +78,21 @@ func (in *FindingStats) DeepCopy() *FindingStats {
return out
}
+// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+func (in *HookStatus) DeepCopyInto(out *HookStatus) {
+ *out = *in
+}
+
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HookStatus.
+func (in *HookStatus) DeepCopy() *HookStatus {
+ if in == nil {
+ return nil
+ }
+ out := new(HookStatus)
+ in.DeepCopyInto(out)
+ return out
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ParseDefinition) DeepCopyInto(out *ParseDefinition) {
*out = *in
@@ -168,26 +183,26 @@ func (in *ParseDefinitionStatus) DeepCopy() *ParseDefinitionStatus {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PersistenceProvider) DeepCopyInto(out *PersistenceProvider) {
+func (in *Scan) DeepCopyInto(out *Scan) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
- out.Status = in.Status
+ in.Status.DeepCopyInto(&out.Status)
}
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistenceProvider.
-func (in *PersistenceProvider) DeepCopy() *PersistenceProvider {
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scan.
+func (in *Scan) DeepCopy() *Scan {
if in == nil {
return nil
}
- out := new(PersistenceProvider)
+ out := new(Scan)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *PersistenceProvider) DeepCopyObject() runtime.Object {
+func (in *Scan) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
}
@@ -195,31 +210,26 @@ func (in *PersistenceProvider) DeepCopyObject() runtime.Object {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PersistenceProviderList) DeepCopyInto(out *PersistenceProviderList) {
+func (in *ScanCompletionHook) DeepCopyInto(out *ScanCompletionHook) {
*out = *in
out.TypeMeta = in.TypeMeta
- in.ListMeta.DeepCopyInto(&out.ListMeta)
- if in.Items != nil {
- in, out := &in.Items, &out.Items
- *out = make([]PersistenceProvider, len(*in))
- for i := range *in {
- (*in)[i].DeepCopyInto(&(*out)[i])
- }
- }
+ in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
+ in.Spec.DeepCopyInto(&out.Spec)
+ out.Status = in.Status
}
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistenceProviderList.
-func (in *PersistenceProviderList) DeepCopy() *PersistenceProviderList {
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScanCompletionHook.
+func (in *ScanCompletionHook) DeepCopy() *ScanCompletionHook {
if in == nil {
return nil
}
- out := new(PersistenceProviderList)
+ out := new(ScanCompletionHook)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *PersistenceProviderList) DeepCopyObject() runtime.Object {
+func (in *ScanCompletionHook) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
}
@@ -227,69 +237,74 @@ func (in *PersistenceProviderList) DeepCopyObject() runtime.Object {
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PersistenceProviderSpec) DeepCopyInto(out *PersistenceProviderSpec) {
+func (in *ScanCompletionHookList) DeepCopyInto(out *ScanCompletionHookList) {
*out = *in
- if in.Env != nil {
- in, out := &in.Env, &out.Env
- *out = make([]corev1.EnvVar, len(*in))
+ out.TypeMeta = in.TypeMeta
+ in.ListMeta.DeepCopyInto(&out.ListMeta)
+ if in.Items != nil {
+ in, out := &in.Items, &out.Items
+ *out = make([]ScanCompletionHook, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
}
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistenceProviderSpec.
-func (in *PersistenceProviderSpec) DeepCopy() *PersistenceProviderSpec {
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScanCompletionHookList.
+func (in *ScanCompletionHookList) DeepCopy() *ScanCompletionHookList {
if in == nil {
return nil
}
- out := new(PersistenceProviderSpec)
+ out := new(ScanCompletionHookList)
in.DeepCopyInto(out)
return out
}
+// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
+func (in *ScanCompletionHookList) DeepCopyObject() runtime.Object {
+ if c := in.DeepCopy(); c != nil {
+ return c
+ }
+ return nil
+}
+
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PersistenceProviderStatus) DeepCopyInto(out *PersistenceProviderStatus) {
+func (in *ScanCompletionHookSpec) DeepCopyInto(out *ScanCompletionHookSpec) {
*out = *in
+ if in.Env != nil {
+ in, out := &in.Env, &out.Env
+ *out = make([]corev1.EnvVar, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
}
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistenceProviderStatus.
-func (in *PersistenceProviderStatus) DeepCopy() *PersistenceProviderStatus {
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScanCompletionHookSpec.
+func (in *ScanCompletionHookSpec) DeepCopy() *ScanCompletionHookSpec {
if in == nil {
return nil
}
- out := new(PersistenceProviderStatus)
+ out := new(ScanCompletionHookSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *Scan) DeepCopyInto(out *Scan) {
+func (in *ScanCompletionHookStatus) DeepCopyInto(out *ScanCompletionHookStatus) {
*out = *in
- out.TypeMeta = in.TypeMeta
- in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
- in.Spec.DeepCopyInto(&out.Spec)
- in.Status.DeepCopyInto(&out.Status)
}
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scan.
-func (in *Scan) DeepCopy() *Scan {
+// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScanCompletionHookStatus.
+func (in *ScanCompletionHookStatus) DeepCopy() *ScanCompletionHookStatus {
if in == nil {
return nil
}
- out := new(Scan)
+ out := new(ScanCompletionHookStatus)
in.DeepCopyInto(out)
return out
}
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *Scan) DeepCopyObject() runtime.Object {
- if c := in.DeepCopy(); c != nil {
- return c
- }
- return nil
-}
-
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ScanList) DeepCopyInto(out *ScanList) {
*out = *in
@@ -346,6 +361,11 @@ func (in *ScanSpec) DeepCopy() *ScanSpec {
func (in *ScanStatus) DeepCopyInto(out *ScanStatus) {
*out = *in
in.Findings.DeepCopyInto(&out.Findings)
+ if in.ReadAndWriteHookStatus != nil {
+ in, out := &in.ReadAndWriteHookStatus, &out.ReadAndWriteHookStatus
+ *out = make([]HookStatus, len(*in))
+ copy(*out, *in)
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScanStatus.
diff --git a/operator/config/crd/bases/execution.experimental.securecodebox.io_persistenceproviders.yaml b/operator/config/crd/bases/execution.experimental.securecodebox.io_scancompletionhooks.yaml
similarity index 87%
rename from operator/config/crd/bases/execution.experimental.securecodebox.io_persistenceproviders.yaml
rename to operator/config/crd/bases/execution.experimental.securecodebox.io_scancompletionhooks.yaml
index 6e51a957..5b7d72d0 100644
--- a/operator/config/crd/bases/execution.experimental.securecodebox.io_persistenceproviders.yaml
+++ b/operator/config/crd/bases/execution.experimental.securecodebox.io_scancompletionhooks.yaml
@@ -6,25 +6,28 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
- name: persistenceproviders.execution.experimental.securecodebox.io
+ name: scancompletionhooks.execution.experimental.securecodebox.io
spec:
additionalPrinterColumns:
+ - JSONPath: .spec.type
+ description: ScanCompletionHook Type
+ name: Type
+ type: string
- JSONPath: .spec.image
- description: PersistenceProvider Image
+ description: ScanCompletionHook Image
name: Image
type: string
group: execution.experimental.securecodebox.io
names:
- kind: PersistenceProvider
- listKind: PersistenceProviderList
- plural: persistenceproviders
- singular: persistenceprovider
+ kind: ScanCompletionHook
+ listKind: ScanCompletionHookList
+ plural: scancompletionhooks
+ singular: scancompletionhook
scope: Namespaced
subresources: {}
validation:
openAPIV3Schema:
- description: PersistenceProvider is the Schema for the persistenceproviders
- API
+ description: ScanCompletionHook is the Schema for the ScanCompletionHooks API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
@@ -39,7 +42,7 @@ spec:
metadata:
type: object
spec:
- description: PersistenceProviderSpec defines the desired state of PersistenceProvider
+ description: ScanCompletionHookSpec defines the desired state of ScanCompletionHook
properties:
env:
items:
@@ -140,12 +143,17 @@ spec:
type: object
type: array
image:
- description: Foo is an example field of PersistenceProvider. Edit PersistenceProvider_types.go
- to remove/update
+ description: Image is the container image for the hooks kubernetes job
+ type: string
+ type:
+ description: HookType Defines weather the hook should be able to change
+ the findings or is run in a read only mode.
type: string
+ required:
+ - type
type: object
status:
- description: PersistenceProviderStatus defines the observed state of PersistenceProvider
+ description: ScanCompletionHookStatus defines the observed state of ScanCompletionHook
type: object
type: object
version: v1
diff --git a/operator/config/crd/bases/execution.experimental.securecodebox.io_scans.yaml b/operator/config/crd/bases/execution.experimental.securecodebox.io_scans.yaml
index 1d860020..f435f3b7 100644
--- a/operator/config/crd/bases/execution.experimental.securecodebox.io_scans.yaml
+++ b/operator/config/crd/bases/execution.experimental.securecodebox.io_scans.yaml
@@ -113,6 +113,21 @@ spec:
description: RawResultType determines which kind of ParseDefinition
will be used to turn the raw results of the scanner into findings
type: string
+ readAndWriteHookStatus:
+ items:
+ properties:
+ hookName:
+ type: string
+ jobName:
+ type: string
+ state:
+ description: HookState Describes the State of a Hook on a Scan
+ type: string
+ required:
+ - hookName
+ - state
+ type: object
+ type: array
state:
type: string
type: object
diff --git a/operator/config/crd/kustomization.yaml b/operator/config/crd/kustomization.yaml
index edd74da9..f3f614c1 100644
--- a/operator/config/crd/kustomization.yaml
+++ b/operator/config/crd/kustomization.yaml
@@ -4,7 +4,7 @@
resources:
- bases/execution.experimental.securecodebox.io_scans.yaml
- bases/execution.experimental.securecodebox.io_scantypes.yaml
-- bases/execution.experimental.securecodebox.io_persistenceproviders.yaml
+- bases/execution.experimental.securecodebox.io_scancompletionhooks.yaml
- bases/execution.experimental.securecodebox.io_parsedefinitions.yaml
- bases/execution.experimental.securecodebox.io_scheduledscans.yaml
- bases/targets.experimental.securecodebox.io_hosts.yaml
diff --git a/operator/config/rbac/persistenceprovider_editor_role.yaml b/operator/config/rbac/persistenceprovider_editor_role.yaml
deleted file mode 100644
index 1bbbfe1a..00000000
--- a/operator/config/rbac/persistenceprovider_editor_role.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-# permissions for end users to edit persistenceproviders.
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: persistenceprovider-editor-role
-rules:
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders/status
- verbs:
- - get
diff --git a/operator/config/rbac/persistenceprovider_viewer_role.yaml b/operator/config/rbac/persistenceprovider_viewer_role.yaml
deleted file mode 100644
index ec836136..00000000
--- a/operator/config/rbac/persistenceprovider_viewer_role.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# permissions for end users to view persistenceproviders.
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: persistenceprovider-viewer-role
-rules:
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders/status
- verbs:
- - get
diff --git a/operator/config/rbac/role.yaml b/operator/config/rbac/role.yaml
index 681c96db..b1bd525a 100644
--- a/operator/config/rbac/role.yaml
+++ b/operator/config/rbac/role.yaml
@@ -44,7 +44,7 @@ rules:
- apiGroups:
- execution.experimental.securecodebox.io
resources:
- - persistenceproviders
+ - scancompletionhooks
verbs:
- get
- list
diff --git a/operator/config/samples/Dockerfile b/operator/config/samples/Dockerfile
new file mode 100644
index 00000000..d576882c
--- /dev/null
+++ b/operator/config/samples/Dockerfile
@@ -0,0 +1,2 @@
+FROM alpine
+ENTRYPOINT ["echo"]
\ No newline at end of file
diff --git a/operator/config/samples/execution_v1_persistenceprovider.yaml b/operator/config/samples/execution_v1_persistenceprovider.yaml
deleted file mode 100644
index 05c98a47..00000000
--- a/operator/config/samples/execution_v1_persistenceprovider.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: execution.experimental.securecodebox.io/v1
-kind: PersistenceProvider
-metadata:
- name: "persistence-elastic"
- labels:
- type: Structured
-spec:
- image: "scbexperimental/persistence-elastic:latest"
- env:
- - name: ELASTICSEARCH_ADDRESS
- value: "http://elasticsearch-master:9200"
diff --git a/operator/config/samples/execution_v1_readandwritehook.yaml b/operator/config/samples/execution_v1_readandwritehook.yaml
new file mode 100644
index 00000000..50a8b098
--- /dev/null
+++ b/operator/config/samples/execution_v1_readandwritehook.yaml
@@ -0,0 +1,8 @@
+apiVersion: execution.experimental.securecodebox.io/v1
+kind: ScanCompletionHook
+metadata:
+ name: "sleep-rw"
+spec:
+ image: "sleep"
+ type: "ReadAndWrite"
+ env: []
diff --git a/operator/config/samples/execution_v1_readonlyhook.yaml b/operator/config/samples/execution_v1_readonlyhook.yaml
new file mode 100644
index 00000000..76273547
--- /dev/null
+++ b/operator/config/samples/execution_v1_readonlyhook.yaml
@@ -0,0 +1,8 @@
+apiVersion: execution.experimental.securecodebox.io/v1
+kind: ScanCompletionHook
+metadata:
+ name: "echo-r"
+spec:
+ image: "echo"
+ type: "ReadOnly"
+ env: []
diff --git a/operator/config/samples/execution_v1_scan/zap_juiceshop.yaml b/operator/config/samples/execution_v1_scan/zap_juiceshop.yaml
deleted file mode 100644
index 4a66fe91..00000000
--- a/operator/config/samples/execution_v1_scan/zap_juiceshop.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: "execution.experimental.securecodebox.io/v1"
-kind: Scan
-metadata:
- name: "zap-juiceshop"
- labels:
- organization: "OWASP"
-spec:
- scanType: "zap-baseline"
- parameters:
- - "-t"
- - "http://juice-shop.demo-targets.svc:3000"
diff --git a/operator/controllers/execution/scan_controller.go b/operator/controllers/execution/scan_controller.go
index 5427bf90..bf517ea9 100644
--- a/operator/controllers/execution/scan_controller.go
+++ b/operator/controllers/execution/scan_controller.go
@@ -62,9 +62,9 @@ var s3StorageFinalizer = "s3.storage.experimental.securecodebox.io"
// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=scans/status,verbs=get;update;patch
// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=scantypes,verbs=get;list;watch
// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=parsedefinitions,verbs=get;list;watch
-// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=persistenceproviders,verbs=get;list;watch
+// +kubebuilder:rbac:groups=execution.experimental.securecodebox.io,resources=scancompletionhooks,verbs=get;list;watch
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch;create;update;patch;delete
-// Permissions needed to create service accounts for lurcher, parser and persistence providers
+// Permissions needed to create service accounts for lurcher, parser and scanCompletionHooks
// Pod permission are required to grant these permission to service accounts
// +kubebuilder:rbac:groups=core,resources=pods,verbs=get
@@ -113,9 +113,14 @@ func (r *ScanReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
case "Parsing":
err = r.checkIfParsingIsCompleted(&scan)
case "ParseCompleted":
- err = r.startPersistenceProvider(&scan)
- case "Persisting":
- err = r.checkIfPersistingIsCompleted(&scan)
+ err = r.setHookStatus(&scan)
+ case "ReadAndWriteHookProcessing":
+ err = r.executeReadAndWriteHooks(&scan)
+
+ case "ReadAndWriteHookCompleted":
+ err = r.startReadOnlyHooks(&scan)
+ case "ReadOnlyHookProcessing":
+ err = r.checkIfReadOnlyHookIsCompleted(&scan)
}
if err != nil {
return ctrl.Result{}, err
@@ -348,8 +353,7 @@ func (r *ScanReconciler) startParser(scan *executionv1.Scan) error {
}
log.Info("Matching ParseDefinition Found", "ParseDefinition", parseType)
- bucketName := os.Getenv("S3_BUCKET")
- findingsUploadURL, err := r.MinioClient.PresignedPutObject(bucketName, fmt.Sprintf("scan-%s/findings.json", scan.UID), 12*time.Hour)
+ findingsUploadURL, err := r.PresignedPutURL(scan.UID, "findings.json")
if err != nil {
r.Log.Error(err, "Could not get presigned url from s3 or compatible storage provider")
return err
@@ -418,7 +422,7 @@ func (r *ScanReconciler) startParser(scan *executionv1.Scan) error {
},
Args: []string{
rawResultDownloadURL,
- findingsUploadURL.String(),
+ findingsUploadURL,
},
ImagePullPolicy: "Always",
},
@@ -481,10 +485,8 @@ func (r *ScanReconciler) checkIfParsingIsCompleted(scan *executionv1.Scan) error
}
func (r *ScanReconciler) constructJobForScan(scan *executionv1.Scan, scanType *executionv1.ScanType) (*batch.Job, error) {
- bucketName := os.Getenv("S3_BUCKET")
-
filename := filepath.Base(scanType.Spec.ExtractResults.Location)
- resultUploadURL, err := r.MinioClient.PresignedPutObject(bucketName, fmt.Sprintf("scan-%s/%s", scan.UID, filename), 12*time.Hour)
+ resultUploadURL, err := r.PresignedPutURL(scan.UID, filename)
if err != nil {
r.Log.Error(err, "Could not get presigned url from s3 or compatible storage provider")
return nil, err
@@ -570,7 +572,7 @@ func (r *ScanReconciler) constructJobForScan(scan *executionv1.Scan, scanType *e
"--file",
scanType.Spec.ExtractResults.Location,
"--url",
- resultUploadURL.String(),
+ resultUploadURL,
},
Env: []corev1.EnvVar{
{
@@ -635,20 +637,46 @@ func (r *ScanReconciler) PresignedGetURL(scanID types.UID, filename string) (str
return rawResultDownloadURL.String(), nil
}
-func (r *ScanReconciler) startPersistenceProvider(scan *executionv1.Scan) error {
+// PresignedPutURL returns a presigned URL from the s3 (or compatible) serice.
+func (r *ScanReconciler) PresignedPutURL(scanID types.UID, filename string) (string, error) {
+ bucketName := os.Getenv("S3_BUCKET")
+
+ rawResultDownloadURL, err := r.MinioClient.PresignedPutObject(bucketName, fmt.Sprintf("scan-%s/%s", string(scanID), filename), 12*time.Hour)
+ if err != nil {
+ r.Log.Error(err, "Could not get presigned url from s3 or compatible storage provider")
+ return "", err
+ }
+ return rawResultDownloadURL.String(), nil
+}
+
+func (r *ScanReconciler) startReadOnlyHooks(scan *executionv1.Scan) error {
ctx := context.Background()
- var persistenceProviders executionv1.PersistenceProviderList
- if err := r.List(ctx, &persistenceProviders, client.InNamespace(scan.Namespace)); err != nil {
- r.Log.V(7).Info("Unable to fetch PersistenceProvider")
+ var scanCompletionHooks executionv1.ScanCompletionHookList
+
+ if err := r.List(ctx, &scanCompletionHooks, client.InNamespace(scan.Namespace)); err != nil {
+ r.Log.V(7).Info("Unable to fetch ScanCompletionHooks")
return err
}
- if len(persistenceProviders.Items) == 0 {
- r.Log.V(5).Info("Marked scan as done as without running persistence providers as non were configured", "ScanName", scan.Name)
+ r.Log.Info("Found ScanCompletionHooks", "ScanCompletionHooks", len(scanCompletionHooks.Items))
+
+ readOnlyHooks := []executionv1.ScanCompletionHook{}
+ // filter all ReadOnlyHooks in the scamCompletionHooks list
+ for _, hook := range scanCompletionHooks.Items {
+ if hook.Spec.Type == executionv1.ReadOnly {
+ readOnlyHooks = append(readOnlyHooks, hook)
+ }
+ }
+
+ r.Log.Info("Found ReadOnlyHooks", "ReadOnlyHooks", len(readOnlyHooks))
+
+ // If the readOnlyHooks list is empty, nothing more to do
+ if len(readOnlyHooks) == 0 {
+ r.Log.Info("Marked scan as done as without running ReadOnly hooks as non were configured", "ScanName", scan.Name)
scan.Status.State = "Done"
if err := r.Status().Update(ctx, scan); err != nil {
- r.Log.Error(err, "unable to update Scan status")
+ r.Log.Error(err, "Unable to update Scan status")
return err
}
return nil
@@ -658,17 +686,18 @@ func (r *ScanReconciler) startPersistenceProvider(scan *executionv1.Scan) error
{
APIGroups: []string{"execution.experimental.securecodebox.io"},
Resources: []string{"scans"},
- Verbs: []string{"get"},
+ Verbs: []string{"get", "create", "list"},
},
}
+ serviceAccountName := "scan-completion-hook"
r.ensureServiceAccountExists(
scan.Namespace,
- "persistence",
- "PersistenceProvider need to access the current scan to view where its results are stored",
+ serviceAccountName,
+ "ScanCompletionHooks need to access the current scan to view where its results are stored",
rules,
)
- for _, persistenceProvider := range persistenceProviders.Items {
+ for _, hook := range readOnlyHooks {
rawFileURL, err := r.PresignedGetURL(scan.UID, scan.Status.RawResultFile)
if err != nil {
return err
@@ -678,77 +707,25 @@ func (r *ScanReconciler) startPersistenceProvider(scan *executionv1.Scan) error
return err
}
- standardEnvVars := []corev1.EnvVar{
- {
- Name: "NAMESPACE",
- ValueFrom: &corev1.EnvVarSource{
- FieldRef: &corev1.ObjectFieldSelector{
- FieldPath: "metadata.namespace",
- },
- },
- },
- {
- Name: "SCAN_NAME",
- Value: scan.Name,
- },
- }
-
- labels := scan.ObjectMeta.DeepCopy().Labels
- if labels == nil {
- labels = make(map[string]string)
- }
- labels["experimental.securecodebox.io/job-type"] = "persistence"
- job := &batch.Job{
- ObjectMeta: metav1.ObjectMeta{
- Annotations: make(map[string]string),
- Name: fmt.Sprintf("%s-%s", persistenceProvider.Name, scan.Name),
- Namespace: scan.Namespace,
- Labels: labels,
- },
- Spec: batch.JobSpec{
- Template: corev1.PodTemplateSpec{
- ObjectMeta: metav1.ObjectMeta{
- Annotations: map[string]string{
- "auto-discovery.experimental.securecodebox.io/ignore": "true",
- },
- },
- Spec: corev1.PodSpec{
- ServiceAccountName: "persistence",
- RestartPolicy: corev1.RestartPolicyNever,
- Containers: []corev1.Container{
- {
- Name: "persistence",
- Image: persistenceProvider.Spec.Image,
- Args: []string{
- rawFileURL,
- findingsFileURL,
- },
- Env: append(persistenceProvider.Spec.Env, standardEnvVars...),
- ImagePullPolicy: "IfNotPresent",
- },
- },
- },
- },
- TTLSecondsAfterFinished: nil,
+ jobName, err := r.createJobForHook(
+ &hook,
+ scan,
+ []string{
+ rawFileURL,
+ findingsFileURL,
},
- }
- if err := ctrl.SetControllerReference(scan, job, r.Scheme); err != nil {
- r.Log.Error(err, "Unable to set controllerReference on job", "job", job)
- return err
- }
-
- if err := r.Create(ctx, job); err != nil {
- r.Log.Error(err, "unable to create Job for Parser", "job", job)
+ )
+ if err != nil {
+ r.Log.Error(err, "Unable to create Job for ReadOnlyHook", "job", jobName)
return err
}
-
}
- scan.Status.State = "Persisting"
+ scan.Status.State = "ReadOnlyHookProcessing"
if err := r.Status().Update(ctx, scan); err != nil {
- r.Log.Error(err, "unable to update Scan status")
+ r.Log.Error(err, "Unable to update Scan status")
return err
}
- r.Log.Info("Started PersistenceProviders", "PersistenceProviderCount", len(persistenceProviders.Items))
+ r.Log.Info("Started ReadOnlyHook", "ReadOnlyHookCount", len(readOnlyHooks))
return nil
}
@@ -769,45 +746,45 @@ func allJobsCompleted(jobs *batch.JobList) jobCompletionType {
return incomplete
}
-func (r *ScanReconciler) checkIfPersistingIsCompleted(scan *executionv1.Scan) error {
+func (r *ScanReconciler) checkIfReadOnlyHookIsCompleted(scan *executionv1.Scan) error {
ctx := context.Background()
// check if k8s job for scan was already created
- var childPersistenceJobs batch.JobList
+ var readOnlyHookJobs batch.JobList
if err := r.List(
ctx,
- &childPersistenceJobs,
+ &readOnlyHookJobs,
client.InNamespace(scan.Namespace),
client.MatchingField(ownerKey, scan.Name),
client.MatchingLabels{
- "experimental.securecodebox.io/job-type": "persistence",
+ "experimental.securecodebox.io/job-type": "read-only-hook",
},
); err != nil {
- r.Log.Error(err, "unable to list child jobs")
+ r.Log.Error(err, "Unable to list child jobs")
return err
}
- r.Log.V(9).Info("Got related jobs", "count", len(childPersistenceJobs.Items))
+ r.Log.V(9).Info("Got related jobs", "count", len(readOnlyHookJobs.Items))
- persistenceCompletion := allJobsCompleted(&childPersistenceJobs)
- if persistenceCompletion == completed {
- r.Log.V(7).Info("All PersistenceProviders have completed")
+ readOnlyHookCompletion := allJobsCompleted(&readOnlyHookJobs)
+ if readOnlyHookCompletion == completed {
+ r.Log.V(7).Info("All ReadOnlyHooks have completed")
scan.Status.State = "Done"
if err := r.Status().Update(ctx, scan); err != nil {
- r.Log.Error(err, "unable to update Scan status")
+ r.Log.Error(err, "Unable to update Scan status")
return err
}
- } else if persistenceCompletion == failed {
- r.Log.Info("At least one PersistenceProvider failed")
+ } else if readOnlyHookCompletion == failed {
+ r.Log.Info("At least one ReadOnlyHook failed")
scan.Status.State = "Errored"
- scan.Status.ErrorDescription = "At least one PersistenceProvider failed, check the persistence kubernetes jobs related to the scan for more details."
+ scan.Status.ErrorDescription = "At least one ReadOnlyHook failed, check the hooks kubernetes jobs related to the scan for more details."
if err := r.Status().Update(ctx, scan); err != nil {
- r.Log.Error(err, "unable to update Scan status")
+ r.Log.Error(err, "Unable to update Scan status")
return err
}
}
- // PersistenceProvider(s) are still running. At least some of them are.
+ // ReadOnlyHook(s) are still running. At least some of them are.
// Waiting until all are done.
return nil
}
@@ -951,3 +928,254 @@ func (r *ScanReconciler) SetupWithManager(mgr ctrl.Manager) error {
Owns(&batch.Job{}).
Complete(r)
}
+
+func (r *ScanReconciler) setHookStatus(scan *executionv1.Scan) error {
+ // Set (pending) Hook status on the scan
+ ctx := context.Background()
+ var scanCompletionHooks executionv1.ScanCompletionHookList
+
+ if err := r.List(ctx, &scanCompletionHooks, client.InNamespace(scan.Namespace)); err != nil {
+ r.Log.V(7).Info("Unable to fetch ScanCompletionHooks")
+ return err
+ }
+
+ r.Log.Info("Found ScanCompletionHooks", "ScanCompletionHooks", len(scanCompletionHooks.Items))
+
+ readAndWriteHooks := []executionv1.ScanCompletionHook{}
+ // filter all ReadAndWriteHooks in the scamCompletionHooks list
+ for _, hook := range scanCompletionHooks.Items {
+ if hook.Spec.Type == executionv1.ReadAndWrite {
+ readAndWriteHooks = append(readAndWriteHooks, hook)
+ }
+ }
+
+ r.Log.Info("Found ReadAndWriteHooks", "ReadAndWriteHooks", len(readAndWriteHooks))
+
+ hookStatus := []executionv1.HookStatus{}
+
+ for _, hook := range readAndWriteHooks {
+ hookStatus = append(hookStatus, executionv1.HookStatus{
+ HookName: hook.Name,
+ State: executionv1.Pending,
+ })
+ }
+
+ scan.Status.State = "ReadAndWriteHookProcessing"
+ scan.Status.ReadAndWriteHookStatus = hookStatus
+
+ if err := r.Status().Update(ctx, scan); err != nil {
+ r.Log.Error(err, "unable to update Scan status")
+ return err
+ }
+
+ return nil
+}
+
+func (r *ScanReconciler) createJobForHook(hook *executionv1.ScanCompletionHook, scan *executionv1.Scan, cliArgs []string) (string, error) {
+ ctx := context.Background()
+ rules := []rbacv1.PolicyRule{
+ {
+ APIGroups: []string{"execution.experimental.securecodebox.io"},
+ Resources: []string{"scans"},
+ Verbs: []string{"get", "list", "create"},
+ },
+ {
+ APIGroups: []string{"execution.experimental.securecodebox.io"},
+ Resources: []string{"scans/status"},
+ Verbs: []string{"get", "patch"},
+ },
+ }
+ serviceAccountName := "scan-completion-hook"
+ r.ensureServiceAccountExists(
+ hook.Namespace,
+ serviceAccountName,
+ "ScanCompletionHooks need to access the current scan to view where its results are stored",
+ rules,
+ )
+
+ standardEnvVars := []corev1.EnvVar{
+ {
+ Name: "NAMESPACE",
+ ValueFrom: &corev1.EnvVarSource{
+ FieldRef: &corev1.ObjectFieldSelector{
+ FieldPath: "metadata.namespace",
+ },
+ },
+ },
+ {
+ Name: "SCAN_NAME",
+ Value: scan.Name,
+ },
+ }
+
+ // Starting a new job based on the current ReadAndWrite Hook
+ labels := scan.ObjectMeta.DeepCopy().Labels
+ if labels == nil {
+ labels = make(map[string]string)
+ }
+ if hook.Spec.Type == executionv1.ReadAndWrite {
+ labels["experimental.securecodebox.io/job-type"] = "read-and-write-hook"
+ } else if hook.Spec.Type == executionv1.ReadOnly {
+ labels["experimental.securecodebox.io/job-type"] = "read-only-hook"
+ }
+ var backOffLimit int32 = 3
+ job := &batch.Job{
+ ObjectMeta: metav1.ObjectMeta{
+ Annotations: make(map[string]string),
+ Name: fmt.Sprintf("%s-%s", hook.Name, scan.Name),
+ Namespace: scan.Namespace,
+ Labels: labels,
+ },
+ Spec: batch.JobSpec{
+ BackoffLimit: &backOffLimit,
+ Template: corev1.PodTemplateSpec{
+ ObjectMeta: metav1.ObjectMeta{
+ Annotations: map[string]string{
+ "auto-discovery.experimental.securecodebox.io/ignore": "true",
+ },
+ },
+ Spec: corev1.PodSpec{
+ ServiceAccountName: serviceAccountName,
+ RestartPolicy: corev1.RestartPolicyNever,
+ Containers: []corev1.Container{
+ {
+ Name: "hook",
+ Image: hook.Spec.Image,
+ Args: cliArgs,
+ Env: append(hook.Spec.Env, standardEnvVars...),
+ ImagePullPolicy: "IfNotPresent",
+ },
+ },
+ },
+ },
+ TTLSecondsAfterFinished: nil,
+ },
+ }
+ if err := ctrl.SetControllerReference(scan, job, r.Scheme); err != nil {
+ r.Log.Error(err, "Unable to set controllerReference on job", "job", job)
+ return "", err
+ }
+
+ if err := r.Create(ctx, job); err != nil {
+ return "", err
+ }
+ return job.Name, nil
+}
+
+func (r *ScanReconciler) updateHookStatus(scan *executionv1.Scan, hookStatus executionv1.HookStatus) error {
+ for i, hook := range scan.Status.ReadAndWriteHookStatus {
+ if hook.HookName == hookStatus.HookName {
+ scan.Status.ReadAndWriteHookStatus[i] = hookStatus
+ break
+ }
+ }
+ if err := r.Status().Update(context.Background(), scan); err != nil {
+ r.Log.Error(err, "unable to update Scan status")
+ return err
+ }
+ return nil
+}
+
+func (r *ScanReconciler) executeReadAndWriteHooks(scan *executionv1.Scan) error {
+ // Get the first Hook Status which is not completed.
+ ctx := context.Background()
+ var nonCompletedHook *executionv1.HookStatus
+
+ for _, hook := range scan.Status.ReadAndWriteHookStatus {
+ if hook.State != executionv1.Completed {
+ nonCompletedHook = &hook
+ break
+ }
+ }
+
+ // If nil then all hooks are done
+ if nonCompletedHook == nil {
+ scan.Status.State = "ReadAndWriteHookCompleted"
+ if err := r.Status().Update(ctx, scan); err != nil {
+ r.Log.Error(err, "unable to update Scan status")
+ return err
+ }
+ return nil
+ }
+
+ switch nonCompletedHook.State {
+ case executionv1.Pending:
+ rawFileURL, err := r.PresignedGetURL(scan.UID, scan.Status.RawResultFile)
+ if err != nil {
+ return err
+ }
+ findingsFileURL, err := r.PresignedGetURL(scan.UID, "findings.json")
+ if err != nil {
+ return err
+ }
+
+ rawFileUploadURL, err := r.PresignedPutURL(scan.UID, scan.Status.RawResultFile)
+ if err != nil {
+ return err
+ }
+ findingsUploadURL, err := r.PresignedPutURL(scan.UID, "findings.json")
+ if err != nil {
+ return err
+ }
+
+ var hook executionv1.ScanCompletionHook
+ if err := r.Get(ctx, types.NamespacedName{Name: nonCompletedHook.HookName, Namespace: scan.Namespace}, &hook); err != nil {
+ r.Log.Error(err, "Failed to get ReadAndWrite Hook for HookStatus")
+ return err
+ }
+
+ jobName, err := r.createJobForHook(
+ &hook,
+ scan,
+ []string{
+ rawFileURL,
+ findingsFileURL,
+ rawFileUploadURL,
+ findingsUploadURL,
+ },
+ )
+
+ // Update the currently executed hook status to "InProgress"
+ err = r.updateHookStatus(scan, executionv1.HookStatus{
+ HookName: nonCompletedHook.HookName,
+ JobName: jobName,
+ State: executionv1.InProgress,
+ })
+ return err
+ case executionv1.InProgress:
+ jobStatus, err := r.checkIfJobIsCompleted(nonCompletedHook.JobName, scan.Namespace)
+ if err != nil {
+ r.Log.Error(err, "Failed to check job status for ReadAndWrite Hook")
+ return err
+ }
+ switch jobStatus {
+ case completed:
+ // Job is completed => set current Hook to completed
+ err = r.updateHookStatus(scan, executionv1.HookStatus{
+ HookName: nonCompletedHook.HookName,
+ JobName: nonCompletedHook.JobName,
+ State: executionv1.Completed,
+ })
+ return err
+ case incomplete:
+ // Still waiting for job to finish
+ return nil
+ case failed:
+ for i, hookStatus := range scan.Status.ReadAndWriteHookStatus {
+ if hookStatus.HookName == nonCompletedHook.HookName {
+ scan.Status.ReadAndWriteHookStatus[i].State = executionv1.Failed
+ } else if hookStatus.State == executionv1.Pending {
+ scan.Status.ReadAndWriteHookStatus[i].State = executionv1.Cancelled
+ }
+ }
+ scan.Status.State = "Errored"
+ scan.Status.ErrorDescription = fmt.Sprintf("Failed to execute ReadAndWrite Hook '%s' in job '%s'. Check the logs of the hook for more information.", nonCompletedHook.HookName, nonCompletedHook.JobName)
+ if err := r.Status().Update(ctx, scan); err != nil {
+ r.Log.Error(err, "unable to update Scan status")
+ return err
+ }
+ }
+ }
+
+ return nil
+}
diff --git a/operator/crds/execution.experimental.securecodebox.io_persistenceproviders.yaml b/operator/crds/execution.experimental.securecodebox.io_scancompletionhooks.yaml
similarity index 87%
rename from operator/crds/execution.experimental.securecodebox.io_persistenceproviders.yaml
rename to operator/crds/execution.experimental.securecodebox.io_scancompletionhooks.yaml
index 6e51a957..5b7d72d0 100644
--- a/operator/crds/execution.experimental.securecodebox.io_persistenceproviders.yaml
+++ b/operator/crds/execution.experimental.securecodebox.io_scancompletionhooks.yaml
@@ -6,25 +6,28 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
- name: persistenceproviders.execution.experimental.securecodebox.io
+ name: scancompletionhooks.execution.experimental.securecodebox.io
spec:
additionalPrinterColumns:
+ - JSONPath: .spec.type
+ description: ScanCompletionHook Type
+ name: Type
+ type: string
- JSONPath: .spec.image
- description: PersistenceProvider Image
+ description: ScanCompletionHook Image
name: Image
type: string
group: execution.experimental.securecodebox.io
names:
- kind: PersistenceProvider
- listKind: PersistenceProviderList
- plural: persistenceproviders
- singular: persistenceprovider
+ kind: ScanCompletionHook
+ listKind: ScanCompletionHookList
+ plural: scancompletionhooks
+ singular: scancompletionhook
scope: Namespaced
subresources: {}
validation:
openAPIV3Schema:
- description: PersistenceProvider is the Schema for the persistenceproviders
- API
+ description: ScanCompletionHook is the Schema for the ScanCompletionHooks API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
@@ -39,7 +42,7 @@ spec:
metadata:
type: object
spec:
- description: PersistenceProviderSpec defines the desired state of PersistenceProvider
+ description: ScanCompletionHookSpec defines the desired state of ScanCompletionHook
properties:
env:
items:
@@ -140,12 +143,17 @@ spec:
type: object
type: array
image:
- description: Foo is an example field of PersistenceProvider. Edit PersistenceProvider_types.go
- to remove/update
+ description: Image is the container image for the hooks kubernetes job
+ type: string
+ type:
+ description: HookType Defines weather the hook should be able to change
+ the findings or is run in a read only mode.
type: string
+ required:
+ - type
type: object
status:
- description: PersistenceProviderStatus defines the observed state of PersistenceProvider
+ description: ScanCompletionHookStatus defines the observed state of ScanCompletionHook
type: object
type: object
version: v1
diff --git a/operator/crds/execution.experimental.securecodebox.io_scans.yaml b/operator/crds/execution.experimental.securecodebox.io_scans.yaml
index 1d860020..f435f3b7 100644
--- a/operator/crds/execution.experimental.securecodebox.io_scans.yaml
+++ b/operator/crds/execution.experimental.securecodebox.io_scans.yaml
@@ -113,6 +113,21 @@ spec:
description: RawResultType determines which kind of ParseDefinition
will be used to turn the raw results of the scanner into findings
type: string
+ readAndWriteHookStatus:
+ items:
+ properties:
+ hookName:
+ type: string
+ jobName:
+ type: string
+ state:
+ description: HookState Describes the State of a Hook on a Scan
+ type: string
+ required:
+ - hookName
+ - state
+ type: object
+ type: array
state:
type: string
type: object
diff --git a/operator/templates/manager/manager.yaml b/operator/templates/manager/manager.yaml
index 458bd20b..2ee84703 100644
--- a/operator/templates/manager/manager.yaml
+++ b/operator/templates/manager/manager.yaml
@@ -81,10 +81,5 @@ spec:
- name: LURCHER_PULL_POLICY
value: {{ .Values.lurcher.image.pullPolicy }}
resources:
- limits:
- cpu: 100m
- memory: 30Mi
- requests:
- cpu: 100m
- memory: 20Mi
+ {{- toYaml .Values.resources | nindent 12 }}
terminationGracePeriodSeconds: 10
diff --git a/operator/templates/rbac/auth_proxy_client_clusterrole.yaml b/operator/templates/rbac/auth_proxy_client_clusterrole.yaml
new file mode 100644
index 00000000..7d62534c
--- /dev/null
+++ b/operator/templates/rbac/auth_proxy_client_clusterrole.yaml
@@ -0,0 +1,7 @@
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRole
+metadata:
+ name: metrics-reader
+rules:
+- nonResourceURLs: ["/metrics"]
+ verbs: ["get"]
diff --git a/operator/templates/rbac/auth_proxy_role.yaml b/operator/templates/rbac/auth_proxy_role.yaml
new file mode 100644
index 00000000..618f5e41
--- /dev/null
+++ b/operator/templates/rbac/auth_proxy_role.yaml
@@ -0,0 +1,13 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: proxy-role
+rules:
+- apiGroups: ["authentication.k8s.io"]
+ resources:
+ - tokenreviews
+ verbs: ["create"]
+- apiGroups: ["authorization.k8s.io"]
+ resources:
+ - subjectaccessreviews
+ verbs: ["create"]
diff --git a/operator/templates/rbac/auth_proxy_role_binding.yaml b/operator/templates/rbac/auth_proxy_role_binding.yaml
new file mode 100644
index 00000000..efcb2865
--- /dev/null
+++ b/operator/templates/rbac/auth_proxy_role_binding.yaml
@@ -0,0 +1,13 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: proxy-rolebinding
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: proxy-role
+subjects:
+- kind: ServiceAccount
+ name: default
+ namespace: {{ .Release.Namespace }}
+
diff --git a/operator/templates/rbac/auth_proxy_service.yaml b/operator/templates/rbac/auth_proxy_service.yaml
new file mode 100644
index 00000000..2cc3788c
--- /dev/null
+++ b/operator/templates/rbac/auth_proxy_service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ control-plane: controller-manager
+ name: controller-manager-metrics-service
+ namespace: {{ .Release.Namespace }}
+spec:
+ ports:
+ - name: https
+ port: 8443
+ targetPort: https
+ selector:
+ control-plane: controller-manager
diff --git a/operator/templates/rbac/persistenceprovider_editor_role.yaml b/operator/templates/rbac/persistenceprovider_editor_role.yaml
deleted file mode 100644
index 1bbbfe1a..00000000
--- a/operator/templates/rbac/persistenceprovider_editor_role.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-# permissions for end users to edit persistenceproviders.
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: persistenceprovider-editor-role
-rules:
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders/status
- verbs:
- - get
diff --git a/operator/templates/rbac/persistenceprovider_viewer_role.yaml b/operator/templates/rbac/persistenceprovider_viewer_role.yaml
deleted file mode 100644
index ec836136..00000000
--- a/operator/templates/rbac/persistenceprovider_viewer_role.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# permissions for end users to view persistenceproviders.
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: persistenceprovider-viewer-role
-rules:
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - execution.experimental.securecodebox.io
- resources:
- - persistenceproviders/status
- verbs:
- - get
diff --git a/operator/templates/rbac/role.yaml b/operator/templates/rbac/role.yaml
index 681c96db..b1bd525a 100644
--- a/operator/templates/rbac/role.yaml
+++ b/operator/templates/rbac/role.yaml
@@ -44,7 +44,7 @@ rules:
- apiGroups:
- execution.experimental.securecodebox.io
resources:
- - persistenceproviders
+ - scancompletionhooks
verbs:
- get
- list
diff --git a/operator/values.yaml b/operator/values.yaml
index fd26a99c..2a6e396d 100644
--- a/operator/values.yaml
+++ b/operator/values.yaml
@@ -35,3 +35,14 @@ s3:
# Example creation via kubectl:
# kubectl create secret generic my-secret --from-literal=accessKey="******" --from-literal=secretKey="******"
keySecret: my-secret
+
+#
+# Config for the operator ressource limits
+#
+resources:
+ limits:
+ cpu: 100m
+ memory: 30Mi
+ requests:
+ cpu: 100m
+ memory: 20Mi
\ No newline at end of file
diff --git a/package.json b/package.json
index a2b73dee..a300945f 100644
--- a/package.json
+++ b/package.json
@@ -30,8 +30,8 @@
},
"jest": {
"projects": [
- "/integrations/",
- "/persistence/persistence-elastic/",
+ "/scanner/",
+ "/hooks/",
{
"displayName": "lint",
"runner": "jest-runner-eslint",
diff --git a/persistence-sdk/nodejs/persistence-wrapper.js b/persistence-sdk/nodejs/persistence-wrapper.js
deleted file mode 100644
index c538d76c..00000000
--- a/persistence-sdk/nodejs/persistence-wrapper.js
+++ /dev/null
@@ -1,58 +0,0 @@
-const axios = require('axios');
-const { persist } = require('./persistence/persist');
-const k8s = require('@kubernetes/client-node');
-
-async function main() {
- const rawResultUrl = process.argv[2];
- const getRawResult = (url => () =>
- axios.get(url).then(({ data: findings }) => {
- console.log(`Fetched ${findings.length} findings from the file storage`);
- return findings;
- }))(rawResultUrl);
-
- const findingsUrl = process.argv[3];
- const getFindings = (url => () =>
- axios.get(url).then(res => {
- console.log(`Fetched raw result file contents from the file storage`);
- return res.data;
- }))(findingsUrl);
-
- const scanName = process.env['SCAN_NAME'];
- const namespace = process.env['NAMESPACE'];
- console.log(`Starting PersistenceProvider for Scan "${scanName}"`);
-
- const kc = new k8s.KubeConfig();
- kc.loadFromCluster();
-
- const k8sApi = kc.makeApiClient(k8s.CustomObjectsApi);
-
- let scan;
- try {
- const { body } = await k8sApi.getNamespacedCustomObject(
- 'execution.experimental.securecodebox.io',
- 'v1',
- namespace,
- 'scans',
- scanName
- );
- scan = body;
- } catch (err) {
- console.error('Failed to get Scan from the kubernetes api');
- console.error(err);
- process.exit(1);
- }
-
- try {
- await persist({ getRawResult, getFindings, scan });
- } catch (error) {
- console.error(
- 'Error was thrown while running PersistenceProviders persist function'
- );
- console.error(error);
- process.exit(1);
- }
-
- console.log(`Completed PersistenceProvider`);
-}
-
-main();
diff --git a/persistence/persistence-elastic/persist.test.js b/persistence/persistence-elastic/persist.test.js
deleted file mode 100644
index d01d8a99..00000000
--- a/persistence/persistence-elastic/persist.test.js
+++ /dev/null
@@ -1,118 +0,0 @@
-const { persist, elasticClient } = require('./persist');
-
-beforeEach(() => {
- elasticClient.index.mockClear();
- elasticClient.bulk.mockClear();
-});
-
-test('should only send scan summary document if no findings are passing in', async () => {
- const findings = [];
-
- const getFindings = async () => findings;
-
- const scan = {
- metadata: {
- uid: '09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc',
- name: 'demo-scan',
- labels: {
- company: 'iteratec',
- },
- },
- spec: {
- scanType: 'Nmap',
- parameters: ['-Pn', 'localhost'],
- },
- };
-
- const now = new Date();
-
- await persist({ getFindings, scan, now, tenant: 'default' });
-
- expect(elasticClient.index).toBeCalledTimes(1);
- expect(elasticClient.index).toBeCalledWith({
- body: {
- '@timestamp': now,
- id: '09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc',
- labels: {
- company: 'iteratec',
- },
- name: 'demo-scan',
- parameters: ['-Pn', 'localhost'],
- scan_type: 'Nmap',
- type: 'scan',
- },
- index: `scbv2_default_${now.toISOString().substr(0, 10)}`,
- });
- expect(elasticClient.bulk).not.toBeCalled();
-});
-
-test('should send findings to elasticsearch', async () => {
- const findings = [
- {
- id: '4560b3e6-1219-4f5f-9b44-6579f5a32407',
- name: 'Port 5601 is open',
- category: 'Open Port',
- },
- ];
-
- const getFindings = async () => findings;
-
- const scan = {
- metadata: {
- uid: '09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc',
- name: 'demo-scan',
- labels: {
- company: 'iteratec',
- },
- },
- spec: {
- scanType: 'Nmap',
- parameters: ['-Pn', 'localhost'],
- },
- };
-
- const now = new Date();
-
- await persist({ getFindings, scan, now, tenant: 'default' });
-
- expect(elasticClient.index).toBeCalledTimes(1);
- expect(elasticClient.index).toBeCalledWith({
- body: {
- '@timestamp': now,
- id: '09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc',
- labels: {
- company: 'iteratec',
- },
- name: 'demo-scan',
- parameters: ['-Pn', 'localhost'],
- scan_type: 'Nmap',
- type: 'scan',
- },
- index: `scbv2_default_${now.toISOString().substr(0, 10)}`,
- });
-
- expect(elasticClient.bulk).toBeCalledTimes(1);
- expect(elasticClient.bulk).toBeCalledWith({
- refresh: true,
- body: [
- {
- index: {
- _index: `scbv2_default_${now.toISOString().substr(0, 10)}`,
- },
- },
- {
- '@timestamp': now,
- category: 'Open Port',
- id: '4560b3e6-1219-4f5f-9b44-6579f5a32407',
- name: 'Port 5601 is open',
- scan_id: '09988cdf-1fc7-4f85-95ee-1b1d65dbc7cc',
- scan_labels: {
- company: 'iteratec',
- },
- scan_name: 'demo-scan',
- scan_type: 'Nmap',
- type: 'finding',
- },
- ],
- });
-});
diff --git a/integrations/.gitignore b/scanner/.gitignore
similarity index 100%
rename from integrations/.gitignore
rename to scanner/.gitignore
diff --git a/integrations/amass/.helmignore b/scanner/amass/.helmignore
similarity index 100%
rename from integrations/amass/.helmignore
rename to scanner/amass/.helmignore
diff --git a/integrations/amass/Chart.yaml b/scanner/amass/Chart.yaml
similarity index 62%
rename from integrations/amass/Chart.yaml
rename to scanner/amass/Chart.yaml
index 25ddf438..cf8662cc 100644
--- a/integrations/amass/Chart.yaml
+++ b/scanner/amass/Chart.yaml
@@ -4,17 +4,17 @@ description: A Helm chart for the Amass security Scanner that integrates with th
type: application
version: 0.1.0
-appVersion: latest
+appVersion: 3.7.1
keywords:
-- security
-- amass
-- scanner
-- secureCodeBox
+ - security
+ - amass
+ - scanner
+ - secureCodeBox
home: https://www.securecodebox.io/scanner/Amass
icon: https://www.securecodebox.io/integrationIcons/Amass.svg
sources:
-- https://github.com/secureCodeBox/secureCodeBox
+ - https://github.com/secureCodeBox/secureCodeBox
maintainers:
-- name: iteratec GmbH
- email: security@iteratec.com
+ - name: iteratec GmbH
+ email: security@iteratec.com
diff --git a/scanner/amass/README.md b/scanner/amass/README.md
new file mode 100644
index 00000000..5a0cdbf2
--- /dev/null
+++ b/scanner/amass/README.md
@@ -0,0 +1,58 @@
+---
+title: "Amass"
+path: "scanner/Amass"
+category: "scanner"
+usecase: "Subdomain Enumeration Scanner"
+---
+
+
+
+The OWASP Amass Project has developed a tool to help information security professionals perform network mapping of attack surfaces and perform external asset discovery using open source information gathering and active reconnaissance techniques. To learn more about the Amass scanner itself visit [OWASP_Amass_Project] or [Amass GitHub].
+
+
+
+## Deployment
+
+The AMASS scanType can be deployed via helm.
+
+```bash
+helm upgrade --install amass ./scanner/amass/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *secureCodeBox.io* [scan](./examples/secureCodeBox.io/scan.yaml) and [findings](./examples/secureCodeBox.io/findings.yaml)
+* Example *example.com* [scan](./examples/secureCodeBox.io/scan.yaml) and [findings](./examples/secureCodeBox.io/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [Amass User Guide], please take a look at the original documentation for more configuration examples.
+
+* The most basic use of the tool for subdomain enumeration: `amass enum -d example.com`
+* Typical parameters for DNS enumeration: `amass enum -v -src -ip -brute -min-for-recursive 2 -d example.com`
+
+Special command line options:
+* Disable generation of altered names `amass enum -noalts -d example.com`
+* Turn off recursive brute forcing `amass enum -brute -norecursive -d example.com`
+* Disable saving data into a local database `amass enum -nolocaldb -d example.com`
+* Domain names separated by commas (can be used multiple times) `amass enum -d example.com`
+
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+[OWASP_Amass_Project]: https://owasp.org/www-project-amass/
+[Amass GitHub]: https://github.com/OWASP/Amass
+[Amass User Guide]: https://github.com/OWASP/Amass/blob/master/doc/user_guide.md
\ No newline at end of file
diff --git a/scanner/amass/examples/example.com/scan.yaml b/scanner/amass/examples/example.com/scan.yaml
new file mode 100644
index 00000000..c112a67f
--- /dev/null
+++ b/scanner/amass/examples/example.com/scan.yaml
@@ -0,0 +1,12 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: Scan
+metadata:
+ name: "amass-example.com"
+spec:
+ scanType: "amass"
+ parameters:
+ - "-noalts"
+ - "-norecursive"
+ - "-nolocaldb"
+ - "-d"
+ - "example.com"
diff --git a/operator/config/samples/execution_v1_scan/amass_securecodebox_io.yaml b/scanner/amass/examples/secureCodeBox.io/scan.yaml
similarity index 100%
rename from operator/config/samples/execution_v1_scan/amass_securecodebox_io.yaml
rename to scanner/amass/examples/secureCodeBox.io/scan.yaml
diff --git a/integrations/amass/parser/Dockerfile b/scanner/amass/parser/Dockerfile
similarity index 100%
rename from integrations/amass/parser/Dockerfile
rename to scanner/amass/parser/Dockerfile
diff --git a/integrations/amass/parser/__snapshots__/parser.test.js.snap b/scanner/amass/parser/__snapshots__/parser.test.js.snap
similarity index 100%
rename from integrations/amass/parser/__snapshots__/parser.test.js.snap
rename to scanner/amass/parser/__snapshots__/parser.test.js.snap
diff --git a/integrations/amass/parser/__testFiles__/securecodebox.io.jsonl b/scanner/amass/parser/__testFiles__/securecodebox.io.jsonl
similarity index 100%
rename from integrations/amass/parser/__testFiles__/securecodebox.io.jsonl
rename to scanner/amass/parser/__testFiles__/securecodebox.io.jsonl
diff --git a/integrations/amass/parser/parser.js b/scanner/amass/parser/parser.js
similarity index 100%
rename from integrations/amass/parser/parser.js
rename to scanner/amass/parser/parser.js
diff --git a/integrations/amass/parser/parser.test.js b/scanner/amass/parser/parser.test.js
similarity index 100%
rename from integrations/amass/parser/parser.test.js
rename to scanner/amass/parser/parser.test.js
diff --git a/integrations/amass/templates/amass-parse-definition.yaml b/scanner/amass/templates/amass-parse-definition.yaml
similarity index 100%
rename from integrations/amass/templates/amass-parse-definition.yaml
rename to scanner/amass/templates/amass-parse-definition.yaml
diff --git a/integrations/amass/templates/amass-scan-type.yaml b/scanner/amass/templates/amass-scan-type.yaml
similarity index 99%
rename from integrations/amass/templates/amass-scan-type.yaml
rename to scanner/amass/templates/amass-scan-type.yaml
index b843f39b..02c107cb 100644
--- a/integrations/amass/templates/amass-scan-type.yaml
+++ b/scanner/amass/templates/amass-scan-type.yaml
@@ -16,7 +16,7 @@ spec:
restartPolicy: OnFailure
containers:
- name: amass
- image: caffix/amass:v3.6.3
+ image: caffix/amass:v3.7.1
command:
- "amass"
- "enum"
diff --git a/integrations/amass/values.yaml b/scanner/amass/values.yaml
similarity index 100%
rename from integrations/amass/values.yaml
rename to scanner/amass/values.yaml
diff --git a/scanner/http-webhook/.helmignore b/scanner/http-webhook/.helmignore
new file mode 100644
index 00000000..0e8a0eb3
--- /dev/null
+++ b/scanner/http-webhook/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/scanner/http-webhook/Chart.yaml b/scanner/http-webhook/Chart.yaml
new file mode 100644
index 00000000..dfd68ec9
--- /dev/null
+++ b/scanner/http-webhook/Chart.yaml
@@ -0,0 +1,23 @@
+apiVersion: v2
+name: http-webhook
+description: A Dummy webserver to echo HTTP requests in log
+
+# A chart can be either an 'application' or a 'library' chart.
+#
+# Application charts are a collection of templates that can be packaged into versioned archives
+# to be deployed.
+#
+# Library charts provide useful utilities or functions for the chart developer. They're included as
+# a dependency of application charts to inject those utilities and functions into the rendering
+# pipeline. Library charts do not define any templates and therefore cannot be deployed.
+type: application
+
+# This is the chart version. This version number should be incremented each time you make changes
+# to the chart and its templates, including the app version.
+# Versions are expected to follow Semantic Versioning (https://semver.org/)
+version: 0.1.0
+
+# This is the version number of the application being deployed. This version number should be
+# incremented each time you make changes to the application. Versions are not expected to
+# follow Semantic Versioning. They should reflect the version the application is using.
+appVersion: 1.16.0
diff --git a/scanner/http-webhook/templates/NOTES.txt b/scanner/http-webhook/templates/NOTES.txt
new file mode 100644
index 00000000..bce7e42d
--- /dev/null
+++ b/scanner/http-webhook/templates/NOTES.txt
@@ -0,0 +1,21 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range $host := .Values.ingress.hosts }}
+ {{- range .paths }}
+ http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
+ {{- end }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "http-webhook.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "http-webhook.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "http-webhook.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
+ echo http://$SERVICE_IP:{{ .Values.service.port }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "http-webhook.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80
+{{- end }}
diff --git a/scanner/http-webhook/templates/_helpers.tpl b/scanner/http-webhook/templates/_helpers.tpl
new file mode 100644
index 00000000..31997741
--- /dev/null
+++ b/scanner/http-webhook/templates/_helpers.tpl
@@ -0,0 +1,63 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "http-webhook.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "http-webhook.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "http-webhook.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "http-webhook.labels" -}}
+helm.sh/chart: {{ include "http-webhook.chart" . }}
+{{ include "http-webhook.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "http-webhook.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "http-webhook.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "http-webhook.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "http-webhook.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
diff --git a/scanner/http-webhook/templates/deployment.yaml b/scanner/http-webhook/templates/deployment.yaml
new file mode 100644
index 00000000..ebfbd8e5
--- /dev/null
+++ b/scanner/http-webhook/templates/deployment.yaml
@@ -0,0 +1,61 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "http-webhook.fullname" . }}
+ labels:
+ {{- include "http-webhook.labels" . | nindent 4 }}
+spec:
+{{- if not .Values.autoscaling.enabled }}
+ replicas: {{ .Values.replicaCount }}
+{{- end }}
+ selector:
+ matchLabels:
+ {{- include "http-webhook.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ {{- with .Values.podAnnotations }}
+ annotations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ labels:
+ {{- include "http-webhook.selectorLabels" . | nindent 8 }}
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ include "http-webhook.serviceAccountName" . }}
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{- toYaml .Values.securityContext | nindent 12 }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ ports:
+ - name: http
+ containerPort: 80
+ protocol: TCP
+ livenessProbe:
+ httpGet:
+ path: /
+ port: http
+ readinessProbe:
+ httpGet:
+ path: /
+ port: http
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
diff --git a/scanner/http-webhook/templates/hpa.yaml b/scanner/http-webhook/templates/hpa.yaml
new file mode 100644
index 00000000..53e511bd
--- /dev/null
+++ b/scanner/http-webhook/templates/hpa.yaml
@@ -0,0 +1,28 @@
+{{- if .Values.autoscaling.enabled }}
+apiVersion: autoscaling/v2beta1
+kind: HorizontalPodAutoscaler
+metadata:
+ name: {{ include "http-webhook.fullname" . }}
+ labels:
+ {{- include "http-webhook.labels" . | nindent 4 }}
+spec:
+ scaleTargetRef:
+ apiVersion: apps/v1
+ kind: Deployment
+ name: {{ include "http-webhook.fullname" . }}
+ minReplicas: {{ .Values.autoscaling.minReplicas }}
+ maxReplicas: {{ .Values.autoscaling.maxReplicas }}
+ metrics:
+ {{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
+ - type: Resource
+ resource:
+ name: cpu
+ targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
+ {{- end }}
+ {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
+ - type: Resource
+ resource:
+ name: memory
+ targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
+ {{- end }}
+{{- end }}
diff --git a/scanner/http-webhook/templates/ingress.yaml b/scanner/http-webhook/templates/ingress.yaml
new file mode 100644
index 00000000..cb0939c3
--- /dev/null
+++ b/scanner/http-webhook/templates/ingress.yaml
@@ -0,0 +1,41 @@
+{{- if .Values.ingress.enabled -}}
+{{- $fullName := include "http-webhook.fullname" . -}}
+{{- $svcPort := .Values.service.port -}}
+{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+apiVersion: networking.k8s.io/v1beta1
+{{- else -}}
+apiVersion: extensions/v1beta1
+{{- end }}
+kind: Ingress
+metadata:
+ name: {{ $fullName }}
+ labels:
+ {{- include "http-webhook.labels" . | nindent 4 }}
+ {{- with .Values.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if .Values.ingress.tls }}
+ tls:
+ {{- range .Values.ingress.tls }}
+ - hosts:
+ {{- range .hosts }}
+ - {{ . | quote }}
+ {{- end }}
+ secretName: {{ .secretName }}
+ {{- end }}
+ {{- end }}
+ rules:
+ {{- range .Values.ingress.hosts }}
+ - host: {{ .host | quote }}
+ http:
+ paths:
+ {{- range .paths }}
+ - path: {{ . }}
+ backend:
+ serviceName: {{ $fullName }}
+ servicePort: {{ $svcPort }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
diff --git a/scanner/http-webhook/templates/service.yaml b/scanner/http-webhook/templates/service.yaml
new file mode 100644
index 00000000..525b2caf
--- /dev/null
+++ b/scanner/http-webhook/templates/service.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "http-webhook.fullname" . }}
+ labels:
+ {{- include "http-webhook.labels" . | nindent 4 }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ - port: {{ .Values.service.port }}
+ targetPort: http
+ protocol: TCP
+ name: http
+ selector:
+ {{- include "http-webhook.selectorLabels" . | nindent 4 }}
diff --git a/scanner/http-webhook/templates/serviceaccount.yaml b/scanner/http-webhook/templates/serviceaccount.yaml
new file mode 100644
index 00000000..da37a005
--- /dev/null
+++ b/scanner/http-webhook/templates/serviceaccount.yaml
@@ -0,0 +1,12 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ include "http-webhook.serviceAccountName" . }}
+ labels:
+ {{- include "http-webhook.labels" . | nindent 4 }}
+ {{- with .Values.serviceAccount.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+{{- end }}
diff --git a/scanner/http-webhook/templates/tests/test-connection.yaml b/scanner/http-webhook/templates/tests/test-connection.yaml
new file mode 100644
index 00000000..f97ed58d
--- /dev/null
+++ b/scanner/http-webhook/templates/tests/test-connection.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ name: "{{ include "http-webhook.fullname" . }}-test-connection"
+ labels:
+ {{- include "http-webhook.labels" . | nindent 4 }}
+ annotations:
+ "helm.sh/hook": test-success
+spec:
+ containers:
+ - name: wget
+ image: busybox
+ command: ['wget']
+ args: ['{{ include "http-webhook.fullname" . }}:{{ .Values.service.port }}']
+ restartPolicy: Never
diff --git a/scanner/http-webhook/values.yaml b/scanner/http-webhook/values.yaml
new file mode 100644
index 00000000..700c20d3
--- /dev/null
+++ b/scanner/http-webhook/values.yaml
@@ -0,0 +1,80 @@
+# Default values for http-webhook.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+image:
+ registry: docker.io
+ repository: mendhak/http-https-echo
+ pullPolicy: IfNotPresent
+ # Overrides the image tag whose default is the chart appVersion.
+ tag: "latest"
+
+imagePullSecrets: []
+nameOverride: ""
+fullnameOverride: ""
+
+serviceAccount:
+ # Specifies whether a service account should be created
+ create: true
+ # Annotations to add to the service account
+ annotations: {}
+ # The name of the service account to use.
+ # If not set and create is true, a name is generated using the fullname template
+ name: ""
+
+podAnnotations: {}
+
+podSecurityContext: {}
+ # fsGroup: 2000
+
+securityContext: {}
+ # capabilities:
+ # drop:
+ # - ALL
+ # readOnlyRootFilesystem: true
+ # runAsNonRoot: true
+ # runAsUser: 1000
+
+service:
+ type: ClusterIP
+ port: 80
+
+ingress:
+ enabled: false
+ annotations: {}
+ # kubernetes.io/ingress.class: nginx
+ # kubernetes.io/tls-acme: "true"
+ hosts:
+ - host: chart-example.local
+ paths: []
+ tls: []
+ # - secretName: chart-example-tls
+ # hosts:
+ # - chart-example.local
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ # limits:
+ # cpu: 100m
+ # memory: 128Mi
+ # requests:
+ # cpu: 100m
+ # memory: 128Mi
+
+autoscaling:
+ enabled: false
+ minReplicas: 1
+ maxReplicas: 100
+ targetCPUUtilizationPercentage: 80
+ # targetMemoryUtilizationPercentage: 80
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
diff --git a/integrations/kube-hunter/.helmignore b/scanner/kube-hunter/.helmignore
similarity index 100%
rename from integrations/kube-hunter/.helmignore
rename to scanner/kube-hunter/.helmignore
diff --git a/integrations/kube-hunter/Chart.yaml b/scanner/kube-hunter/Chart.yaml
similarity index 100%
rename from integrations/kube-hunter/Chart.yaml
rename to scanner/kube-hunter/Chart.yaml
diff --git a/scanner/kube-hunter/README.md b/scanner/kube-hunter/README.md
new file mode 100644
index 00000000..69ce4b44
--- /dev/null
+++ b/scanner/kube-hunter/README.md
@@ -0,0 +1,51 @@
+---
+title: "kube-hunter"
+path: "scanner/kube-hunter"
+category: "scanner"
+usecase: "Kubernetes Vulnerability Scanner"
+---
+
+kube-hunter hunts for security weaknesses in Kubernetes clusters. The tool was developed to increase awareness and visibility for security issues in Kubernetes environments. You should NOT run kube-hunter on a Kubernetes cluster that you don't own!
+
+To learn more about the kube-hunter scanner itself visit [kube-hunter GitHub] or [kube-hunter Website].
+
+
+
+## Deployment
+
+The kube-hunter ScanType can be deployed via helm.
+
+```bash
+helm upgrade --install kube-hunter ./scanner/kube-hunter/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *in-cluster* [scan](./examples/in-cluster/scan.yaml) and [findings](./examples/in-cluster/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [kube-hunter Documentation], please take a look at the original documentation for more configuration examples.
+
+* To specify remote machines for hunting, select option 1 or use the --remote option. Example: `kube-hunter --remote some.node.com`
+* To specify interface scanning, you can use the --interface option (this will scan all of the machine's network interfaces). Example: `kube-hunter --interface`
+* To specify a specific CIDR to scan, use the --cidr option. Example: `kube-hunter --cidr 192.168.0.0/24`
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+[kube-hunter Website]: https://kube-hunter.aquasec.com/
+[kube-hunter GitHub]: https://github.com/aquasecurity/kube-hunter
+[kube-hunter Documentation]: https://github.com/aquasecurity/kube-hunter#scanning-options
\ No newline at end of file
diff --git a/scanner/kube-hunter/examples/in-cluster/findings.json b/scanner/kube-hunter/examples/in-cluster/findings.json
new file mode 100644
index 00000000..789ae552
--- /dev/null
+++ b/scanner/kube-hunter/examples/in-cluster/findings.json
@@ -0,0 +1,82 @@
+{
+ "nodes": [
+ {
+ "type": "Node/Master",
+ "location": "10.0.0.1"
+ },
+ {
+ "type": "Node/Master",
+ "location": "10.96.0.1"
+ }
+ ],
+ "services": [
+ {
+ "service": "Kubelet API",
+ "location": "10.0.0.1:10250",
+ "description": "The Kubelet is the main component in every Node, all pod operations goes through the kubelet"
+ },
+ {
+ "service": "Metrics Server",
+ "location": "10.0.0.1:6443",
+ "description": "The Metrics server is in charge of providing resource usage metrics for pods and nodes to the API server."
+ },
+ {
+ "service": "API Server",
+ "location": "10.96.0.1:443",
+ "description": "The API server is in charge of all operations on the cluster."
+ }
+ ],
+ "vulnerabilities": [
+ {
+ "location": "Local to Pod(scan-kube-hunter-in-cluster-4rfff)",
+ "vid": "KHV050",
+ "category": "Access Risk",
+ "severity": "low",
+ "vulnerability": "Read access to pod's service account token",
+ "description": " Accessing the pod service account token gives an attacker the option to use the server API ",
+ "evidence": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkNabmY2NVgxUmR1ZnQzbHJVQVAzZFFUNjBiR0hUVE9SRDNPcURyenlkODgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Imx1cmNoZXItdG9rZW4tcGpmNGIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoibHVyY2hlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjUzOGVhYjdmLTY1YjAtNDE4Yy04MGI2LTI1NGQxNDQ4ODU3NiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0Omx1cmNoZXIifQ.cGtQHagQ2xxlAFnWwFRNgGJIkaeZIKnqoYYb8GmxN94ry0wwxCbgBm4Kg33A903wDBxd8iuITTk-r8UPZyYJHoxlVu0pHt-3SAc4NT0ob50R2acVXQ2qj_yJOOQHurCWeOJMkGqtCyUoZ8Xcnc6z32Ao-NWzKD-0wV7ndpKm-ytHP0YpHb9bLUPcQGvFoh_UF132yjeJqzwLPRX6hStMYOa8LNhJGyhdejW3BIOylzVPNkKE5lEjWv9f853qnTKG-TzXHBbth7qV8UHwSoY8YFoMezK3zazQt4dN1VG_wYmZ0ujikTC7TRTGr500kFxfpACKwdQ1M1fXgKJhNv9UgA",
+ "hunter": "Access Secrets"
+ },
+ {
+ "location": "Local to Pod(scan-kube-hunter-in-cluster-4rfff)",
+ "vid": "None",
+ "category": "Access Risk",
+ "severity": "low",
+ "vulnerability": "CAP_NET_RAW Enabled",
+ "description": "CAP_NET_RAW is enabled by default for pods. If an attacker manages to compromise a pod, they could potentially take advantage of this capability to perform network attacks on other pods running on the same node",
+ "evidence": "",
+ "hunter": "Pod Capabilities Hunter"
+ },
+ {
+ "location": "Local to Pod(scan-kube-hunter-in-cluster-4rfff)",
+ "vid": "None",
+ "category": "Access Risk",
+ "severity": "low",
+ "vulnerability": "Access to pod's secrets",
+ "description": " Accessing the pod's secrets within a compromised pod might disclose valuable data to a potential attacker",
+ "evidence": "['/var/run/secrets/kubernetes.io/serviceaccount/namespace', '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt', '/var/run/secrets/kubernetes.io/serviceaccount/token', '/var/run/secrets/kubernetes.io/serviceaccount/..2020_04_03_14_52_24.460746409/ca.crt', '/var/run/secrets/kubernetes.io/serviceaccount/..2020_04_03_14_52_24.460746409/token', '/var/run/secrets/kubernetes.io/serviceaccount/..2020_04_03_14_52_24.460746409/namespace']",
+ "hunter": "Access Secrets"
+ },
+ {
+ "location": "10.96.0.1:443",
+ "vid": "KHV002",
+ "category": "Information Disclosure",
+ "severity": "medium",
+ "vulnerability": "K8s Version Disclosure",
+ "description": "The kubernetes version could be obtained from the /version endpoint ",
+ "evidence": "v1.18.0",
+ "hunter": "Api Version Hunter"
+ },
+ {
+ "location": "10.96.0.1:443",
+ "vid": "KHV005",
+ "category": "Information Disclosure",
+ "severity": "medium",
+ "vulnerability": "Access to API using service account token",
+ "description": " The API Server port is accessible. Depending on your RBAC settings this could expose access to or control of your cluster. ",
+ "evidence": "b'{\"kind\":\"APIVersions\",\"versions\":[\"v1\"],\"serverAddressByClientCIDRs\":[{\"clientCIDR\":\"0.0.0.0/0\",\"serverAddress\":\"172.17.0.2:6443\"}]}\\n'",
+ "hunter": "API Server Hunter"
+ }
+ ],
+ "kburl": "https://aquasecurity.github.io/kube-hunter/kb/{vid}"
+}
\ No newline at end of file
diff --git a/operator/config/samples/execution_v1_scan/kube-hunter_in_cluster.yaml b/scanner/kube-hunter/examples/in-cluster/scan.yaml
similarity index 100%
rename from operator/config/samples/execution_v1_scan/kube-hunter_in_cluster.yaml
rename to scanner/kube-hunter/examples/in-cluster/scan.yaml
diff --git a/integrations/kube-hunter/parser/Dockerfile b/scanner/kube-hunter/parser/Dockerfile
similarity index 100%
rename from integrations/kube-hunter/parser/Dockerfile
rename to scanner/kube-hunter/parser/Dockerfile
diff --git a/integrations/kube-hunter/parser/__snapshots__/parser.test.js.snap b/scanner/kube-hunter/parser/__snapshots__/parser.test.js.snap
similarity index 100%
rename from integrations/kube-hunter/parser/__snapshots__/parser.test.js.snap
rename to scanner/kube-hunter/parser/__snapshots__/parser.test.js.snap
diff --git a/integrations/kube-hunter/parser/__testFiles__/kind-1.18-in-cluster-scan.json b/scanner/kube-hunter/parser/__testFiles__/kind-1.18-in-cluster-scan.json
similarity index 100%
rename from integrations/kube-hunter/parser/__testFiles__/kind-1.18-in-cluster-scan.json
rename to scanner/kube-hunter/parser/__testFiles__/kind-1.18-in-cluster-scan.json
diff --git a/integrations/kube-hunter/parser/parser.js b/scanner/kube-hunter/parser/parser.js
similarity index 100%
rename from integrations/kube-hunter/parser/parser.js
rename to scanner/kube-hunter/parser/parser.js
diff --git a/integrations/kube-hunter/parser/parser.test.js b/scanner/kube-hunter/parser/parser.test.js
similarity index 100%
rename from integrations/kube-hunter/parser/parser.test.js
rename to scanner/kube-hunter/parser/parser.test.js
diff --git a/integrations/kube-hunter/scanner/Dockerfile b/scanner/kube-hunter/scanner/Dockerfile
similarity index 100%
rename from integrations/kube-hunter/scanner/Dockerfile
rename to scanner/kube-hunter/scanner/Dockerfile
diff --git a/integrations/kube-hunter/scanner/wrapper.sh b/scanner/kube-hunter/scanner/wrapper.sh
similarity index 100%
rename from integrations/kube-hunter/scanner/wrapper.sh
rename to scanner/kube-hunter/scanner/wrapper.sh
diff --git a/integrations/kube-hunter/templates/kube-hunter-parse-definition.yaml b/scanner/kube-hunter/templates/kube-hunter-parse-definition.yaml
similarity index 100%
rename from integrations/kube-hunter/templates/kube-hunter-parse-definition.yaml
rename to scanner/kube-hunter/templates/kube-hunter-parse-definition.yaml
diff --git a/integrations/kube-hunter/templates/kubehunter-scan-type.yaml b/scanner/kube-hunter/templates/kubehunter-scan-type.yaml
similarity index 100%
rename from integrations/kube-hunter/templates/kubehunter-scan-type.yaml
rename to scanner/kube-hunter/templates/kubehunter-scan-type.yaml
diff --git a/integrations/kube-hunter/values.yaml b/scanner/kube-hunter/values.yaml
similarity index 100%
rename from integrations/kube-hunter/values.yaml
rename to scanner/kube-hunter/values.yaml
diff --git a/integrations/nikto/.helmignore b/scanner/nikto/.helmignore
similarity index 100%
rename from integrations/nikto/.helmignore
rename to scanner/nikto/.helmignore
diff --git a/integrations/nikto/Chart.yaml b/scanner/nikto/Chart.yaml
similarity index 100%
rename from integrations/nikto/Chart.yaml
rename to scanner/nikto/Chart.yaml
diff --git a/scanner/nikto/README.md b/scanner/nikto/README.md
new file mode 100644
index 00000000..97f3152f
--- /dev/null
+++ b/scanner/nikto/README.md
@@ -0,0 +1,69 @@
+---
+title: "Nikto"
+path: "scanner/Nikto"
+category: "scanner"
+usecase: "Webserver Vulnerability Scanner"
+---
+
+
+
+Nikto is a free software command-line vulnerability scanner that scans webservers for dangerous files/CGIs, outdated server software and other problems. It performs generic and server type specific checks. It also captures and prints any cookies received. To learn more about the Nikto scanner itself visit [cirt.net] or [Nikto GitHub].
+
+
+
+## Deployment
+
+The Nikto ScanType can be deployed via helm.
+
+```bash
+helm upgrade --install nikto ./scanner/nikto/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *secureCodeBox.io* [scan](./examples/secureCodeBox.io/scan.yaml) and [findings](./examples/secureCodeBox.io/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [Nikto Documentation](https://cirt.net/nikto2-docs/usage.html#id2780332), please take a look at the original documentation for more configuration examples.
+
+* The most basic Nikto scan requires simply a host to target, since port 80 is assumed if none is specified. The host can either be an IP or a hostname of a machine, and is specified using the -h (-host) option. This will scan the IP 192.168.0.1 on TCP port 80: `-h 192.168.0.1`
+* To check on a different port, specify the port number with the -p (-port) option. This will scan the IP 192.168.0.1 on TCP port 443: `-h 192.168.0.1 -p 443`
+* Hosts, ports and protocols may also be specified by using a full URL syntax, and it will be scanned: `-h https://192.168.0.1:443/`
+* Nikto can scan multiple ports in the same scanning session. To test more than one port on the same host, specify the list of ports in the -p (-port) option. Ports can be specified as a range (i.e., 80-90), or as a comma-delimited list, (i.e., 80,88,90). This will scan the host on ports 80, 88 and 443: `-h 192.168.0.1 -p 80,88,443`
+
+Nikto also has a comprehensive list of [command line options documented](https://cirt.net/nikto2-docs/options.html) which maybe useful to use.
+
+* Scan tuning can be used to decrease the number of tests performed against a target. By specifying the type of test to include or exclude, faster, focused testing can be completed. This is useful in situations where the presence of certain file types are undesired -- such as XSS or simply "interesting" files. Test types can be controlled at an individual level by specifying their identifier to the -T (-Tuning) option. In the default mode, if -T is invoked only the test type(s) specified will be executed. For example, only the tests for "Remote file retrieval" and "Command execution" can performed against the target: `192.168.0.1 -T 58`
+ * 0 - File Upload. Exploits which allow a file to be uploaded to the target server.
+ * 1 - Interesting File / Seen in logs. An unknown but suspicious file or attack that has been seen in web server logs (note: if you have information regarding any of these attacks, please contact CIRT, Inc.).
+ * 2 - Misconfiguration / Default File. Default files or files which have been misconfigured in some manner. This could be documentation, or a resource which should be password protected.
+ * 3 - Information Disclosure. A resource which reveals information about the target. This could be a file system path or account name.
+ * 4 - Injection (XSS/Script/HTML). Any manner of injection, including cross site scripting (XSS) or content (HTML). This does not include command injection.
+ * 5 - Remote File Retrieval - Inside Web Root. Resource allows remote users to retrieve unauthorized files from within the web server's root directory.
+ * 6 - Denial of Service. Resource allows a denial of service against the target application, web server or host (note: no intentional DoS attacks are attempted).
+ * 7 - Remote File Retrieval - Server Wide. Resource allows remote users to retrieve unauthorized files from anywhere on the target.
+ * 8 - Command Execution / Remote Shell. Resource allows the user to execute a system command or spawn a remote shell.
+ * 9 - SQL Injection. Any type of attack which allows SQL to be executed against a database.
+ * a - Authentication Bypass. Allows client to access a resource it should not be allowed to access.
+ * b - Software Identification. Installed software or program could be positively identified.
+ * c - Remote source inclusion. Software allows remote inclusion of source code.
+ * x - Reverse Tuning Options. Perform exclusion of the specified tuning type instead of inclusion of the specified tuning type
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+[cirt.net]: https://cirt.net/
+[nikto github]: https://github.com/sullo/nikto
\ No newline at end of file
diff --git a/operator/config/samples/execution_v1_scan/nikto_securecodebox_io.yaml b/scanner/nikto/examples/secureCodeBox.io/scan.yaml
similarity index 100%
rename from operator/config/samples/execution_v1_scan/nikto_securecodebox_io.yaml
rename to scanner/nikto/examples/secureCodeBox.io/scan.yaml
diff --git a/integrations/nikto/parser/Dockerfile b/scanner/nikto/parser/Dockerfile
similarity index 100%
rename from integrations/nikto/parser/Dockerfile
rename to scanner/nikto/parser/Dockerfile
diff --git a/integrations/nikto/parser/__snapshots__/parser.test.js.snap b/scanner/nikto/parser/__snapshots__/parser.test.js.snap
similarity index 100%
rename from integrations/nikto/parser/__snapshots__/parser.test.js.snap
rename to scanner/nikto/parser/__snapshots__/parser.test.js.snap
diff --git a/integrations/nikto/parser/__testFiles__/juice-shop.json b/scanner/nikto/parser/__testFiles__/juice-shop.json
similarity index 100%
rename from integrations/nikto/parser/__testFiles__/juice-shop.json
rename to scanner/nikto/parser/__testFiles__/juice-shop.json
diff --git a/integrations/nikto/parser/__testFiles__/www.securecodebox.io.json b/scanner/nikto/parser/__testFiles__/www.securecodebox.io.json
similarity index 100%
rename from integrations/nikto/parser/__testFiles__/www.securecodebox.io.json
rename to scanner/nikto/parser/__testFiles__/www.securecodebox.io.json
diff --git a/integrations/nikto/parser/parser.js b/scanner/nikto/parser/parser.js
similarity index 100%
rename from integrations/nikto/parser/parser.js
rename to scanner/nikto/parser/parser.js
diff --git a/integrations/nikto/parser/parser.test.js b/scanner/nikto/parser/parser.test.js
similarity index 100%
rename from integrations/nikto/parser/parser.test.js
rename to scanner/nikto/parser/parser.test.js
diff --git a/integrations/nikto/scanner/Dockerfile b/scanner/nikto/scanner/Dockerfile
similarity index 100%
rename from integrations/nikto/scanner/Dockerfile
rename to scanner/nikto/scanner/Dockerfile
diff --git a/integrations/nikto/scanner/wrapper.sh b/scanner/nikto/scanner/wrapper.sh
similarity index 100%
rename from integrations/nikto/scanner/wrapper.sh
rename to scanner/nikto/scanner/wrapper.sh
diff --git a/integrations/nikto/templates/nikto-parse-definition.yaml b/scanner/nikto/templates/nikto-parse-definition.yaml
similarity index 100%
rename from integrations/nikto/templates/nikto-parse-definition.yaml
rename to scanner/nikto/templates/nikto-parse-definition.yaml
diff --git a/integrations/nikto/templates/nikto-scan-type.yaml b/scanner/nikto/templates/nikto-scan-type.yaml
similarity index 100%
rename from integrations/nikto/templates/nikto-scan-type.yaml
rename to scanner/nikto/templates/nikto-scan-type.yaml
diff --git a/integrations/nikto/values.yaml b/scanner/nikto/values.yaml
similarity index 100%
rename from integrations/nikto/values.yaml
rename to scanner/nikto/values.yaml
diff --git a/integrations/nmap/.helmignore b/scanner/nmap/.helmignore
similarity index 100%
rename from integrations/nmap/.helmignore
rename to scanner/nmap/.helmignore
diff --git a/integrations/nmap/Chart.yaml b/scanner/nmap/Chart.yaml
similarity index 96%
rename from integrations/nmap/Chart.yaml
rename to scanner/nmap/Chart.yaml
index 3d8f1911..253ac64f 100644
--- a/integrations/nmap/Chart.yaml
+++ b/scanner/nmap/Chart.yaml
@@ -4,7 +4,7 @@ description: A Helm chart for the NMAP security Scanner that integrates with the
type: application
version: 0.1.0
-appVersion: 0.1.0
+appVersion: 0.2.0
keywords:
- security
diff --git a/scanner/nmap/README.md b/scanner/nmap/README.md
new file mode 100644
index 00000000..18444c29
--- /dev/null
+++ b/scanner/nmap/README.md
@@ -0,0 +1,64 @@
+---
+title: "Nmap"
+path: "scanner/Nmap"
+category: "scanner"
+usecase: "Network Scanner"
+---
+
+
+
+Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing. Many systems and network administrators also find it useful for tasks such as network inventory, managing service upgrade schedules, and monitoring host or service uptime.
+
+To learn more about the Nmap scanner itself visit [nmap.org].
+
+
+
+## Deployment
+
+The Nmap ScanType can be deployed via helm.
+
+```bash
+helm install nmap ./scanner/nmap/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *local-network* [scan](./examples/local-network/scan.yaml) and [findings](./examples/local-network/findings.yaml)
+* Example *localhost* [scan](./examples/local-network/scan.yaml) and [findings](./examples/local-network/findings.yaml)
+* Example *scan.nmap.org* [scan](./examples/local-network/scan.yaml) and [findings](./examples/local-network/findings.yaml)
+
+## Nmap Configuration
+
+The nmap scan target is set via the targets location of the securityTest. The target should be a Hostname or an IP Address.
+
+Additional nmap scan features can be configured via the parameter attribute. For a detailed explanation to which parameters are available refer to the [Nmap Reference Guide](https://nmap.org/book/man.html). All parameters are supported, but be careful with parameters that require root level rights, as these require additional configuration on the ScanType to be supported.
+
+Some useful example parameters listed below:
+
+- `-p` xx: Scan ports of the target. Replace xx with a single port number or
+ a range of ports.
+- `-PS`, `-PA`, `-PU` xx: Replace xx with the ports to scan. TCP SYN/ACK or
+ UDP discovery.
+- `-sV`: Determine service and version info.
+- `-O`: Determine OS info. **Note:** This requires the the user to be run as root or the system capabilities to be extended to allow nmap to send raw sockets. See more information on [how to deploy the secureCodeBox nmap container to allow this](https://github.com/secureCodeBox/scanner-infrastructure-nmap/pull/20) and the [nmap docs about priviliged scans](https://secwiki.org/w/Running_nmap_as_an_unprivileged_user)
+- `-A`: Determine service/version and OS info.
+- `-script` xx: Replace xx with the script name. Start the scan with the given script.
+- `--script` xx: Replace xx with a coma-separated list of scripts. Start the scan with the given scripts.
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+#### Basic scanner tests
+If you want to test sslyze localy you can use brew (only on macOS) to install it: `brew install nmap`
\ No newline at end of file
diff --git a/scanner/nmap/examples/local-network/findings.yaml b/scanner/nmap/examples/local-network/findings.yaml
new file mode 100644
index 00000000..d2b33e20
--- /dev/null
+++ b/scanner/nmap/examples/local-network/findings.yaml
@@ -0,0 +1,191 @@
+[
+ {
+ "name": "Host: fritz.box",
+ "category": "Host",
+ "description": "Found a host",
+ "location": "fritz.box",
+ "severity": "INFORMATIONAL",
+ "osi_layer": "NETWORK",
+ "attributes": {
+ "ip_address": "192.168.178.1",
+ "hostname": "fritz.box",
+ "operating_system": null
+ },
+ "id": "e0752104-b144-469c-92b7-1fdbc8fe7bd7"
+ },
+ {
+ "name": "domain",
+ "description": "Port 53 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://192.168.178.1:53",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 53,
+ "state": "open",
+ "ip_address": "192.168.178.1",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "fritz.box",
+ "method": "table",
+ "operating_system": null,
+ "service": "domain",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "fc3477a1-f939-4082-87da-cb9ecd839ba4"
+ },
+ {
+ "name": "http",
+ "description": "Port 80 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://192.168.178.1:80",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 80,
+ "state": "open",
+ "ip_address": "192.168.178.1",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "fritz.box",
+ "method": "table",
+ "operating_system": null,
+ "service": "http",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "e7a47bc6-4a14-4e94-b3c2-04e8ea6bde5e"
+ },
+ {
+ "name": "https",
+ "description": "Port 443 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://192.168.178.1:443",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 443,
+ "state": "open",
+ "ip_address": "192.168.178.1",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "fritz.box",
+ "method": "table",
+ "operating_system": null,
+ "service": "https",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "a7a12bb6-bb33-469e-9f30-2e91b280ffcd"
+ },
+ {
+ "name": "sip",
+ "description": "Port 5060 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://192.168.178.1:5060",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 5060,
+ "state": "open",
+ "ip_address": "192.168.178.1",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "fritz.box",
+ "method": "table",
+ "operating_system": null,
+ "service": "sip",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "ebf2f79e-415c-4837-8a68-d60070b1befa"
+ },
+ {
+ "name": "unknown",
+ "description": "Port 8089 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://192.168.178.1:8089",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 8089,
+ "state": "open",
+ "ip_address": "192.168.178.1",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "fritz.box",
+ "method": "table",
+ "operating_system": null,
+ "service": "unknown",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "cf956977-0aa7-4d90-b993-37e8b35b2265"
+ },
+ {
+ "name": "intermapper",
+ "description": "Port 8181 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://192.168.178.1:8181",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 8181,
+ "state": "open",
+ "ip_address": "192.168.178.1",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "fritz.box",
+ "method": "table",
+ "operating_system": null,
+ "service": "intermapper",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "c3c1f244-1961-4194-8b91-5d117907b854"
+ },
+ {
+ "name": "Host: foobars-iPhone.fritz.box",
+ "category": "Host",
+ "description": "Found a host",
+ "location": "foobars-iPhone.fritz.box",
+ "severity": "INFORMATIONAL",
+ "osi_layer": "NETWORK",
+ "attributes": {
+ "ip_address": "192.168.178.21",
+ "hostname": "foobars-iPhone.fritz.box",
+ "operating_system": null
+ },
+ "id": "53eca5bd-cf96-4aaf-a6ce-55a4ff84a4b3"
+ },
+ {
+ "name": "iphone-sync",
+ "description": "Port 62078 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://192.168.178.26:62078",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 62078,
+ "state": "open",
+ "ip_address": "192.168.178.21",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "foobars-iPhone.fritz.box",
+ "method": "table",
+ "operating_system": null,
+ "service": "iphone-sync",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "23687489-b52a-4fd9-8bae-7a04842b2183"
+ }
+]
diff --git a/scanner/nmap/examples/local-network/scan.yaml b/scanner/nmap/examples/local-network/scan.yaml
new file mode 100644
index 00000000..bf8fcae5
--- /dev/null
+++ b/scanner/nmap/examples/local-network/scan.yaml
@@ -0,0 +1,9 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: Scan
+metadata:
+ name: "nmap-local-network"
+spec:
+ scanType: "nmap"
+ parameters:
+ # Actual IP will depend on you network config. 🤷
+ - 192.168.178.0/24
diff --git a/scanner/nmap/examples/localhost/findings.yaml b/scanner/nmap/examples/localhost/findings.yaml
new file mode 100644
index 00000000..32fcefa7
--- /dev/null
+++ b/scanner/nmap/examples/localhost/findings.yaml
@@ -0,0 +1,16 @@
+[
+ {
+ "name": "Host: localhost",
+ "category": "Host",
+ "description": "Found a host",
+ "location": "localhost",
+ "severity": "INFORMATIONAL",
+ "osi_layer": "NETWORK",
+ "attributes": {
+ "ip_address": "127.0.0.1",
+ "hostname": "localhost",
+ "operating_system": null
+ },
+ "id": "9dced98c-eab8-4918-9f2d-ffb54df8436b"
+ }
+]
diff --git a/operator/config/samples/execution_v1_scan/nmap_localhost.yaml b/scanner/nmap/examples/localhost/scan.yaml
similarity index 54%
rename from operator/config/samples/execution_v1_scan/nmap_localhost.yaml
rename to scanner/nmap/examples/localhost/scan.yaml
index 3ddbab40..e995900c 100644
--- a/operator/config/samples/execution_v1_scan/nmap_localhost.yaml
+++ b/scanner/nmap/examples/localhost/scan.yaml
@@ -5,5 +5,6 @@ metadata:
spec:
scanType: "nmap"
parameters:
- - "-Pn"
+ # Note: Localhost here isn't "your" localhost, but the scanner container.
+ # This container doesn't have any ports open...
- localhost
diff --git a/scanner/nmap/examples/scan.nmap.org/findings.yaml b/scanner/nmap/examples/scan.nmap.org/findings.yaml
new file mode 100644
index 00000000..2c59f192
--- /dev/null
+++ b/scanner/nmap/examples/scan.nmap.org/findings.yaml
@@ -0,0 +1,177 @@
+[
+ {
+ "name": "ssh",
+ "description": "Port 22 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://45.33.32.156:22",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 22,
+ "state": "open",
+ "ip_address": "45.33.32.156",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "scanme.nmap.org",
+ "method": "table",
+ "operating_system": null,
+ "service": "ssh",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "0903c2b6-b3c3-4fb3-9661-3ce995044fdd"
+ },
+ {
+ "name": "http",
+ "description": "Port 80 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://45.33.32.156:80",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 80,
+ "state": "open",
+ "ip_address": "45.33.32.156",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "scanme.nmap.org",
+ "method": "table",
+ "operating_system": null,
+ "service": "http",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "6235f66d-a851-4e24-8367-6fd528f71795"
+ },
+ {
+ "name": "msrpc",
+ "description": "Port 135 is filtered using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://45.33.32.156:135",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 135,
+ "state": "filtered",
+ "ip_address": "45.33.32.156",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "scanme.nmap.org",
+ "method": "table",
+ "operating_system": null,
+ "service": "msrpc",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "831cd5a2-0860-4f11-9727-771f111a3538"
+ },
+ {
+ "name": "netbios-ssn",
+ "description": "Port 139 is filtered using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://45.33.32.156:139",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 139,
+ "state": "filtered",
+ "ip_address": "45.33.32.156",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "scanme.nmap.org",
+ "method": "table",
+ "operating_system": null,
+ "service": "netbios-ssn",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "eb4cbbda-c303-42c8-851f-6b3759713f85"
+ },
+ {
+ "name": "microsoft-ds",
+ "description": "Port 445 is filtered using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://45.33.32.156:445",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 445,
+ "state": "filtered",
+ "ip_address": "45.33.32.156",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "scanme.nmap.org",
+ "method": "table",
+ "operating_system": null,
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "cee96358-93ea-4b1b-ab69-1bc8220015e6"
+ },
+ {
+ "name": "nping-echo",
+ "description": "Port 9929 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://45.33.32.156:9929",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 9929,
+ "state": "open",
+ "ip_address": "45.33.32.156",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "scanme.nmap.org",
+ "method": "table",
+ "operating_system": null,
+ "service": "nping-echo",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "4720cb35-87e3-4346-ab63-6434e1384efe"
+ },
+ {
+ "name": "Elite",
+ "description": "Port 31337 is open using tcp protocol.",
+ "category": "Open Port",
+ "location": "tcp://45.33.32.156:31337",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ "attributes": {
+ "port": 31337,
+ "state": "open",
+ "ip_address": "45.33.32.156",
+ "mac_address": null,
+ "protocol": "tcp",
+ "hostname": "scanme.nmap.org",
+ "method": "table",
+ "operating_system": null,
+ "service": "Elite",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "scripts": null
+ },
+ "id": "1ceb1c93-e77f-41dc-a3fc-b1d04cec6a5e"
+ },
+ {
+ "name": "Host: scanme.nmap.org",
+ "category": "Host",
+ "description": "Found a host",
+ "location": "scanme.nmap.org",
+ "severity": "INFORMATIONAL",
+ "osi_layer": "NETWORK",
+ "attributes": {
+ "ip_address": "45.33.32.156",
+ "hostname": "scanme.nmap.org",
+ "operating_system": null
+ },
+ "id": "997e572f-13af-483a-aee6-6ce05e931daf"
+ }
+]
diff --git a/operator/config/samples/execution_v1_scan/nmap_scanme_nmap_org.yaml b/scanner/nmap/examples/scan.nmap.org/scan.yaml
similarity index 100%
rename from operator/config/samples/execution_v1_scan/nmap_scanme_nmap_org.yaml
rename to scanner/nmap/examples/scan.nmap.org/scan.yaml
diff --git a/scanner/nmap/parser/.dockerignore b/scanner/nmap/parser/.dockerignore
new file mode 100644
index 00000000..40b878db
--- /dev/null
+++ b/scanner/nmap/parser/.dockerignore
@@ -0,0 +1 @@
+node_modules/
\ No newline at end of file
diff --git a/scanner/nmap/parser/.gitignore b/scanner/nmap/parser/.gitignore
new file mode 100644
index 00000000..40b878db
--- /dev/null
+++ b/scanner/nmap/parser/.gitignore
@@ -0,0 +1 @@
+node_modules/
\ No newline at end of file
diff --git a/integrations/nmap/parser/Dockerfile b/scanner/nmap/parser/Dockerfile
similarity index 100%
rename from integrations/nmap/parser/Dockerfile
rename to scanner/nmap/parser/Dockerfile
diff --git a/scanner/nmap/parser/__testFiles__/localhost-smb-script.xml b/scanner/nmap/parser/__testFiles__/localhost-smb-script.xml
new file mode 100644
index 00000000..8aab2f50
--- /dev/null
+++ b/scanner/nmap/parser/__testFiles__/localhost-smb-script.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/integrations/nmap/parser/__testFiles__/localhost.xml b/scanner/nmap/parser/__testFiles__/localhost.xml
similarity index 100%
rename from integrations/nmap/parser/__testFiles__/localhost.xml
rename to scanner/nmap/parser/__testFiles__/localhost.xml
diff --git a/integrations/nmap/parser/__testFiles__/no-host.xml b/scanner/nmap/parser/__testFiles__/no-host.xml
similarity index 100%
rename from integrations/nmap/parser/__testFiles__/no-host.xml
rename to scanner/nmap/parser/__testFiles__/no-host.xml
diff --git a/integrations/nmap/parser/__testFiles__/no-ports.xml b/scanner/nmap/parser/__testFiles__/no-ports.xml
similarity index 100%
rename from integrations/nmap/parser/__testFiles__/no-ports.xml
rename to scanner/nmap/parser/__testFiles__/no-ports.xml
diff --git a/integrations/nmap/parser/package-lock.json b/scanner/nmap/parser/package-lock.json
similarity index 100%
rename from integrations/nmap/parser/package-lock.json
rename to scanner/nmap/parser/package-lock.json
diff --git a/integrations/nmap/parser/package.json b/scanner/nmap/parser/package.json
similarity index 100%
rename from integrations/nmap/parser/package.json
rename to scanner/nmap/parser/package.json
diff --git a/scanner/nmap/parser/parser.js b/scanner/nmap/parser/parser.js
new file mode 100644
index 00000000..0cf7471b
--- /dev/null
+++ b/scanner/nmap/parser/parser.js
@@ -0,0 +1,332 @@
+const xml2js = require('xml2js');
+
+async function parse(fileContent) {
+ const hosts = await parseResultFile(fileContent);
+ return transformToFindings(hosts);
+}
+
+function transformToFindings(hosts) {
+
+ const scriptFindings = transformNMAPScripts(hosts);
+
+ const portFindings = hosts.flatMap(({ openPorts = [], ...hostInfo }) => {
+ if(openPorts === null){
+ return [];
+ }
+
+ return openPorts.map(openPort => {
+ return {
+ name: openPort.service,
+ description: `Port ${openPort.port} is ${openPort.state} using ${openPort.protocol} protocol.`,
+ category: 'Open Port',
+ location: `${openPort.protocol}://${hostInfo.ip}:${openPort.port}`,
+ osi_layer: 'NETWORK',
+ severity: 'INFORMATIONAL',
+ attributes: {
+ port: openPort.port,
+ state: openPort.state,
+ ip_address: hostInfo.ip,
+ mac_address: hostInfo.mac,
+ protocol: openPort.protocol,
+ hostname: hostInfo.hostname,
+ method: openPort.method,
+ operating_system: hostInfo.osNmap,
+ service: openPort.service,
+ serviceProduct: openPort.serviceProduct || null,
+ serviceVersion: openPort.serviceVersion || null,
+ scripts: openPort.scriptOutputs || null,
+ },
+ };
+ });
+ });
+
+ const hostFindings = hosts.map(({ hostname, ip, osNmap }) => {
+ return {
+ name: `Host: ${hostname}`,
+ category: 'Host',
+ description: 'Found a host',
+ location: hostname,
+ severity: 'INFORMATIONAL',
+ osi_layer: 'NETWORK',
+ attributes: {
+ ip_address: ip,
+ hostname: hostname,
+ operating_system: osNmap,
+ },
+ };
+ });
+
+ return [...portFindings, ...hostFindings, ...scriptFindings];
+}
+
+function transformNMAPScripts(hosts) {
+ let scriptFindings = [];
+
+ for(const host of hosts) {
+
+ if(host.scripts) {
+ for(const script of host.scripts) {
+
+ // Parse SMB Script Results
+ if(script.$.id === 'smb-protocols') {
+ transformNmapScriptSmb(host, script ,scriptFindings);
+ }
+ }
+ }
+ }
+
+ return scriptFindings;
+}
+
+function transformNmapScriptSmb(host, script, scriptFindings) {
+ // Parse SMB Script Results
+ if(script.$.id === 'smb-protocols') {
+ console.log ("Found SMB Script Result: " + script.$.output);
+ //console.log (script);
+
+ if(script.table && script.table[0] && script.table[0].elem) {
+
+ for(const elem of script.table[0].elem) {
+ console.log ("Found SMB SMB Protocol: " + elem);
+ //console.log (elem);
+
+ const smbVersion = parseFloat(elem);
+
+ if(elem.toString().includes("SMBv1")) {
+ scriptFindings.push({
+ name: "SMB Dangerous Protocol Version Finding SMBv1",
+ description: `Port ${host.openPorts[0].port} is ${host.openPorts[0].state} using SMB protocol with an old version: SMBv1`,
+ category: 'SMB',
+ location: `${host.openPorts[0].protocol}://${host.ip}:${host.openPorts[0].port}`,
+ osi_layer: 'NETWORK',
+ severity: 'HIGH',
+ attributes: {
+ hostname: host.hostname,
+ mac_address: host.mac || null,
+ ip_address: host.ip,
+ port: host.openPorts[0].port,
+ state: host.openPorts[0].state,
+ protocol: host.openPorts[0].protocol,
+ method: host.openPorts[0].method,
+ operating_system: host.osNmap || null,
+ service: host.openPorts[0].service,
+ serviceProduct: host.openPorts[0].serviceProduct || null,
+ serviceVersion: host.openPorts[0].serviceVersion || null,
+ scripts: elem || null,
+ smb_protocol_version: 1,
+ }
+ });
+ }
+ else if(!isNaN(smbVersion)) {
+ if(smbVersion > 0 && smbVersion < 2) {
+ scriptFindings.push({
+ name: "SMB Dangerous Protocol Version Finding v"+smbVersion,
+ description: `Port ${host.openPorts[0].port} is ${host.openPorts[0].state} using SMB protocol with an old version: ` + smbVersion,
+ category: 'SMB',
+ location: `${host.openPorts[0].protocol}://${host.ip}:${host.openPorts[0].port}`,
+ osi_layer: 'NETWORK',
+ severity: 'MEDIUM',
+ attributes: {
+ hostname: host.hostname,
+ mac_address: host.mac || null,
+ ip_address: host.ip,
+ port: host.openPorts[0].port,
+ state: host.openPorts[0].state,
+ protocol: host.openPorts[0].protocol,
+ method: host.openPorts[0].method,
+ operating_system: host.osNmap || null,
+ service: host.openPorts[0].service,
+ serviceProduct: host.openPorts[0].serviceProduct || null,
+ serviceVersion: host.openPorts[0].serviceVersion || null,
+ scripts: elem || null,
+ smb_protocol_version: smbVersion,
+ }
+ });
+ }
+ if(smbVersion >= 2 && smbVersion < 3) {
+ scriptFindings.push({
+ name: "SMB Protocol Version Finding v"+smbVersion,
+ description: `Port ${host.openPorts[0].port} is ${host.openPorts[0].state} using SMB protocol with an old version: `+ smbVersion,
+ category: 'SMB',
+ location: `${host.openPorts[0].protocol}://${host.ip}:${host.openPorts[0].port}`,
+ osi_layer: 'NETWORK',
+ severity: 'LOW',
+ attributes: {
+ hostname: host.hostname,
+ mac_address: host.mac || null,
+ ip_address: host.ip,
+ port: host.openPorts[0].port,
+ state: host.openPorts[0].state,
+ protocol: host.openPorts[0].protocol,
+ method: host.openPorts[0].method,
+ operating_system: host.osNmap || null,
+ service: host.openPorts[0].service,
+ serviceProduct: host.openPorts[0].serviceProduct || null,
+ serviceVersion: host.openPorts[0].serviceVersion || null,
+ scripts: elem || null,
+ smb_protocol_version: smbVersion,
+ }
+ });
+ }
+ if(smbVersion >= 3) {
+ scriptFindings.push({
+ name: "SMB Protocol Version Finding v"+smbVersion,
+ description: `Port ${host.openPorts[0].port} is ${host.openPorts[0].state} using SMB protocol with version: ` + smbVersion,
+ category: 'SMB',
+ location: `${host.openPorts[0].protocol}://${host.ip}:${host.openPorts[0].port}`,
+ osi_layer: 'NETWORK',
+ severity: 'INFORMATIONAL',
+ attributes: {
+ hostname: host.hostname,
+ mac_address: host.mac || null,
+ ip_address: host.ip,
+ port: host.openPorts[0].port,
+ state: host.openPorts[0].state,
+ protocol: host.openPorts[0].protocol,
+ method: host.openPorts[0].method,
+ operating_system: host.osNmap || null,
+ service: host.openPorts[0].service,
+ serviceProduct: host.openPorts[0].serviceProduct || null,
+ serviceVersion: host.openPorts[0].serviceVersion || null,
+ scripts: elem || null,
+ smb_protocol_version: smbVersion,
+ }
+ });
+ }
+ }
+ }
+ }
+ }
+}
+
+/**
+ * Parses a given NMAP XML file to a smaller JSON represenation with the following object:
+ * {
+ * hostname: null,
+ * ip: null,
+ * mac: null,
+ * openPorts: null,
+ * osNmap: null,
+ * scripts: null
+ * }
+ * @param {*} fileContent
+ */
+function parseResultFile(fileContent) {
+ return new Promise((resolve, reject) => {
+ xml2js.parseString(fileContent, (err, xmlInput) => {
+ if (err) {
+ reject(new Error('Error converting XML to JSON in xml2js: ' + err));
+ } else {
+ let tempHostList = [];
+ if (!xmlInput.nmaprun.host) {
+ resolve([]);
+ return;
+ }
+
+ xmlInput = xmlInput.nmaprun.host;
+
+ tempHostList = xmlInput.map(host => {
+ const newHost = {
+ hostname: null,
+ ip: null,
+ mac: null,
+ openPorts: null,
+ osNmap: null,
+ scripts: null
+ };
+
+ // Get hostname
+ if (
+ host.hostnames &&
+ host.hostnames[0] !== '\r\n' &&
+ host.hostnames[0] !== '\n'
+ ) {
+ newHost.hostname = host.hostnames[0].hostname[0].$.name;
+ }
+
+ // Get addresses
+ host.address.forEach(address => {
+ const addressType = address.$.addrtype;
+ const addressAdress = address.$.addr;
+ const addressVendor = address.$.vendor;
+
+ if (addressType === 'ipv4') {
+ newHost.ip = addressAdress;
+ } else if (addressType === 'mac') {
+ newHost.mac = addressAdress;
+ newHost.vendor = addressVendor;
+ }
+ });
+
+ // Get ports
+ if (host.ports && host.ports[0].port) {
+ const portList = host.ports[0].port;
+
+ const openPorts = portList.filter(port => {
+ return port.state[0].$.state !== 'closed';
+ });
+
+ newHost.openPorts = openPorts.map(portItem => {
+ // console.log(JSON.stringify(portItem, null, 4))
+
+ const port = parseInt(portItem.$.portid, 10);
+ const protocol = portItem.$.protocol;
+ const service = portItem.service[0].$.name;
+ const serviceProduct = portItem.service[0].$.product;
+ const serviceVersion = portItem.service[0].$.version;
+
+ const tunnel = portItem.service[0].$.tunnel;
+ const method = portItem.service[0].$.method;
+ const product = portItem.service[0].$.tunnel;
+
+ const state = portItem.state[0].$.state;
+
+ let scriptOutputs = null;
+
+ if (portItem.script) {
+ scriptOutputs = portItem.script.reduce(
+ (carry, { $: scriptRes }) => {
+ carry[scriptRes.id] = scriptRes.output;
+ return carry;
+ },
+ {}
+ );
+ }
+
+ let portObject = {};
+ if (port) portObject.port = port;
+ if (protocol) portObject.protocol = protocol;
+ if (service) portObject.service = service;
+ if (serviceProduct) portObject.serviceProduct = serviceProduct;
+ if (serviceVersion) portObject.serviceVersion = serviceVersion;
+
+ if (tunnel) portObject.tunnel = tunnel;
+ if (method) portObject.method = method;
+ if (product) portObject.product = product;
+
+ if (state) portObject.state = state;
+
+ if (scriptOutputs) portObject.scriptOutputs = scriptOutputs;
+
+ return portObject;
+ });
+ }
+
+ // Get Script Content
+ if(host.hostscript && host.hostscript[0].script) {
+ newHost.scripts = host.hostscript[0].script
+ }
+
+ if (host.os && host.os[0].osmatch && host.os[0].osmatch[0].$.name) {
+ newHost.osNmap = host.os[0].osmatch[0].$.name;
+ }
+ return newHost;
+ });
+
+ resolve(tempHostList);
+ }
+ });
+ });
+}
+
+module.exports.parse = parse;
diff --git a/scanner/nmap/parser/parser.test.js b/scanner/nmap/parser/parser.test.js
new file mode 100644
index 00000000..a5a517c3
--- /dev/null
+++ b/scanner/nmap/parser/parser.test.js
@@ -0,0 +1,341 @@
+const fs = require("fs");
+const util = require("util");
+
+// eslint-disable-next-line security/detect-non-literal-fs-filename
+const readFile = util.promisify(fs.readFile);
+
+const { parse } = require("./parser");
+
+test("should properly parse nmap xml file", async () => {
+ const xmlContent = await readFile(
+ __dirname + "/__testFiles__/localhost.xml",
+ {
+ encoding: "utf8"
+ }
+ );
+
+ expect(await parse(xmlContent)).toMatchInlineSnapshot(`
+ Array [
+ Object {
+ "attributes": Object {
+ "hostname": "localhost",
+ "ip_address": "127.0.0.1",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 53,
+ "protocol": "tcp",
+ "scripts": null,
+ "service": "domain",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "state": "open",
+ },
+ "category": "Open Port",
+ "description": "Port 53 is open using tcp protocol.",
+ "location": "tcp://127.0.0.1:53",
+ "name": "domain",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "localhost",
+ "ip_address": "127.0.0.1",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 8021,
+ "protocol": "tcp",
+ "scripts": null,
+ "service": "ftp-proxy",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "state": "open",
+ },
+ "category": "Open Port",
+ "description": "Port 8021 is open using tcp protocol.",
+ "location": "tcp://127.0.0.1:8021",
+ "name": "ftp-proxy",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "localhost",
+ "ip_address": "127.0.0.1",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 8080,
+ "protocol": "tcp",
+ "scripts": null,
+ "service": "http-proxy",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "state": "open",
+ },
+ "category": "Open Port",
+ "description": "Port 8080 is open using tcp protocol.",
+ "location": "tcp://127.0.0.1:8080",
+ "name": "http-proxy",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "localhost",
+ "ip_address": "127.0.0.1",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 9200,
+ "protocol": "tcp",
+ "scripts": null,
+ "service": "wap-wsp",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "state": "open",
+ },
+ "category": "Open Port",
+ "description": "Port 9200 is open using tcp protocol.",
+ "location": "tcp://127.0.0.1:9200",
+ "name": "wap-wsp",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "localhost",
+ "ip_address": "127.0.0.1",
+ "operating_system": null,
+ },
+ "category": "Host",
+ "description": "Found a host",
+ "location": "localhost",
+ "name": "Host: localhost",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ ]
+ `);
+});
+
+test("should properly parse a nmap xml without any ports", async () => {
+ const xmlContent = await readFile(__dirname + "/__testFiles__/no-ports.xml", {
+ encoding: "utf8"
+ });
+
+ expect(await parse(xmlContent)).toMatchInlineSnapshot(`
+ Array [
+ Object {
+ "attributes": Object {
+ "hostname": "localhost",
+ "ip_address": "127.0.0.1",
+ "operating_system": null,
+ },
+ "category": "Host",
+ "description": "Found a host",
+ "location": "localhost",
+ "name": "Host: localhost",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ ]
+ `);
+});
+
+test("should properly parse a nmap xml without any host", async () => {
+ const xmlContent = await readFile(__dirname + "/__testFiles__/no-host.xml", {
+ encoding: "utf8"
+ });
+
+ expect(await parse(xmlContent)).toMatchInlineSnapshot(`Array []`);
+});
+
+test("Should properly parse a nmap xml with script specific SMB findings", async () => {
+ const xmlContent = await readFile(
+ __dirname + "/__testFiles__/localhost-smb-script.xml",
+ {
+ encoding: "utf8"
+ }
+ );
+
+ expect(await parse(xmlContent)).toMatchInlineSnapshot(`
+ Array [
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 445,
+ "protocol": "tcp",
+ "scripts": null,
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "state": "open",
+ },
+ "category": "Open Port",
+ "description": "Port 445 is open using tcp protocol.",
+ "location": "tcp://10.50.0.2:445",
+ "name": "microsoft-ds",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "operating_system": null,
+ },
+ "category": "Host",
+ "description": "Found a host",
+ "location": "example.com",
+ "name": "Host: example.com",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 445,
+ "protocol": "tcp",
+ "scripts": "NT LM 0.12 (SMBv1) [dangerous, but default]",
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "smb_protocol_version": 1,
+ "state": "open",
+ },
+ "category": "SMB",
+ "description": "Port 445 is open using SMB protocol with an old version: SMBv1",
+ "location": "tcp://10.50.0.2:445",
+ "name": "SMB Dangerous Protocol Version Finding SMBv1",
+ "osi_layer": "NETWORK",
+ "severity": "HIGH",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 445,
+ "protocol": "tcp",
+ "scripts": "2.02",
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "smb_protocol_version": 2.02,
+ "state": "open",
+ },
+ "category": "SMB",
+ "description": "Port 445 is open using SMB protocol with an old version: 2.02",
+ "location": "tcp://10.50.0.2:445",
+ "name": "SMB Protocol Version Finding v2.02",
+ "osi_layer": "NETWORK",
+ "severity": "LOW",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 445,
+ "protocol": "tcp",
+ "scripts": "2.10",
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "smb_protocol_version": 2.1,
+ "state": "open",
+ },
+ "category": "SMB",
+ "description": "Port 445 is open using SMB protocol with an old version: 2.1",
+ "location": "tcp://10.50.0.2:445",
+ "name": "SMB Protocol Version Finding v2.1",
+ "osi_layer": "NETWORK",
+ "severity": "LOW",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 445,
+ "protocol": "tcp",
+ "scripts": "3.00",
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "smb_protocol_version": 3,
+ "state": "open",
+ },
+ "category": "SMB",
+ "description": "Port 445 is open using SMB protocol with version: 3",
+ "location": "tcp://10.50.0.2:445",
+ "name": "SMB Protocol Version Finding v3",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 445,
+ "protocol": "tcp",
+ "scripts": "3.02",
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "smb_protocol_version": 3.02,
+ "state": "open",
+ },
+ "category": "SMB",
+ "description": "Port 445 is open using SMB protocol with version: 3.02",
+ "location": "tcp://10.50.0.2:445",
+ "name": "SMB Protocol Version Finding v3.02",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "hostname": "example.com",
+ "ip_address": "10.50.0.2",
+ "mac_address": null,
+ "method": "table",
+ "operating_system": null,
+ "port": 445,
+ "protocol": "tcp",
+ "scripts": "3.11",
+ "service": "microsoft-ds",
+ "serviceProduct": null,
+ "serviceVersion": null,
+ "smb_protocol_version": 3.11,
+ "state": "open",
+ },
+ "category": "SMB",
+ "description": "Port 445 is open using SMB protocol with version: 3.11",
+ "location": "tcp://10.50.0.2:445",
+ "name": "SMB Protocol Version Finding v3.11",
+ "osi_layer": "NETWORK",
+ "severity": "INFORMATIONAL",
+ },
+ ]
+ `);
+});
diff --git a/integrations/nmap/scanner/Dockerfile b/scanner/nmap/scanner/Dockerfile
similarity index 100%
rename from integrations/nmap/scanner/Dockerfile
rename to scanner/nmap/scanner/Dockerfile
diff --git a/integrations/nmap/templates/nmap-parse-definition.yaml b/scanner/nmap/templates/nmap-parse-definition.yaml
similarity index 100%
rename from integrations/nmap/templates/nmap-parse-definition.yaml
rename to scanner/nmap/templates/nmap-parse-definition.yaml
diff --git a/integrations/nmap/templates/nmap-scan-type.yaml b/scanner/nmap/templates/nmap-scan-type.yaml
similarity index 100%
rename from integrations/nmap/templates/nmap-scan-type.yaml
rename to scanner/nmap/templates/nmap-scan-type.yaml
diff --git a/integrations/nmap/values.yaml b/scanner/nmap/values.yaml
similarity index 84%
rename from integrations/nmap/values.yaml
rename to scanner/nmap/values.yaml
index 516187d7..7d3052d5 100644
--- a/integrations/nmap/values.yaml
+++ b/scanner/nmap/values.yaml
@@ -1,4 +1,4 @@
parserImage:
registry: docker.io
repository: scbexperimental/parser-nmap
- tag: latest
+ tag: hooks
diff --git a/integrations/package-lock.json b/scanner/package-lock.json
similarity index 99%
rename from integrations/package-lock.json
rename to scanner/package-lock.json
index 8361dec0..9a06f1ed 100644
--- a/integrations/package-lock.json
+++ b/scanner/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "securecodebox-scanner-integrations",
+ "name": "securecodebox-scanner",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
diff --git a/scanner/package.json b/scanner/package.json
new file mode 100644
index 00000000..74a488d9
--- /dev/null
+++ b/scanner/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "securecodebox-scanner",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "directories": {
+ "example": "example"
+ },
+ "scripts": {
+ "test": "jest"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "jest": "^25.1.0"
+ }
+}
diff --git a/integrations/ssh_scan/.helmignore b/scanner/ssh_scan/.helmignore
similarity index 100%
rename from integrations/ssh_scan/.helmignore
rename to scanner/ssh_scan/.helmignore
diff --git a/integrations/ssh_scan/Chart.yaml b/scanner/ssh_scan/Chart.yaml
similarity index 100%
rename from integrations/ssh_scan/Chart.yaml
rename to scanner/ssh_scan/Chart.yaml
diff --git a/scanner/ssh_scan/README.md b/scanner/ssh_scan/README.md
new file mode 100644
index 00000000..a5dd22a0
--- /dev/null
+++ b/scanner/ssh_scan/README.md
@@ -0,0 +1,84 @@
+---
+title: "SSH"
+path: "scanner/SSH"
+category: "scanner"
+usecase: "SSH Configuration and Policy Scanner"
+release: "https://img.shields.io/github/release/secureCodeBox/scanner-infrastructure-ssh.svg"
+
+---
+SSH_scan is an easy-to-use prototype SSH configuration and policy scanner, inspired by Mozilla OpenSSH Security Guide, which provides a reasonable baseline policy recommendation for SSH configuration parameters such as Ciphers, MACs, and KexAlgos and much more.
+
+To learn more about the ssh_scan scanner itself visit [ssh_scan GitHub].
+
+
+
+## Deployment
+
+The SSH_scan ScanType can be deployed via helm.
+
+```bash
+helm upgrade --install ssh ./scanner/ssh_scan/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *example.com* [scan](./examples/example.com/scan.yaml) and [findings](./examples/example.com/findings.yaml)
+* Example *localhost* [scan](./examples/localhost/scan.yaml) and [findings](./examples/localhost/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [ssh_scan Documentation], please take a look at the original documentation for more configuration examples.
+
+```bash
+ssh_scan v0.0.21 (https://github.com/mozilla/ssh_scan)
+
+Usage: ssh_scan [options]
+ -t, --target [IP/Range/Hostname] IP/Ranges/Hostname to scan
+ -f, --file [FilePath] File Path of the file containing IP/Range/Hostnames to scan
+ -T, --timeout [seconds] Timeout per connect after which ssh_scan gives up on the host
+ -L, --logger [Log File Path] Enable logger
+ -O, --from_json [FilePath] File to read JSON output from
+ -o, --output [FilePath] File to write JSON output to
+ -p, --port [PORT] Port (Default: 22)
+ -P, --policy [FILE] Custom policy file (Default: Mozilla Modern)
+ --threads [NUMBER] Number of worker threads (Default: 5)
+ --fingerprint-db [FILE] File location of fingerprint database (Default: ./fingerprints.db)
+ --suppress-update-status Do not check for updates
+ -u, --unit-test [FILE] Throw appropriate exit codes based on compliance status
+ -V [STD_LOGGING_LEVEL],
+ --verbosity
+ -v, --version Display just version info
+ -h, --help Show this message
+
+Examples:
+
+ ssh_scan -t 192.168.1.1
+ ssh_scan -t server.example.com
+ ssh_scan -t ::1
+ ssh_scan -t ::1 -T 5
+ ssh_scan -f hosts.txt
+ ssh_scan -o output.json
+ ssh_scan -O output.json -o rescan_output.json
+ ssh_scan -t 192.168.1.1 -p 22222
+ ssh_scan -t 192.168.1.1 -p 22222 -L output.log -V INFO
+ ssh_scan -t 192.168.1.1 -P custom_policy.yml
+ ssh_scan -t 192.168.1.1 --unit-test -P custom_policy.yml
+```
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+[ssh_scan GitHub]: https://github.com/mozilla/ssh_scan
+[ssh_scan Documentation]: https://github.com/mozilla/ssh_scan#example-command-line-usage
\ No newline at end of file
diff --git a/scanner/ssh_scan/examples/example.com/scan.yaml b/scanner/ssh_scan/examples/example.com/scan.yaml
new file mode 100644
index 00000000..d6c166ee
--- /dev/null
+++ b/scanner/ssh_scan/examples/example.com/scan.yaml
@@ -0,0 +1,13 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: Scan
+metadata:
+ name: "ssh-www.example.com"
+ labels:
+ company: iteratec
+spec:
+ scanType: "ssh-scan"
+ parameters:
+ - "-t"
+ - www.example.com
+ - "-p"
+ - "22222"
diff --git a/scanner/ssh_scan/examples/localhost/findings.yaml b/scanner/ssh_scan/examples/localhost/findings.yaml
new file mode 100644
index 00000000..75bc4d84
--- /dev/null
+++ b/scanner/ssh_scan/examples/localhost/findings.yaml
@@ -0,0 +1,12748 @@
+[
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.0.1",
+ "hostname": "fritz.box",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": [
+
+ ],
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:08 +0200",
+ "end_time": "2020-05-18 14:16:08 +0200",
+ "scan_duration_seconds": 0.009147,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.2",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:08 +0200",
+ "end_time": "2020-05-18 14:16:13 +0200",
+ "scan_duration_seconds": 5.018145,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.5",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:08 +0200",
+ "end_time": "2020-05-18 14:16:13 +0200",
+ "scan_duration_seconds": 5.023781,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.3",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:08 +0200",
+ "end_time": "2020-05-18 14:16:13 +0200",
+ "scan_duration_seconds": 5.025497,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.4",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:08 +0200",
+ "end_time": "2020-05-18 14:16:13 +0200",
+ "scan_duration_seconds": 5.026574,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.6",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:08 +0200",
+ "end_time": "2020-05-18 14:16:13 +0200",
+ "scan_duration_seconds": 5.019285,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.10",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:13 +0200",
+ "end_time": "2020-05-18 14:16:19 +0200",
+ "scan_duration_seconds": 5.045999,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.7",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:13 +0200",
+ "end_time": "2020-05-18 14:16:19 +0200",
+ "scan_duration_seconds": 5.05908,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.11",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:13 +0200",
+ "end_time": "2020-05-18 14:16:19 +0200",
+ "scan_duration_seconds": 5.052545,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.8",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:13 +0200",
+ "end_time": "2020-05-18 14:16:19 +0200",
+ "scan_duration_seconds": 5.056765,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.9",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:13 +0200",
+ "end_time": "2020-05-18 14:16:19 +0200",
+ "scan_duration_seconds": 5.06131,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.12",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:19 +0200",
+ "end_time": "2020-05-18 14:16:24 +0200",
+ "scan_duration_seconds": 5.015576,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.13",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:19 +0200",
+ "end_time": "2020-05-18 14:16:24 +0200",
+ "scan_duration_seconds": 5.013597,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.15",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:19 +0200",
+ "end_time": "2020-05-18 14:16:24 +0200",
+ "scan_duration_seconds": 5.012137,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.14",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:19 +0200",
+ "end_time": "2020-05-18 14:16:24 +0200",
+ "scan_duration_seconds": 5.015068,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.16",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:19 +0200",
+ "end_time": "2020-05-18 14:16:24 +0200",
+ "scan_duration_seconds": 5.016027,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.17",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:24 +0200",
+ "end_time": "2020-05-18 14:16:29 +0200",
+ "scan_duration_seconds": 5.014476,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.18",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:24 +0200",
+ "end_time": "2020-05-18 14:16:29 +0200",
+ "scan_duration_seconds": 5.012788,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.36",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:39 +0200",
+ "end_time": "2020-05-18 14:16:44 +0200",
+ "scan_duration_seconds": 5.026775,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.38",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:44 +0200",
+ "end_time": "2020-05-18 14:16:49 +0200",
+ "scan_duration_seconds": 5.004179,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.40",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:44 +0200",
+ "end_time": "2020-05-18 14:16:49 +0200",
+ "scan_duration_seconds": 5.011815,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.39",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:44 +0200",
+ "end_time": "2020-05-18 14:16:49 +0200",
+ "scan_duration_seconds": 5.015197,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.41",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:44 +0200",
+ "end_time": "2020-05-18 14:16:49 +0200",
+ "scan_duration_seconds": 5.020542,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.42",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:44 +0200",
+ "end_time": "2020-05-18 14:16:49 +0200",
+ "scan_duration_seconds": 5.023733,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.43",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:49 +0200",
+ "end_time": "2020-05-18 14:16:54 +0200",
+ "scan_duration_seconds": 5.009096,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.45",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:49 +0200",
+ "end_time": "2020-05-18 14:16:54 +0200",
+ "scan_duration_seconds": 5.011373,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.44",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:49 +0200",
+ "end_time": "2020-05-18 14:16:54 +0200",
+ "scan_duration_seconds": 5.021025,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.46",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:49 +0200",
+ "end_time": "2020-05-18 14:16:54 +0200",
+ "scan_duration_seconds": 5.013896,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.47",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:49 +0200",
+ "end_time": "2020-05-18 14:16:54 +0200",
+ "scan_duration_seconds": 5.01212,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.48",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:54 +0200",
+ "end_time": "2020-05-18 14:16:59 +0200",
+ "scan_duration_seconds": 5.015682,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.49",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:54 +0200",
+ "end_time": "2020-05-18 14:16:59 +0200",
+ "scan_duration_seconds": 5.024721,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.50",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:54 +0200",
+ "end_time": "2020-05-18 14:16:59 +0200",
+ "scan_duration_seconds": 5.018128,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.51",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:54 +0200",
+ "end_time": "2020-05-18 14:16:59 +0200",
+ "scan_duration_seconds": 5.016329,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.52",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:54 +0200",
+ "end_time": "2020-05-18 14:16:59 +0200",
+ "scan_duration_seconds": 5.017229,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.53",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:59 +0200",
+ "end_time": "2020-05-18 14:17:04 +0200",
+ "scan_duration_seconds": 5.013938,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.54",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:59 +0200",
+ "end_time": "2020-05-18 14:17:04 +0200",
+ "scan_duration_seconds": 5.027029,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.57",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:59 +0200",
+ "end_time": "2020-05-18 14:17:04 +0200",
+ "scan_duration_seconds": 5.034224,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.56",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:59 +0200",
+ "end_time": "2020-05-18 14:17:04 +0200",
+ "scan_duration_seconds": 5.039258,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.55",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:16:59 +0200",
+ "end_time": "2020-05-18 14:17:04 +0200",
+ "scan_duration_seconds": 5.040982,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.58",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:04 +0200",
+ "end_time": "2020-05-18 14:17:09 +0200",
+ "scan_duration_seconds": 5.00823,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.59",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:04 +0200",
+ "end_time": "2020-05-18 14:17:09 +0200",
+ "scan_duration_seconds": 5.023171,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.60",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:04 +0200",
+ "end_time": "2020-05-18 14:17:09 +0200",
+ "scan_duration_seconds": 5.013186,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.62",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:04 +0200",
+ "end_time": "2020-05-18 14:17:09 +0200",
+ "scan_duration_seconds": 5.010377,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.61",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:04 +0200",
+ "end_time": "2020-05-18 14:17:09 +0200",
+ "scan_duration_seconds": 5.014818,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.63",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:09 +0200",
+ "end_time": "2020-05-18 14:17:14 +0200",
+ "scan_duration_seconds": 5.009808,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.64",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:09 +0200",
+ "end_time": "2020-05-18 14:17:14 +0200",
+ "scan_duration_seconds": 5.017995,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.66",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:09 +0200",
+ "end_time": "2020-05-18 14:17:14 +0200",
+ "scan_duration_seconds": 5.017735,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.65",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:09 +0200",
+ "end_time": "2020-05-18 14:17:14 +0200",
+ "scan_duration_seconds": 5.019746,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.67",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:09 +0200",
+ "end_time": "2020-05-18 14:17:14 +0200",
+ "scan_duration_seconds": 5.016963,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.68",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:14 +0200",
+ "end_time": "2020-05-18 14:17:19 +0200",
+ "scan_duration_seconds": 5.009804,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.69",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:14 +0200",
+ "end_time": "2020-05-18 14:17:19 +0200",
+ "scan_duration_seconds": 5.016983,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.70",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:14 +0200",
+ "end_time": "2020-05-18 14:17:19 +0200",
+ "scan_duration_seconds": 5.01562,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.72",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:14 +0200",
+ "end_time": "2020-05-18 14:17:19 +0200",
+ "scan_duration_seconds": 5.016326,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.71",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:14 +0200",
+ "end_time": "2020-05-18 14:17:19 +0200",
+ "scan_duration_seconds": 5.017919,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.73",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:19 +0200",
+ "end_time": "2020-05-18 14:17:24 +0200",
+ "scan_duration_seconds": 5.025453,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.77",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:19 +0200",
+ "end_time": "2020-05-18 14:17:24 +0200",
+ "scan_duration_seconds": 5.016805,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.74",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:19 +0200",
+ "end_time": "2020-05-18 14:17:24 +0200",
+ "scan_duration_seconds": 5.020961,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.75",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:19 +0200",
+ "end_time": "2020-05-18 14:17:24 +0200",
+ "scan_duration_seconds": 5.024436,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.76",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:19 +0200",
+ "end_time": "2020-05-18 14:17:24 +0200",
+ "scan_duration_seconds": 5.021202,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.78",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:24 +0200",
+ "end_time": "2020-05-18 14:17:29 +0200",
+ "scan_duration_seconds": 5.008501,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.79",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:24 +0200",
+ "end_time": "2020-05-18 14:17:29 +0200",
+ "scan_duration_seconds": 5.010518,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.80",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:24 +0200",
+ "end_time": "2020-05-18 14:17:29 +0200",
+ "scan_duration_seconds": 5.017385,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.81",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:24 +0200",
+ "end_time": "2020-05-18 14:17:29 +0200",
+ "scan_duration_seconds": 5.017398,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.82",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:24 +0200",
+ "end_time": "2020-05-18 14:17:29 +0200",
+ "scan_duration_seconds": 5.019877,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.83",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:29 +0200",
+ "end_time": "2020-05-18 14:17:34 +0200",
+ "scan_duration_seconds": 5.012493,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.84",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:29 +0200",
+ "end_time": "2020-05-18 14:17:34 +0200",
+ "scan_duration_seconds": 5.01596,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.86",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:29 +0200",
+ "end_time": "2020-05-18 14:17:34 +0200",
+ "scan_duration_seconds": 5.036337,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.85",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:29 +0200",
+ "end_time": "2020-05-18 14:17:34 +0200",
+ "scan_duration_seconds": 5.040029,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.87",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:29 +0200",
+ "end_time": "2020-05-18 14:17:34 +0200",
+ "scan_duration_seconds": 5.034385,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.88",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:34 +0200",
+ "end_time": "2020-05-18 14:17:39 +0200",
+ "scan_duration_seconds": 5.009505,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.89",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:34 +0200",
+ "end_time": "2020-05-18 14:17:39 +0200",
+ "scan_duration_seconds": 5.012555,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.91",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:34 +0200",
+ "end_time": "2020-05-18 14:17:39 +0200",
+ "scan_duration_seconds": 5.014005,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.90",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:34 +0200",
+ "end_time": "2020-05-18 14:17:39 +0200",
+ "scan_duration_seconds": 5.01487,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.92",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:34 +0200",
+ "end_time": "2020-05-18 14:17:39 +0200",
+ "scan_duration_seconds": 5.015081,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.93",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:39 +0200",
+ "end_time": "2020-05-18 14:17:44 +0200",
+ "scan_duration_seconds": 5.011196,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.94",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:39 +0200",
+ "end_time": "2020-05-18 14:17:44 +0200",
+ "scan_duration_seconds": 5.00896,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.96",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:39 +0200",
+ "end_time": "2020-05-18 14:17:44 +0200",
+ "scan_duration_seconds": 5.013573,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.97",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:39 +0200",
+ "end_time": "2020-05-18 14:17:44 +0200",
+ "scan_duration_seconds": 5.015892,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.95",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:39 +0200",
+ "end_time": "2020-05-18 14:17:44 +0200",
+ "scan_duration_seconds": 5.017638,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.98",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:44 +0200",
+ "end_time": "2020-05-18 14:17:49 +0200",
+ "scan_duration_seconds": 5.014191,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.99",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:44 +0200",
+ "end_time": "2020-05-18 14:17:49 +0200",
+ "scan_duration_seconds": 5.012209,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.100",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:44 +0200",
+ "end_time": "2020-05-18 14:17:49 +0200",
+ "scan_duration_seconds": 5.015569,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.101",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:44 +0200",
+ "end_time": "2020-05-18 14:17:49 +0200",
+ "scan_duration_seconds": 5.019266,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.102",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:44 +0200",
+ "end_time": "2020-05-18 14:17:49 +0200",
+ "scan_duration_seconds": 5.019509,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.103",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:49 +0200",
+ "end_time": "2020-05-18 14:17:54 +0200",
+ "scan_duration_seconds": 5.011426,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.104",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:49 +0200",
+ "end_time": "2020-05-18 14:17:54 +0200",
+ "scan_duration_seconds": 5.008065,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.105",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:49 +0200",
+ "end_time": "2020-05-18 14:17:54 +0200",
+ "scan_duration_seconds": 5.010373,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.106",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:49 +0200",
+ "end_time": "2020-05-18 14:17:54 +0200",
+ "scan_duration_seconds": 5.011829,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.107",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:49 +0200",
+ "end_time": "2020-05-18 14:17:54 +0200",
+ "scan_duration_seconds": 5.01201,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.108",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:54 +0200",
+ "end_time": "2020-05-18 14:17:59 +0200",
+ "scan_duration_seconds": 5.011443,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.109",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:54 +0200",
+ "end_time": "2020-05-18 14:17:59 +0200",
+ "scan_duration_seconds": 5.013181,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.110",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:54 +0200",
+ "end_time": "2020-05-18 14:17:59 +0200",
+ "scan_duration_seconds": 5.009685,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.112",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:54 +0200",
+ "end_time": "2020-05-18 14:17:59 +0200",
+ "scan_duration_seconds": 5.014025,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.111",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:54 +0200",
+ "end_time": "2020-05-18 14:17:59 +0200",
+ "scan_duration_seconds": 5.014552,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.113",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:59 +0200",
+ "end_time": "2020-05-18 14:18:04 +0200",
+ "scan_duration_seconds": 5.014669,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.114",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:59 +0200",
+ "end_time": "2020-05-18 14:18:04 +0200",
+ "scan_duration_seconds": 5.011557,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.115",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:59 +0200",
+ "end_time": "2020-05-18 14:18:04 +0200",
+ "scan_duration_seconds": 5.014777,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.117",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:59 +0200",
+ "end_time": "2020-05-18 14:18:04 +0200",
+ "scan_duration_seconds": 5.012769,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.116",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:17:59 +0200",
+ "end_time": "2020-05-18 14:18:04 +0200",
+ "scan_duration_seconds": 5.015077,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.118",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:04 +0200",
+ "end_time": "2020-05-18 14:18:09 +0200",
+ "scan_duration_seconds": 5.012724,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.119",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:04 +0200",
+ "end_time": "2020-05-18 14:18:09 +0200",
+ "scan_duration_seconds": 5.020184,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.120",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:04 +0200",
+ "end_time": "2020-05-18 14:18:09 +0200",
+ "scan_duration_seconds": 5.015805,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.121",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:04 +0200",
+ "end_time": "2020-05-18 14:18:09 +0200",
+ "scan_duration_seconds": 5.013292,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.122",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:04 +0200",
+ "end_time": "2020-05-18 14:18:09 +0200",
+ "scan_duration_seconds": 5.013342,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.123",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:09 +0200",
+ "end_time": "2020-05-18 14:18:14 +0200",
+ "scan_duration_seconds": 5.009917,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.124",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:09 +0200",
+ "end_time": "2020-05-18 14:18:14 +0200",
+ "scan_duration_seconds": 5.00777,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.125",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:09 +0200",
+ "end_time": "2020-05-18 14:18:14 +0200",
+ "scan_duration_seconds": 5.009052,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.126",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:09 +0200",
+ "end_time": "2020-05-18 14:18:14 +0200",
+ "scan_duration_seconds": 5.010297,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.127",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:09 +0200",
+ "end_time": "2020-05-18 14:18:14 +0200",
+ "scan_duration_seconds": 5.007845,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.128",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:14 +0200",
+ "end_time": "2020-05-18 14:18:19 +0200",
+ "scan_duration_seconds": 5.007212,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.129",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:14 +0200",
+ "end_time": "2020-05-18 14:18:19 +0200",
+ "scan_duration_seconds": 5.007011,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.131",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:14 +0200",
+ "end_time": "2020-05-18 14:18:19 +0200",
+ "scan_duration_seconds": 5.010844,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.130",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:14 +0200",
+ "end_time": "2020-05-18 14:18:19 +0200",
+ "scan_duration_seconds": 5.020804,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.132",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:14 +0200",
+ "end_time": "2020-05-18 14:18:19 +0200",
+ "scan_duration_seconds": 5.011265,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.133",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:19 +0200",
+ "end_time": "2020-05-18 14:18:24 +0200",
+ "scan_duration_seconds": 5.013889,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.134",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:19 +0200",
+ "end_time": "2020-05-18 14:18:24 +0200",
+ "scan_duration_seconds": 5.011654,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.135",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:19 +0200",
+ "end_time": "2020-05-18 14:18:24 +0200",
+ "scan_duration_seconds": 5.011695,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.137",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:19 +0200",
+ "end_time": "2020-05-18 14:18:24 +0200",
+ "scan_duration_seconds": 5.012752,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.136",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:19 +0200",
+ "end_time": "2020-05-18 14:18:24 +0200",
+ "scan_duration_seconds": 5.016228,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.138",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:24 +0200",
+ "end_time": "2020-05-18 14:18:29 +0200",
+ "scan_duration_seconds": 5.007896,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.139",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:24 +0200",
+ "end_time": "2020-05-18 14:18:29 +0200",
+ "scan_duration_seconds": 5.012671,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.140",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:24 +0200",
+ "end_time": "2020-05-18 14:18:29 +0200",
+ "scan_duration_seconds": 5.01449,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.142",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:24 +0200",
+ "end_time": "2020-05-18 14:18:29 +0200",
+ "scan_duration_seconds": 5.01353,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.141",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:24 +0200",
+ "end_time": "2020-05-18 14:18:29 +0200",
+ "scan_duration_seconds": 5.02139,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.143",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:29 +0200",
+ "end_time": "2020-05-18 14:18:34 +0200",
+ "scan_duration_seconds": 5.00722,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.144",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:29 +0200",
+ "end_time": "2020-05-18 14:18:34 +0200",
+ "scan_duration_seconds": 5.008936,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.145",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:29 +0200",
+ "end_time": "2020-05-18 14:18:34 +0200",
+ "scan_duration_seconds": 5.010428,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.146",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:29 +0200",
+ "end_time": "2020-05-18 14:18:34 +0200",
+ "scan_duration_seconds": 5.010461,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.147",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:29 +0200",
+ "end_time": "2020-05-18 14:18:34 +0200",
+ "scan_duration_seconds": 5.010366,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.148",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:34 +0200",
+ "end_time": "2020-05-18 14:18:39 +0200",
+ "scan_duration_seconds": 5.004849,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.149",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:34 +0200",
+ "end_time": "2020-05-18 14:18:39 +0200",
+ "scan_duration_seconds": 5.007421,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.150",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:34 +0200",
+ "end_time": "2020-05-18 14:18:39 +0200",
+ "scan_duration_seconds": 5.010495,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.151",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:34 +0200",
+ "end_time": "2020-05-18 14:18:39 +0200",
+ "scan_duration_seconds": 5.012477,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.152",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:34 +0200",
+ "end_time": "2020-05-18 14:18:39 +0200",
+ "scan_duration_seconds": 5.009218,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.153",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:39 +0200",
+ "end_time": "2020-05-18 14:18:44 +0200",
+ "scan_duration_seconds": 5.011404,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.154",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:39 +0200",
+ "end_time": "2020-05-18 14:18:44 +0200",
+ "scan_duration_seconds": 5.009484,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.155",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:39 +0200",
+ "end_time": "2020-05-18 14:18:44 +0200",
+ "scan_duration_seconds": 5.006623,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.157",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:39 +0200",
+ "end_time": "2020-05-18 14:18:44 +0200",
+ "scan_duration_seconds": 5.009452,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.156",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:39 +0200",
+ "end_time": "2020-05-18 14:18:44 +0200",
+ "scan_duration_seconds": 5.010617,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.158",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:44 +0200",
+ "end_time": "2020-05-18 14:18:49 +0200",
+ "scan_duration_seconds": 5.007965,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.159",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:44 +0200",
+ "end_time": "2020-05-18 14:18:49 +0200",
+ "scan_duration_seconds": 5.006987,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.160",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:44 +0200",
+ "end_time": "2020-05-18 14:18:49 +0200",
+ "scan_duration_seconds": 5.005987,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.162",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:44 +0200",
+ "end_time": "2020-05-18 14:18:49 +0200",
+ "scan_duration_seconds": 5.014419,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.161",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:44 +0200",
+ "end_time": "2020-05-18 14:18:49 +0200",
+ "scan_duration_seconds": 5.01457,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.163",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:49 +0200",
+ "end_time": "2020-05-18 14:18:54 +0200",
+ "scan_duration_seconds": 5.018359,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.164",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:49 +0200",
+ "end_time": "2020-05-18 14:18:54 +0200",
+ "scan_duration_seconds": 5.017265,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.165",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:49 +0200",
+ "end_time": "2020-05-18 14:18:54 +0200",
+ "scan_duration_seconds": 5.014736,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.167",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:49 +0200",
+ "end_time": "2020-05-18 14:18:54 +0200",
+ "scan_duration_seconds": 5.016781,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.166",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:49 +0200",
+ "end_time": "2020-05-18 14:18:54 +0200",
+ "scan_duration_seconds": 5.018615,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.168",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:54 +0200",
+ "end_time": "2020-05-18 14:18:59 +0200",
+ "scan_duration_seconds": 5.009226,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.169",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:54 +0200",
+ "end_time": "2020-05-18 14:18:59 +0200",
+ "scan_duration_seconds": 5.009719,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.170",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:54 +0200",
+ "end_time": "2020-05-18 14:18:59 +0200",
+ "scan_duration_seconds": 5.01229,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.171",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:54 +0200",
+ "end_time": "2020-05-18 14:18:59 +0200",
+ "scan_duration_seconds": 5.009089,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.172",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:54 +0200",
+ "end_time": "2020-05-18 14:18:59 +0200",
+ "scan_duration_seconds": 5.008697,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.173",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:59 +0200",
+ "end_time": "2020-05-18 14:19:04 +0200",
+ "scan_duration_seconds": 5.013729,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.174",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:59 +0200",
+ "end_time": "2020-05-18 14:19:04 +0200",
+ "scan_duration_seconds": 5.021665,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.175",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:59 +0200",
+ "end_time": "2020-05-18 14:19:04 +0200",
+ "scan_duration_seconds": 5.010501,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.176",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:59 +0200",
+ "end_time": "2020-05-18 14:19:04 +0200",
+ "scan_duration_seconds": 5.009526,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.177",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:18:59 +0200",
+ "end_time": "2020-05-18 14:19:04 +0200",
+ "scan_duration_seconds": 5.016848,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.178",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:04 +0200",
+ "end_time": "2020-05-18 14:19:09 +0200",
+ "scan_duration_seconds": 5.013499,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.179",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:04 +0200",
+ "end_time": "2020-05-18 14:19:09 +0200",
+ "scan_duration_seconds": 5.013188,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.180",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:04 +0200",
+ "end_time": "2020-05-18 14:19:09 +0200",
+ "scan_duration_seconds": 5.012,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.181",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:04 +0200",
+ "end_time": "2020-05-18 14:19:09 +0200",
+ "scan_duration_seconds": 5.01268,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.182",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:04 +0200",
+ "end_time": "2020-05-18 14:19:09 +0200",
+ "scan_duration_seconds": 5.016068,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.183",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:09 +0200",
+ "end_time": "2020-05-18 14:19:14 +0200",
+ "scan_duration_seconds": 5.009168,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.184",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:09 +0200",
+ "end_time": "2020-05-18 14:19:14 +0200",
+ "scan_duration_seconds": 5.012193,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.185",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:09 +0200",
+ "end_time": "2020-05-18 14:19:14 +0200",
+ "scan_duration_seconds": 5.012495,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.186",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:09 +0200",
+ "end_time": "2020-05-18 14:19:14 +0200",
+ "scan_duration_seconds": 5.010615,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.187",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:09 +0200",
+ "end_time": "2020-05-18 14:19:14 +0200",
+ "scan_duration_seconds": 5.009718,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.188",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:14 +0200",
+ "end_time": "2020-05-18 14:19:19 +0200",
+ "scan_duration_seconds": 5.013079,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.189",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:14 +0200",
+ "end_time": "2020-05-18 14:19:19 +0200",
+ "scan_duration_seconds": 5.008909,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.190",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:14 +0200",
+ "end_time": "2020-05-18 14:19:19 +0200",
+ "scan_duration_seconds": 5.012701,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.191",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:14 +0200",
+ "end_time": "2020-05-18 14:19:19 +0200",
+ "scan_duration_seconds": 5.011254,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.192",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:14 +0200",
+ "end_time": "2020-05-18 14:19:19 +0200",
+ "scan_duration_seconds": 5.011075,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.193",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:19 +0200",
+ "end_time": "2020-05-18 14:19:24 +0200",
+ "scan_duration_seconds": 5.008206,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.194",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:19 +0200",
+ "end_time": "2020-05-18 14:19:24 +0200",
+ "scan_duration_seconds": 5.008122,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.195",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:19 +0200",
+ "end_time": "2020-05-18 14:19:24 +0200",
+ "scan_duration_seconds": 5.008552,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.196",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:19 +0200",
+ "end_time": "2020-05-18 14:19:24 +0200",
+ "scan_duration_seconds": 5.010205,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.197",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:19 +0200",
+ "end_time": "2020-05-18 14:19:24 +0200",
+ "scan_duration_seconds": 5.009305,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.198",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:24 +0200",
+ "end_time": "2020-05-18 14:19:29 +0200",
+ "scan_duration_seconds": 5.014749,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.199",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:24 +0200",
+ "end_time": "2020-05-18 14:19:29 +0200",
+ "scan_duration_seconds": 5.009968,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.200",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:24 +0200",
+ "end_time": "2020-05-18 14:19:29 +0200",
+ "scan_duration_seconds": 5.006475,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.201",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:24 +0200",
+ "end_time": "2020-05-18 14:19:29 +0200",
+ "scan_duration_seconds": 5.009185,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.202",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:24 +0200",
+ "end_time": "2020-05-18 14:19:29 +0200",
+ "scan_duration_seconds": 5.008749,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.203",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:29 +0200",
+ "end_time": "2020-05-18 14:19:34 +0200",
+ "scan_duration_seconds": 5.008611,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.204",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:29 +0200",
+ "end_time": "2020-05-18 14:19:34 +0200",
+ "scan_duration_seconds": 5.007647,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.205",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:29 +0200",
+ "end_time": "2020-05-18 14:19:34 +0200",
+ "scan_duration_seconds": 5.009199,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.206",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:29 +0200",
+ "end_time": "2020-05-18 14:19:34 +0200",
+ "scan_duration_seconds": 5.007476,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.207",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:29 +0200",
+ "end_time": "2020-05-18 14:19:34 +0200",
+ "scan_duration_seconds": 5.012679,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.208",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:34 +0200",
+ "end_time": "2020-05-18 14:19:39 +0200",
+ "scan_duration_seconds": 5.016178,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.209",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:34 +0200",
+ "end_time": "2020-05-18 14:19:39 +0200",
+ "scan_duration_seconds": 5.013339,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.210",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:34 +0200",
+ "end_time": "2020-05-18 14:19:39 +0200",
+ "scan_duration_seconds": 5.011069,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.211",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:34 +0200",
+ "end_time": "2020-05-18 14:19:39 +0200",
+ "scan_duration_seconds": 5.01491,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.212",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:34 +0200",
+ "end_time": "2020-05-18 14:19:39 +0200",
+ "scan_duration_seconds": 5.008301,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.213",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:39 +0200",
+ "end_time": "2020-05-18 14:19:44 +0200",
+ "scan_duration_seconds": 5.007219,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.214",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:39 +0200",
+ "end_time": "2020-05-18 14:19:44 +0200",
+ "scan_duration_seconds": 5.008252,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.215",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:39 +0200",
+ "end_time": "2020-05-18 14:19:44 +0200",
+ "scan_duration_seconds": 5.013376,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.216",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:39 +0200",
+ "end_time": "2020-05-18 14:19:44 +0200",
+ "scan_duration_seconds": 5.005473,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.217",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:39 +0200",
+ "end_time": "2020-05-18 14:19:44 +0200",
+ "scan_duration_seconds": 5.009484,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.218",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:44 +0200",
+ "end_time": "2020-05-18 14:19:49 +0200",
+ "scan_duration_seconds": 5.004647,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.219",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:44 +0200",
+ "end_time": "2020-05-18 14:19:49 +0200",
+ "scan_duration_seconds": 5.015997,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.220",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:44 +0200",
+ "end_time": "2020-05-18 14:19:49 +0200",
+ "scan_duration_seconds": 5.009858,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.221",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:44 +0200",
+ "end_time": "2020-05-18 14:19:49 +0200",
+ "scan_duration_seconds": 5.009426,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.222",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:44 +0200",
+ "end_time": "2020-05-18 14:19:49 +0200",
+ "scan_duration_seconds": 5.011433,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.223",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:49 +0200",
+ "end_time": "2020-05-18 14:19:54 +0200",
+ "scan_duration_seconds": 5.007592,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.224",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:49 +0200",
+ "end_time": "2020-05-18 14:19:54 +0200",
+ "scan_duration_seconds": 5.014186,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.225",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:49 +0200",
+ "end_time": "2020-05-18 14:19:54 +0200",
+ "scan_duration_seconds": 5.015063,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.226",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:49 +0200",
+ "end_time": "2020-05-18 14:19:54 +0200",
+ "scan_duration_seconds": 5.011104,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.227",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:49 +0200",
+ "end_time": "2020-05-18 14:19:54 +0200",
+ "scan_duration_seconds": 5.008299,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.228",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:54 +0200",
+ "end_time": "2020-05-18 14:19:59 +0200",
+ "scan_duration_seconds": 5.006931,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.229",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:54 +0200",
+ "end_time": "2020-05-18 14:19:59 +0200",
+ "scan_duration_seconds": 5.009133,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.230",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:54 +0200",
+ "end_time": "2020-05-18 14:19:59 +0200",
+ "scan_duration_seconds": 5.007698,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.231",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:54 +0200",
+ "end_time": "2020-05-18 14:19:59 +0200",
+ "scan_duration_seconds": 5.006834,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.232",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:54 +0200",
+ "end_time": "2020-05-18 14:19:59 +0200",
+ "scan_duration_seconds": 5.009307,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.233",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:59 +0200",
+ "end_time": "2020-05-18 14:20:04 +0200",
+ "scan_duration_seconds": 5.010224,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.234",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:59 +0200",
+ "end_time": "2020-05-18 14:20:04 +0200",
+ "scan_duration_seconds": 5.017244,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.235",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:59 +0200",
+ "end_time": "2020-05-18 14:20:04 +0200",
+ "scan_duration_seconds": 5.023908,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.236",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:59 +0200",
+ "end_time": "2020-05-18 14:20:04 +0200",
+ "scan_duration_seconds": 5.022695,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.237",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:19:59 +0200",
+ "end_time": "2020-05-18 14:20:04 +0200",
+ "scan_duration_seconds": 5.016382,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.238",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:04 +0200",
+ "end_time": "2020-05-18 14:20:09 +0200",
+ "scan_duration_seconds": 5.012382,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.239",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:04 +0200",
+ "end_time": "2020-05-18 14:20:09 +0200",
+ "scan_duration_seconds": 5.010582,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.240",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:04 +0200",
+ "end_time": "2020-05-18 14:20:09 +0200",
+ "scan_duration_seconds": 5.013688,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.241",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:04 +0200",
+ "end_time": "2020-05-18 14:20:09 +0200",
+ "scan_duration_seconds": 5.02014,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.242",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:04 +0200",
+ "end_time": "2020-05-18 14:20:09 +0200",
+ "scan_duration_seconds": 5.019114,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.243",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:09 +0200",
+ "end_time": "2020-05-18 14:20:14 +0200",
+ "scan_duration_seconds": 5.010204,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.244",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:09 +0200",
+ "end_time": "2020-05-18 14:20:14 +0200",
+ "scan_duration_seconds": 5.026513,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.245",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:09 +0200",
+ "end_time": "2020-05-18 14:20:14 +0200",
+ "scan_duration_seconds": 5.015253,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.246",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:09 +0200",
+ "end_time": "2020-05-18 14:20:14 +0200",
+ "scan_duration_seconds": 5.00897,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.247",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:09 +0200",
+ "end_time": "2020-05-18 14:20:14 +0200",
+ "scan_duration_seconds": 5.012336,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.248",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:14 +0200",
+ "end_time": "2020-05-18 14:20:19 +0200",
+ "scan_duration_seconds": 5.016242,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.249",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:14 +0200",
+ "end_time": "2020-05-18 14:20:19 +0200",
+ "scan_duration_seconds": 5.009471,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.250",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:14 +0200",
+ "end_time": "2020-05-18 14:20:19 +0200",
+ "scan_duration_seconds": 5.010296,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.251",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:14 +0200",
+ "end_time": "2020-05-18 14:20:19 +0200",
+ "scan_duration_seconds": 5.008444,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.252",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:14 +0200",
+ "end_time": "2020-05-18 14:20:19 +0200",
+ "scan_duration_seconds": 5.029963,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.253",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:19 +0200",
+ "end_time": "2020-05-18 14:20:24 +0200",
+ "scan_duration_seconds": 5.020419,
+ "error": "Socket is no longer valid"
+ },
+ {
+ "ssh_scan_version": "0.0.42",
+ "ip": "192.168.178.254",
+ "hostname": "",
+ "port": 22,
+ "server_banner": "",
+ "ssh_version": "unknown",
+ "os": "unknown",
+ "os_cpe": "o:unknown",
+ "ssh_lib": "unknown",
+ "ssh_lib_cpe": "a:unknown",
+ "key_algorithms": [
+
+ ],
+ "encryption_algorithms_client_to_server": [
+
+ ],
+ "encryption_algorithms_server_to_client": [
+
+ ],
+ "mac_algorithms_client_to_server": [
+
+ ],
+ "mac_algorithms_server_to_client": [
+
+ ],
+ "compression_algorithms_client_to_server": [
+
+ ],
+ "compression_algorithms_server_to_client": [
+
+ ],
+ "languages_client_to_server": [
+
+ ],
+ "languages_server_to_client": [
+
+ ],
+ "auth_methods": [
+
+ ],
+ "keys": {
+ },
+ "dns_keys": null,
+ "duplicate_host_key_ips": [
+
+ ],
+ "compliance": {
+ },
+ "start_time": "2020-05-18 14:20:19 +0200",
+ "end_time": "2020-05-18 14:20:24 +0200",
+ "scan_duration_seconds": 5.009291,
+ "error": "Socket is no longer valid"
+ }
+]
diff --git a/operator/config/samples/execution_v1_scan/ssh_iteratec_de.yaml b/scanner/ssh_scan/examples/localhost/scan.yaml
similarity index 77%
rename from operator/config/samples/execution_v1_scan/ssh_iteratec_de.yaml
rename to scanner/ssh_scan/examples/localhost/scan.yaml
index 394bb369..18109220 100644
--- a/operator/config/samples/execution_v1_scan/ssh_iteratec_de.yaml
+++ b/scanner/ssh_scan/examples/localhost/scan.yaml
@@ -1,11 +1,11 @@
apiVersion: "execution.experimental.securecodebox.io/v1"
kind: Scan
metadata:
- name: "ssh-iteratec.de"
+ name: "ssh-localhost"
labels:
company: iteratec
spec:
scanType: "ssh-scan"
parameters:
- "-t"
- - www.iteratec.de
+ - localhost
diff --git a/integrations/ssh_scan/parser/Dockerfile b/scanner/ssh_scan/parser/Dockerfile
similarity index 100%
rename from integrations/ssh_scan/parser/Dockerfile
rename to scanner/ssh_scan/parser/Dockerfile
diff --git a/integrations/ssh_scan/parser/__testFiles__/192.168.42.42.json b/scanner/ssh_scan/parser/__testFiles__/192.168.42.42.json
similarity index 100%
rename from integrations/ssh_scan/parser/__testFiles__/192.168.42.42.json
rename to scanner/ssh_scan/parser/__testFiles__/192.168.42.42.json
diff --git a/integrations/ssh_scan/parser/__testFiles__/local-network.json b/scanner/ssh_scan/parser/__testFiles__/local-network.json
similarity index 100%
rename from integrations/ssh_scan/parser/__testFiles__/local-network.json
rename to scanner/ssh_scan/parser/__testFiles__/local-network.json
diff --git a/integrations/ssh_scan/parser/__testFiles__/localhost.json b/scanner/ssh_scan/parser/__testFiles__/localhost.json
similarity index 100%
rename from integrations/ssh_scan/parser/__testFiles__/localhost.json
rename to scanner/ssh_scan/parser/__testFiles__/localhost.json
diff --git a/integrations/ssh_scan/parser/__testFiles__/securecodebox.io.json b/scanner/ssh_scan/parser/__testFiles__/securecodebox.io.json
similarity index 100%
rename from integrations/ssh_scan/parser/__testFiles__/securecodebox.io.json
rename to scanner/ssh_scan/parser/__testFiles__/securecodebox.io.json
diff --git a/integrations/ssh_scan/parser/parser.js b/scanner/ssh_scan/parser/parser.js
similarity index 100%
rename from integrations/ssh_scan/parser/parser.js
rename to scanner/ssh_scan/parser/parser.js
diff --git a/integrations/ssh_scan/parser/parser.test.js b/scanner/ssh_scan/parser/parser.test.js
similarity index 100%
rename from integrations/ssh_scan/parser/parser.test.js
rename to scanner/ssh_scan/parser/parser.test.js
diff --git a/integrations/ssh_scan/templates/ssh-scan-parse-definition.yaml b/scanner/ssh_scan/templates/ssh-scan-parse-definition.yaml
similarity index 100%
rename from integrations/ssh_scan/templates/ssh-scan-parse-definition.yaml
rename to scanner/ssh_scan/templates/ssh-scan-parse-definition.yaml
diff --git a/integrations/ssh_scan/templates/ssh-scan-scan-type.yaml b/scanner/ssh_scan/templates/ssh-scan-scan-type.yaml
similarity index 83%
rename from integrations/ssh_scan/templates/ssh-scan-scan-type.yaml
rename to scanner/ssh_scan/templates/ssh-scan-scan-type.yaml
index cd92dcbe..6ed63bf4 100644
--- a/integrations/ssh_scan/templates/ssh-scan-scan-type.yaml
+++ b/scanner/ssh_scan/templates/ssh-scan-scan-type.yaml
@@ -15,7 +15,7 @@ spec:
restartPolicy: OnFailure
containers:
- name: ssh-scan
- image: mozilla/ssh_scan
+ image: mozilla/ssh_scan@sha256:ebd76f798159844c0baca6b78cc324ba1966b11eb4f45118397a59d01f764c97
command:
- "/app/bin/ssh_scan"
- "--output"
diff --git a/integrations/ssh_scan/values.yaml b/scanner/ssh_scan/values.yaml
similarity index 100%
rename from integrations/ssh_scan/values.yaml
rename to scanner/ssh_scan/values.yaml
diff --git a/integrations/sslyze/.helmignore b/scanner/sslyze/.helmignore
similarity index 100%
rename from integrations/sslyze/.helmignore
rename to scanner/sslyze/.helmignore
diff --git a/integrations/sslyze/Chart.yaml b/scanner/sslyze/Chart.yaml
similarity index 100%
rename from integrations/sslyze/Chart.yaml
rename to scanner/sslyze/Chart.yaml
diff --git a/scanner/sslyze/README.md b/scanner/sslyze/README.md
new file mode 100644
index 00000000..5f26c0b8
--- /dev/null
+++ b/scanner/sslyze/README.md
@@ -0,0 +1,153 @@
+---
+title: "SSLyze"
+path: "scanner/SSLyze"
+category: "scanner"
+usecase: "SSL/TLS Configuration Scanner"
+---
+
+SSLyze is a Python library and a CLI tool that can analyze the SSL configuration of a server by connecting to it. It is designed to be fast and comprehensive, and should help organizations and testers identify mis-configurations affecting their SSL/TLS servers. To learn more about the SSLyze scanner itself visit or [SSLyze GitHub].
+
+
+
+## Deployment
+
+The SSLyze scanType can be deployed via helm.
+
+```bash
+helm upgrade --install sslyze ./scanner/sslyze/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *secureCodeBox.io* [scan](./examples/secureCodeBox.io/scan.yaml) and [findings](./examples/secureCodeBox.io/findings.yaml)
+* Example *example.com* [scan](./examples/example.com/scan.yaml) and [findings](./examples/example.com/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [SSLyze Documentation], please take a look at the original documentation for more configuration examples.
+
+The command line interface can be used to easily run server scans: `sslyze --regular www.example.com`
+
+```bash
+Usage: sslyze [options] target1.com target2.com:443 target3.com:443{ip} etc...
+
+Options:
+ --version show program's version number and exit
+ -h, --help show this help message and exit
+ --regular Regular HTTPS scan; shortcut for --sslv2 --sslv3
+ --tlsv1 --tlsv1_1 --tlsv1_2 --tlsv1_3 --reneg --resum
+ --certinfo --hide_rejected_ciphers --compression
+ --heartbleed --openssl_ccs --fallback --robot
+
+ Trust stores options:
+ --update_trust_stores
+ Update the default trust stores used by SSLyze. The
+ latest stores will be downloaded from https://github.c
+ om/nabla-c0d3/trust_stores_observatory. This option is
+ meant to be used separately, and will silence any
+ other command line option supplied to SSLyze.
+
+ Client certificate options:
+ --cert=CERT Client certificate chain filename. The certificates
+ must be in PEM format and must be sorted starting with
+ the subject's client certificate, followed by
+ intermediate CA certificates if applicable.
+ --key=KEY Client private key filename.
+ --keyform=KEYFORM Client private key format. DER or PEM (default).
+ --pass=KEYPASS Client private key passphrase.
+
+ Input and output options:
+ --json_out=JSON_FILE
+ Write the scan results as a JSON document to the file
+ JSON_FILE. If JSON_FILE is set to "-", the JSON output
+ will instead be printed to stdout. The resulting JSON
+ file is a serialized version of the ScanResult objects
+ described in SSLyze's Python API: the nodes and
+ attributes will be the same. See https://nabla-c0d3.gi
+ thub.io/sslyze/documentation/available-scan-
+ commands.html for more details.
+ --targets_in=TARGETS_IN
+ Read the list of targets to scan from the file
+ TARGETS_IN. It should contain one host:port per line.
+ --quiet Do not output anything to stdout; useful when using
+ --json_out.
+
+ Connectivity options:
+ --slow_connection Greatly reduce the number of concurrent connections
+ initiated by SSLyze. This will make the scans slower
+ but more reliable if the connection between your host
+ and the server is slow, or if the server cannot handle
+ many concurrent connections. Enable this option if you
+ are getting a lot of timeouts or errors.
+ --https_tunnel=HTTPS_TUNNEL
+ Tunnel all traffic to the target server(s) through an
+ HTTP CONNECT proxy. HTTP_TUNNEL should be the proxy's
+ URL: 'http://USER:PW@HOST:PORT/'. For proxies
+ requiring authentication, only Basic Authentication is
+ supported.
+ --starttls=STARTTLS
+ Perform a StartTLS handshake when connecting to the
+ target server(s). StartTLS should be one of: auto,
+ smtp, xmpp, xmpp_server, pop3, imap, ftp, ldap, rdp,
+ postgres. The 'auto' option will cause SSLyze to
+ deduce the protocol (ftp, imap, etc.) from the
+ supplied port number, for each target servers.
+ --xmpp_to=XMPP_TO Optional setting for STARTTLS XMPP. XMPP_TO should be
+ the hostname to be put in the 'to' attribute of the
+ XMPP stream. Default is the server's hostname.
+ --sni=SNI Use Server Name Indication to specify the hostname to
+ connect to. Will only affect TLS 1.0+ connections.
+
+ Scan commands:
+ --tlsv1_1 Test a server for TLS 1.1 support.
+ --tlsv1_2 Test a server for TLS 1.2 support.
+ --robot Test a server for the ROBOT vulnerability.
+ --reneg Test a server for for insecure TLS renegotiation and
+ client-initiated renegotiation.
+ --early_data Test a server for TLS 1.3 early data support.
+ --fallback Test a server for the TLS_FALLBACK_SCSV mechanism to
+ prevent downgrade attacks.
+ --tlsv1_3 Test a server for TLS 1.3 support.
+ --certinfo Retrieve and analyze a server's certificate(s) to
+ verify its validity.
+ --certinfo_ca_file=CERTINFO_CA_FILE
+ Path to a file containing root certificates in PEM
+ format that will be used to verify the validity of the
+ server's certificate.
+ --heartbleed Test a server for the OpenSSL Heartbleed
+ vulnerability.
+ --resum_rate Measure a server's session resumption rate when
+ attempting 100 resumptions using session IDs.
+ --resum Test a server for session resumption support using
+ session IDs and TLS tickets.
+ --http_headers Test a server for the presence of security-related
+ HTTP headers.
+ --sslv2 Test a server for SSL 2.0 support.
+ --tlsv1 Test a server for TLS 1.0 support.
+ --sslv3 Test a server for SSL 3.0 support.
+ --compression Test a server for TLS compression support, which can
+ be leveraged to perform a CRIME attack.
+ --openssl_ccs Test a server for the OpenSSL CCS Injection
+ vulnerability (CVE-2014-0224).
+```
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+#### Basic scanner tests
+If you want to test sslyze localy you can use brew (only on macOS) to install it: `brew install sslyze`
+
+[SSLyze GitHub]: https://github.com/nabla-c0d3/sslyze
+[SSLyze Documentation]: https://nabla-c0d3.github.io/sslyze/documentation/
\ No newline at end of file
diff --git a/scanner/sslyze/examples/example.com/scan.yaml b/scanner/sslyze/examples/example.com/scan.yaml
new file mode 100644
index 00000000..a2322f8e
--- /dev/null
+++ b/scanner/sslyze/examples/example.com/scan.yaml
@@ -0,0 +1,9 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: Scan
+metadata:
+ name: "sslyze-securecodebox.io"
+spec:
+ scanType: "sslyze"
+ parameters:
+ - "--regular"
+ - "example.com"
diff --git a/operator/config/samples/execution_v1_scan/sslyze_securecodebox_io.yaml b/scanner/sslyze/examples/secureCodeBox.io/scan.yaml
similarity index 100%
rename from operator/config/samples/execution_v1_scan/sslyze_securecodebox_io.yaml
rename to scanner/sslyze/examples/secureCodeBox.io/scan.yaml
diff --git a/scanner/sslyze/parser/.dockerignore b/scanner/sslyze/parser/.dockerignore
new file mode 100644
index 00000000..40b878db
--- /dev/null
+++ b/scanner/sslyze/parser/.dockerignore
@@ -0,0 +1 @@
+node_modules/
\ No newline at end of file
diff --git a/integrations/sslyze/parser/Dockerfile b/scanner/sslyze/parser/Dockerfile
similarity index 100%
rename from integrations/sslyze/parser/Dockerfile
rename to scanner/sslyze/parser/Dockerfile
diff --git a/integrations/sslyze/parser/__testFiles__/expired.badssl.com.json b/scanner/sslyze/parser/__testFiles__/expired.badssl.com.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/expired.badssl.com.json
rename to scanner/sslyze/parser/__testFiles__/expired.badssl.com.json
diff --git a/integrations/sslyze/parser/__testFiles__/google.com.json b/scanner/sslyze/parser/__testFiles__/google.com.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/google.com.json
rename to scanner/sslyze/parser/__testFiles__/google.com.json
diff --git a/integrations/sslyze/parser/__testFiles__/mixed-connectivity-result.json b/scanner/sslyze/parser/__testFiles__/mixed-connectivity-result.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/mixed-connectivity-result.json
rename to scanner/sslyze/parser/__testFiles__/mixed-connectivity-result.json
diff --git a/integrations/sslyze/parser/__testFiles__/revoked.badssl.com.json b/scanner/sslyze/parser/__testFiles__/revoked.badssl.com.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/revoked.badssl.com.json
rename to scanner/sslyze/parser/__testFiles__/revoked.badssl.com.json
diff --git a/integrations/sslyze/parser/__testFiles__/self-signed.badssl.com.json b/scanner/sslyze/parser/__testFiles__/self-signed.badssl.com.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/self-signed.badssl.com.json
rename to scanner/sslyze/parser/__testFiles__/self-signed.badssl.com.json
diff --git a/integrations/sslyze/parser/__testFiles__/tls-v1-0.badssl.com_1010.json b/scanner/sslyze/parser/__testFiles__/tls-v1-0.badssl.com_1010.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/tls-v1-0.badssl.com_1010.json
rename to scanner/sslyze/parser/__testFiles__/tls-v1-0.badssl.com_1010.json
diff --git a/integrations/sslyze/parser/__testFiles__/unavailible-host.json b/scanner/sslyze/parser/__testFiles__/unavailible-host.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/unavailible-host.json
rename to scanner/sslyze/parser/__testFiles__/unavailible-host.json
diff --git a/integrations/sslyze/parser/__testFiles__/untrusted-root.badssl.com.json b/scanner/sslyze/parser/__testFiles__/untrusted-root.badssl.com.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/untrusted-root.badssl.com.json
rename to scanner/sslyze/parser/__testFiles__/untrusted-root.badssl.com.json
diff --git a/integrations/sslyze/parser/__testFiles__/wrong.host.badssl.com.json b/scanner/sslyze/parser/__testFiles__/wrong.host.badssl.com.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/wrong.host.badssl.com.json
rename to scanner/sslyze/parser/__testFiles__/wrong.host.badssl.com.json
diff --git a/integrations/sslyze/parser/__testFiles__/www.securecodebox.io.json b/scanner/sslyze/parser/__testFiles__/www.securecodebox.io.json
similarity index 100%
rename from integrations/sslyze/parser/__testFiles__/www.securecodebox.io.json
rename to scanner/sslyze/parser/__testFiles__/www.securecodebox.io.json
diff --git a/integrations/sslyze/parser/package-lock.json b/scanner/sslyze/parser/package-lock.json
similarity index 100%
rename from integrations/sslyze/parser/package-lock.json
rename to scanner/sslyze/parser/package-lock.json
diff --git a/integrations/sslyze/parser/package.json b/scanner/sslyze/parser/package.json
similarity index 100%
rename from integrations/sslyze/parser/package.json
rename to scanner/sslyze/parser/package.json
diff --git a/integrations/sslyze/parser/parser.js b/scanner/sslyze/parser/parser.js
similarity index 100%
rename from integrations/sslyze/parser/parser.js
rename to scanner/sslyze/parser/parser.js
diff --git a/integrations/sslyze/parser/parser.test.js b/scanner/sslyze/parser/parser.test.js
similarity index 100%
rename from integrations/sslyze/parser/parser.test.js
rename to scanner/sslyze/parser/parser.test.js
diff --git a/integrations/sslyze/templates/sslyze-parse-definition.yaml b/scanner/sslyze/templates/sslyze-parse-definition.yaml
similarity index 100%
rename from integrations/sslyze/templates/sslyze-parse-definition.yaml
rename to scanner/sslyze/templates/sslyze-parse-definition.yaml
diff --git a/integrations/sslyze/templates/sslyze-scan-type.yaml b/scanner/sslyze/templates/sslyze-scan-type.yaml
similarity index 100%
rename from integrations/sslyze/templates/sslyze-scan-type.yaml
rename to scanner/sslyze/templates/sslyze-scan-type.yaml
diff --git a/integrations/sslyze/values.yaml b/scanner/sslyze/values.yaml
similarity index 100%
rename from integrations/sslyze/values.yaml
rename to scanner/sslyze/values.yaml
diff --git a/integrations/trivy/.helmignore b/scanner/test-scan/.helmignore
similarity index 100%
rename from integrations/trivy/.helmignore
rename to scanner/test-scan/.helmignore
diff --git a/scanner/test-scan/Chart.yaml b/scanner/test-scan/Chart.yaml
new file mode 100644
index 00000000..ef063cb1
--- /dev/null
+++ b/scanner/test-scan/Chart.yaml
@@ -0,0 +1,19 @@
+apiVersion: v2
+name: test-scan
+description: A Helm chart to test the secureCodeBox operator
+
+type: application
+version: 0.1.0
+appVersion: 0.1.0
+
+keywords:
+- security
+- scanner
+- secureCodeBox
+- integrationTest
+- test
+sources:
+- https://github.com/secureCodeBox/secureCodeBox
+maintainers:
+- name: iteratec GmbH
+ email: security@iteratec.com
diff --git a/scanner/test-scan/parser/.dockerignore b/scanner/test-scan/parser/.dockerignore
new file mode 100644
index 00000000..40b878db
--- /dev/null
+++ b/scanner/test-scan/parser/.dockerignore
@@ -0,0 +1 @@
+node_modules/
\ No newline at end of file
diff --git a/scanner/test-scan/parser/.gitignore b/scanner/test-scan/parser/.gitignore
new file mode 100644
index 00000000..40b878db
--- /dev/null
+++ b/scanner/test-scan/parser/.gitignore
@@ -0,0 +1 @@
+node_modules/
\ No newline at end of file
diff --git a/scanner/test-scan/parser/Dockerfile b/scanner/test-scan/parser/Dockerfile
new file mode 100644
index 00000000..a753447d
--- /dev/null
+++ b/scanner/test-scan/parser/Dockerfile
@@ -0,0 +1,10 @@
+FROM node:12-alpine as build
+RUN mkdir -p /home/app
+WORKDIR /home/app
+COPY package.json package-lock.json ./
+RUN npm ci --production
+
+FROM scbexperimental/parser-sdk-nodejs:latest
+WORKDIR /home/app/parser-wrapper/parser/
+COPY --from=build --chown=app:app /home/app/node_modules/ ./node_modules/
+COPY --chown=app:app ./parser.js ./parser.js
diff --git a/scanner/test-scan/parser/package-lock.json b/scanner/test-scan/parser/package-lock.json
new file mode 100644
index 00000000..08679e58
--- /dev/null
+++ b/scanner/test-scan/parser/package-lock.json
@@ -0,0 +1,153 @@
+{
+ "name": "test-scan-parser",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "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==",
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "es-abstract": {
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz",
+ "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==",
+ "requires": {
+ "es-to-primitive": "^1.2.0",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.0",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-inspect": "^1.6.0",
+ "object-keys": "^1.1.1",
+ "string.prototype.trimleft": "^2.0.0",
+ "string.prototype.trimright": "^2.0.0"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
+ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
+ },
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "requires": {
+ "has": "^1.0.1"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+ "requires": {
+ "has-symbols": "^1.0.0"
+ }
+ },
+ "object-inspect": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
+ "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
+ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.5.1"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
+ "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
+ "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ }
+ },
+ "util.promisify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
+ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
+ "requires": {
+ "define-properties": "^1.1.2",
+ "object.getownpropertydescriptors": "^2.0.3"
+ }
+ },
+ "xml2js": {
+ "version": "0.4.22",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz",
+ "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==",
+ "requires": {
+ "sax": ">=0.6.0",
+ "util.promisify": "~1.0.0",
+ "xmlbuilder": "~11.0.0"
+ }
+ },
+ "xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
+ }
+ }
+}
diff --git a/scanner/test-scan/parser/package.json b/scanner/test-scan/parser/package.json
new file mode 100644
index 00000000..55877c46
--- /dev/null
+++ b/scanner/test-scan/parser/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "test-scan-parser",
+ "version": "1.0.0",
+ "description": "Parses result files for the type: 'test-txt'",
+ "main": "",
+ "scripts": {},
+ "keywords": [],
+ "author": "iteratec GmbH",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "xml2js": "^0.4.22"
+ },
+ "devDependencies": {}
+}
diff --git a/scanner/test-scan/parser/parser.js b/scanner/test-scan/parser/parser.js
new file mode 100644
index 00000000..9762a542
--- /dev/null
+++ b/scanner/test-scan/parser/parser.js
@@ -0,0 +1,41 @@
+async function parse() {
+ return [
+ {
+ name: "Test read-write-hook service",
+ description: `Port is using protocol.`,
+ category: "Open Port",
+ location: `tcp://rw-hook-test:80`,
+ osi_layer: "NETWORK",
+ severity: "INFORMATIONAL",
+ attributes: {
+ port: 80,
+ state: "Open",
+ ip_address: "host ip address",
+ mac_address: "hostInfo.mac",
+ protocol: "openPort.protocol",
+ hostname: "hostInfo.hostname",
+ method: "openPort.method",
+ operating_system: "hostInfo.osNmap",
+ service: "openPort.service",
+ serviceProduct: "openPort.serviceProduct",
+ serviceVersion: "openPort.serviceVersion",
+ scripts: "openPort.scriptOutputs",
+ },
+ },
+ {
+ name: `Host: hostname`,
+ category: "Host",
+ description: "Found a host",
+ location: "hostname",
+ severity: "INFORMATIONAL",
+ osi_layer: "NETWORK",
+ attributes: {
+ ip_address: "ip address",
+ hostname: "hostname",
+ operating_system: "osNmap",
+ },
+ },
+ ];
+}
+
+module.exports.parse = parse;
diff --git a/scanner/test-scan/scanner/Dockerfile b/scanner/test-scan/scanner/Dockerfile
new file mode 100644
index 00000000..18e621a8
--- /dev/null
+++ b/scanner/test-scan/scanner/Dockerfile
@@ -0,0 +1,4 @@
+FROM alpine:3.11
+RUN addgroup -S test && adduser -S -g test test
+USER test
+CMD [cat]
\ No newline at end of file
diff --git a/scanner/test-scan/templates/test-scan-parse-definition.yaml b/scanner/test-scan/templates/test-scan-parse-definition.yaml
new file mode 100644
index 00000000..3b4442c0
--- /dev/null
+++ b/scanner/test-scan/templates/test-scan-parse-definition.yaml
@@ -0,0 +1,7 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: ParseDefinition
+metadata:
+ name: "test-txt"
+spec:
+ handlesResultsType: test-txt
+ image: "{{ .Values.parserImage.registry }}/{{ .Values.parserImage.repository }}:{{ .Values.parserImage.tag }}"
diff --git a/scanner/test-scan/templates/test-scan-scan-type.yaml b/scanner/test-scan/templates/test-scan-scan-type.yaml
new file mode 100644
index 00000000..016215d6
--- /dev/null
+++ b/scanner/test-scan/templates/test-scan-scan-type.yaml
@@ -0,0 +1,19 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: ScanType
+metadata:
+ name: "test-scan"
+spec:
+ extractResults:
+ type: test-txt
+ location: "/home/securecodebox/hello-world.txt"
+ jobTemplate:
+ spec:
+ ttlSecondsAfterFinished: 10
+ backoffLimit: 3
+ template:
+ spec:
+ restartPolicy: OnFailure
+ containers:
+ - name: test-scan
+ image: scbexperimental/test-scan:latest
+ command: ["touch", "/home/securecodebox/hello-world.txt"]
diff --git a/scanner/test-scan/values.yaml b/scanner/test-scan/values.yaml
new file mode 100644
index 00000000..538e2e6d
--- /dev/null
+++ b/scanner/test-scan/values.yaml
@@ -0,0 +1,4 @@
+parserImage:
+ registry: docker.io
+ repository: scbexperimental/parser-test-scan
+ tag: latest
diff --git a/integrations/zap/.helmignore b/scanner/trivy/.helmignore
similarity index 100%
rename from integrations/zap/.helmignore
rename to scanner/trivy/.helmignore
diff --git a/integrations/trivy/Chart.yaml b/scanner/trivy/Chart.yaml
similarity index 100%
rename from integrations/trivy/Chart.yaml
rename to scanner/trivy/Chart.yaml
diff --git a/scanner/trivy/README.md b/scanner/trivy/README.md
new file mode 100644
index 00000000..f49a162d
--- /dev/null
+++ b/scanner/trivy/README.md
@@ -0,0 +1,55 @@
+---
+title: "Trivy"
+path: "scanner/Trivy"
+category: "scanner"
+usecase: "Containers Vulnerability Scanner"
+---
+
+`Trivy` (`tri` pronounced like **tri**gger, `vy` pronounced like en**vy**) is a simple and comprehensive vulnerability scanner for containers and other artifacts.
+A software vulnerability is a glitch, flaw, or weakness present in the software or in an Operating System.
+`Trivy` detects vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and application dependencies (Bundler, Composer, npm, yarn, etc.).
+`Trivy` is easy to use. Just install the binary and you're ready to scan. All you need to do for scanning is to specify a target such as an image name of the container.
+
+To learn more about the Trivy scanner itself visit or [Trivy GitHub].
+
+
+
+## Deployment
+
+The Trivy scanType can be deployed via helm.
+
+```bash
+helm upgrade --install trivy ./scanner/trivy/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *juice-shop* [scan](./examples/juice-shop/scan.yaml) and [findings](./examples/juice-shop/findings.yaml)
+* Example *mediawiki* [scan](./examples/mediawikip/scan.yaml) and [findings](./examples/mediawiki/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [Trivy Documentation], please take a look at the original documentation for more configuration examples.
+
+* Filter the vulnerabilities by severities `trivy image --severity HIGH,CRITICAL ruby:2.4.0`
+* Filter the vulnerabilities by type (`os` or `library`) `trivy image --vuln-type os ruby:2.4.0`
+* Skip update of vulnerability DB: `trivy image --skip-update python:3.4-alpine3.9`
+* Ignore unfixed vulnerabilities:`trivy image --ignore-unfixed ruby:2.4.0` By default, Trivy also detects unpatched/unfixed vulnerabilities. This means you can't fix these vulnerabilities even if you update all packages. If you would like to ignore them, use the `--ignore-unfixed` option.
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+[Trivy GitHub]: https://github.com/aquasecurity/trivy
+[Trivy Documentation]: https://github.com/aquasecurity/trivy#examples
\ No newline at end of file
diff --git a/integrations/trivy/parser/__testFiles__/juice-shop-v10.2.0.json b/scanner/trivy/examples/juice-shop/findings.yaml
similarity index 100%
rename from integrations/trivy/parser/__testFiles__/juice-shop-v10.2.0.json
rename to scanner/trivy/examples/juice-shop/findings.yaml
diff --git a/operator/config/samples/execution_v1_scan/trivy_juiceshop.yaml b/scanner/trivy/examples/juice-shop/scan.yaml
similarity index 100%
rename from operator/config/samples/execution_v1_scan/trivy_juiceshop.yaml
rename to scanner/trivy/examples/juice-shop/scan.yaml
diff --git a/integrations/trivy/parser/__testFiles__/mediawiki-stable.json b/scanner/trivy/examples/mediawiki/findings.yaml
similarity index 100%
rename from integrations/trivy/parser/__testFiles__/mediawiki-stable.json
rename to scanner/trivy/examples/mediawiki/findings.yaml
diff --git a/operator/config/samples/execution_v1_scan/trivy_mediawiki.yaml b/scanner/trivy/examples/mediawiki/scan.yaml
similarity index 100%
rename from operator/config/samples/execution_v1_scan/trivy_mediawiki.yaml
rename to scanner/trivy/examples/mediawiki/scan.yaml
diff --git a/integrations/trivy/parser/Dockerfile b/scanner/trivy/parser/Dockerfile
similarity index 100%
rename from integrations/trivy/parser/Dockerfile
rename to scanner/trivy/parser/Dockerfile
diff --git a/integrations/trivy/parser/__snapshots__/parser.test.js.snap b/scanner/trivy/parser/__snapshots__/parser.test.js.snap
similarity index 100%
rename from integrations/trivy/parser/__snapshots__/parser.test.js.snap
rename to scanner/trivy/parser/__snapshots__/parser.test.js.snap
diff --git a/scanner/trivy/parser/__testFiles__/juice-shop-v10.2.0.json b/scanner/trivy/parser/__testFiles__/juice-shop-v10.2.0.json
new file mode 100644
index 00000000..8e025ee7
--- /dev/null
+++ b/scanner/trivy/parser/__testFiles__/juice-shop-v10.2.0.json
@@ -0,0 +1,204 @@
+[
+ {
+ "Target": "bkimminich/juice-shop:v10.2.0 (alpine 3.11.5)",
+ "Vulnerabilities": [
+ {
+ "VulnerabilityID": "CVE-2020-1967",
+ "PkgName": "openssl",
+ "InstalledVersion": "1.1.1d-r3",
+ "FixedVersion": "1.1.1g-r0",
+ "Layer": {
+ "DiffID": "sha256:beee9f30bc1f711043e78d4a2be0668955d4b761d587d6f60c2c8dc081efb203"
+ },
+ "Title": "openssl: Segmentation fault in SSL_check_chain causes denial of service",
+ "Description": "Server or client applications that call the SSL_check_chain() function during or after a TLS 1.3 handshake may crash due to a NULL pointer dereference as a result of incorrect handling of the \"signature_algorithms_cert\" TLS extension. The crash occurs if an invalid or unrecognised signature algorithm is received from the peer. This could be exploited by a malicious peer in a Denial of Service attack. OpenSSL version 1.1.1d, 1.1.1e, and 1.1.1f are affected by this issue. This issue did not affect OpenSSL versions prior to 1.1.1d. Fixed in OpenSSL 1.1.1g (Affected 1.1.1d-1.1.1f).",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2020/04/22/2",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1967",
+ "https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=eb563247aef3e83dda7679c43f9649270462e5b1",
+ "https://kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44440",
+ "https://lists.apache.org/thread.html/r66ea9c436da150683432db5fbc8beb8ae01886c6459ac30c2cea7345@%3Cdev.tomcat.apache.org%3E",
+ "https://lists.apache.org/thread.html/r94d6ac3f010a38fccf4f432b12180a13fa1cf303559bd805648c9064@%3Cdev.tomcat.apache.org%3E",
+ "https://lists.apache.org/thread.html/r9a41e304992ce6aec6585a87842b4f2e692604f5c892c37e3b0587ee@%3Cdev.tomcat.apache.org%3E",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XVEP3LAK4JSPRXFO4QF4GG2IVXADV3SO/",
+ "https://security.FreeBSD.org/advisories/FreeBSD-SA-20:11.openssl.asc",
+ "https://security.gentoo.org/glsa/202004-10",
+ "https://security.netapp.com/advisory/ntap-20200424-0003/",
+ "https://www.debian.org/security/2020/dsa-4661",
+ "https://www.openssl.org/news/secadv/20200421.txt",
+ "https://www.synology.com/security/advisory/Synology_SA_20_05_OpenSSL"
+ ]
+ }
+ ]
+ },
+ {
+ "Target": "juice-shop/frontend/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "juice-shop/package-lock.json",
+ "Vulnerabilities": [
+ {
+ "VulnerabilityID": "NSWG-ECO-428",
+ "PkgName": "base64url",
+ "InstalledVersion": "0.0.6",
+ "FixedVersion": "\u003e=3.0.0",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "Out-of-bounds Read",
+ "Description": "`base64url` allocates uninitialized Buffers when number is passed in input on Node.js 4.x and below",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/brianloveswords/base64url/pull/25",
+ "https://hackerone.com/reports/321687"
+ ]
+ },
+ {
+ "VulnerabilityID": "NSWG-ECO-17",
+ "PkgName": "jsonwebtoken",
+ "InstalledVersion": "0.1.0",
+ "FixedVersion": "\u003e=4.2.2",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "Verification Bypass",
+ "Description": "It is possible for an attacker to bypass verification when \"a token digitally signed with an asymetric key (RS/ES family) of algorithms but instead the attacker send a token digitally signed with a symmetric algorithm (HS* family)\" [1]",
+ "Severity": "HIGH",
+ "References": [
+ "https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/",
+ "https://github.com/auth0/node-jsonwebtoken/commit/1bb584bc382295eeb7ee8c4452a673a77a68b687",
+ "https://www.timmclean.net/2015/02/25/jwt-alg-none.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "NSWG-ECO-17",
+ "PkgName": "jsonwebtoken",
+ "InstalledVersion": "0.4.0",
+ "FixedVersion": "\u003e=4.2.2",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "Verification Bypass",
+ "Description": "It is possible for an attacker to bypass verification when \"a token digitally signed with an asymetric key (RS/ES family) of algorithms but instead the attacker send a token digitally signed with a symmetric algorithm (HS* family)\" [1]",
+ "Severity": "HIGH",
+ "References": [
+ "https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/",
+ "https://github.com/auth0/node-jsonwebtoken/commit/1bb584bc382295eeb7ee8c4452a673a77a68b687",
+ "https://www.timmclean.net/2015/02/25/jwt-alg-none.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-1000223",
+ "PkgName": "jws",
+ "InstalledVersion": "0.2.6",
+ "FixedVersion": "\u003e=3.0.0",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "Forgeable Public/Private Tokens",
+ "Description": "Since \"algorithm\" isn't enforced in `jws.verify()`, a malicious user could choose what algorithm is sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA's public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants.\n\nIn addition, there is the `none` algorithm to be concerned about. In versions prior to 3.0.0, verification of the token could be bypassed when the `alg` field is set to `none`.\n\n*Edit ( 7/29/16 ): A previous version of this advisory incorrectly stated that the vulnerability was patched in version 2.0.0 instead of 3.0.0. The advisory has been updated to reflect this new information. Thanks to Fabien Catteau for reporting the error.*",
+ "Severity": "HIGH",
+ "References": [
+ "https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/",
+ "https://github.com/brianloveswords/node-jws/commit/585d0e1e97b6747c10cf5b7689ccc5618a89b299#diff-4ac32a78649ca5bdd8e0ba38b7006a1e"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-16487",
+ "PkgName": "lodash",
+ "InstalledVersion": "2.4.2",
+ "FixedVersion": "\u003e=4.17.11",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "lodash: Prototype pollution in utilities function",
+ "Description": "A prototype pollution vulnerability was found in lodash \u003c4.17.11 where the functions merge, mergeWith, and defaultsDeep can be tricked into adding or modifying properties of Object.prototype.",
+ "Severity": "HIGH",
+ "References": [
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16487",
+ "https://hackerone.com/reports/380873",
+ "https://security.netapp.com/advisory/ntap-20190919-0004/",
+ "https://www.npmjs.com/advisories/782"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-3721",
+ "PkgName": "lodash",
+ "InstalledVersion": "2.4.2",
+ "FixedVersion": "\u003e=4.17.5",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "lodash: Prototype pollution in utilities function",
+ "Description": "lodash node module before 4.17.5 suffers from a Modification of Assumed-Immutable Data (MAID) vulnerability via defaultsDeep, merge, and mergeWith functions, which allows a malicious user to modify the prototype of \"Object\" via __proto__, causing the addition or modification of an existing property that will exist on all objects.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3721",
+ "https://github.com/lodash/lodash/commit/d8e069cc3410082e44eb18fcf8e7f3d08ebe1d4a",
+ "https://hackerone.com/reports/310443",
+ "https://security.netapp.com/advisory/ntap-20190919-0004/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-4055",
+ "PkgName": "moment",
+ "InstalledVersion": "2.0.0",
+ "FixedVersion": "\u003e=2.11.2",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "moment.js: regular expression denial of service",
+ "Description": "The duration function in the moment package before 2.11.2 for Node.js allows remote attackers to cause a denial of service (CPU consumption) via a long string, aka a \"regular expression Denial of Service (ReDoS).\"",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/04/20/11",
+ "http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html",
+ "http://www.securityfocus.com/bid/95849",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4055",
+ "https://lists.apache.org/thread.html/10f0f3aefd51444d1198c65f44ffdf2d78ca3359423dbc1c168c9731@%3Cdev.flink.apache.org%3E",
+ "https://lists.apache.org/thread.html/17ff53f7999e74fbe3cc0ceb4e1c3b00b180b7c5afec8e978837bc49@%3Cuser.flink.apache.org%3E",
+ "https://lists.apache.org/thread.html/52bafac05ad174000ea465fe275fd3cc7bd5c25535a7631c0bc9bfb2@%3Cuser.flink.apache.org%3E",
+ "https://lists.apache.org/thread.html/54df3aeb4239b64b50b356f0ca6f986e3c4ca5b84c515dce077c7854@%3Cuser.flink.apache.org%3E",
+ "https://nodesecurity.io/advisories/55",
+ "https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS",
+ "https://www.tenable.com/security/tns-2019-02"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-1000237",
+ "PkgName": "sanitize-html",
+ "InstalledVersion": "1.4.2",
+ "FixedVersion": "\u003e=1.4.3",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "XSS - Sanitization not applied recursively",
+ "Description": "sanitize-html before 1.4.3 has XSS.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/punkave/sanitize-html/issues/29",
+ "https://nodesecurity.io/advisories/135",
+ "https://raw.githubusercontent.com/distributedweaknessfiling/cvelist/master/2016/1000xxx/CVE-2016-1000237.json"
+ ]
+ },
+ {
+ "VulnerabilityID": "NSWG-ECO-154",
+ "PkgName": "sanitize-html",
+ "InstalledVersion": "1.4.2",
+ "FixedVersion": "\u003e=1.11.4",
+ "Layer": {
+ "DiffID": "sha256:6de27bb627f066285f0628172e686caf3e388a3bf266606c88d619d87d14aae3"
+ },
+ "Title": "Cross Site Scripting",
+ "Description": "Sanitize-html is a library for scrubbing html input of malicious values.\n\nVersions 1.11.1 and below are vulnerable to cross site scripting (XSS) in certain scenarios:\n\nIf allowed at least one nonTextTags, the result is a potential XSS vulnerability.\nPoC:\n\n```\nvar sanitizeHtml = require('sanitize-html');\n\nvar dirty = '!\u003ctextarea\u003e\u0026lt;/textarea\u0026gt;\u003csvg/onload=prompt`xs`\u0026gt;\u003c/textarea\u003e!';\nvar clean = sanitizeHtml(dirty, {\n allowedTags: [ 'textarea' ]\n});\n\nconsole.log(clean);\n\n// !\u003ctextarea\u003e\u003c/textarea\u003e\u003csvg/onload=prompt`xs`\u003e\u003c/textarea\u003e!\n```",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/punkave/sanitize-html/commit/5d205a1005ba0df80e21d8c64a15bb3accdb2403",
+ "https://github.com/punkave/sanitize-html/issues/100"
+ ]
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/integrations/trivy/parser/__testFiles__/mediawiki-1.27.3.json b/scanner/trivy/parser/__testFiles__/mediawiki-1.27.3.json
similarity index 100%
rename from integrations/trivy/parser/__testFiles__/mediawiki-1.27.3.json
rename to scanner/trivy/parser/__testFiles__/mediawiki-1.27.3.json
diff --git a/scanner/trivy/parser/__testFiles__/mediawiki-stable.json b/scanner/trivy/parser/__testFiles__/mediawiki-stable.json
new file mode 100644
index 00000000..242e7974
--- /dev/null
+++ b/scanner/trivy/parser/__testFiles__/mediawiki-stable.json
@@ -0,0 +1,16083 @@
+[
+ {
+ "Target": "mediawiki:stable (debian 10.3)",
+ "Vulnerabilities": [
+ {
+ "VulnerabilityID": "CVE-2007-0086",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The Apache HTTP Server, when accessed through a TCP connection with a large window size, allows remote attackers to cause a denial of service (network bandwidth consumption) via a Range header that specifies multiple copies of the same fragment. NOTE: the severity of this issue has been disputed by third parties, who state that the large window size required by the attack is not normally supported or configured by the server, or that a DDoS-style attack would accomplish the same goal.",
+ "Severity": "HIGH",
+ "References": [
+ "http://osvdb.org/33456",
+ "http://www.securityfocus.com/archive/1/455833/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455879/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455882/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455920/100/0/threaded"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1307",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The mod_php module for the Apache HTTP Server allows local users with write access to PHP scripts to send signals to the server's process group and use the server's file descriptors, as demonstrated by sending a STOP signal, then intercepting incoming connections on the server's TCP port. NOTE: the PHP developer has disputed this vulnerability, saying \"The opened file descriptors are opened by Apache. It is the job of Apache to protect them ... Not a bug in PHP.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugs.php.net/38915",
+ "http://hackerdom.ru/~dimmo/phpexpl.c",
+ "http://www.securityfocus.com/archive/1/348368",
+ "http://www.securityfocus.com/archive/1/449234/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/449298/100/0/threaded",
+ "http://www.securityfocus.com/bid/9302"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1580",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, uses a logging format that does not identify whether a dotted quad represents an unresolved IP address, which allows remote attackers to spoof IP addresses via crafted DNS responses containing numerical top-level domains, as demonstrated by a forged 123.123.123.123 domain name, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-1743",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "suexec in Apache HTTP Server (httpd) 2.2.3 does not verify combinations of user and group IDs on the command line, which might allow local users to leverage other vulnerabilities to create arbitrary UID/GID owned files if /proc is mounted. NOTE: the researcher, who is reliable, claims that the vendor disputes the issue because \"the attacks described rely on an insecure server configuration\" in which the user \"has write access to the document root.\" In addition, because this is dependent on other vulnerabilities, perhaps this is resultant and should not be included in CVE.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=511",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511568709063\u0026w=2",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511834512138\u0026w=2",
+ "http://www.securitytracker.com/id?1017904"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-3303",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "Apache httpd 2.0.59 and 2.2.4, with the Prefork MPM module, allows local users to cause a denial of service via certain code sequences executed in a worker process that (1) stop request processing by killing all worker processes and preventing creation of replacements or (2) hang the system by forcing the master process to fork an arbitrarily large number of worker processes. NOTE: This might be an inherent design limitation of Apache with respect to worker processes in hosted environments.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://osvdb.org/37050",
+ "http://security.psnc.pl/files/apache_report.pdf",
+ "http://securityreason.com/securityalert/2814",
+ "http://www.securityfocus.com/archive/1/469899/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/471832/100/0/threaded",
+ "http://www.securityfocus.com/bid/24215"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0455",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "CVE-2012-2687 CVE-2008-0455 httpd: mod_negotiation XSS via untrusted file names in directories with MultiViews enabled",
+ "Description": "Cross-site scripting (XSS) vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary web script or HTML by uploading a file with a name containing XSS sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0455.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0512.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1591.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1592.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1594.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/51607",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1927",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_rewrite configurations vulnerable to open redirect",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, redirects configured with mod_rewrite that were intended to be self-referential might be fooled by encoded newlines and redirect instead to an an unexpected URL within the request URL.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2020/04/03/1",
+ "http://www.openwall.com/lists/oss-security/2020/04/04/1",
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1934",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_proxy_ftp use of uninitialized value",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, mod_proxy_ftp may use uninitialized memory when proxying to a malicious FTP server.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r5d12ffc80685b0df1d6801e68000a7707dd694fe32e4f221de67c210@%3Ccvs.httpd.apache.org%3E",
+ "https://security.netapp.com/advisory/ntap-20200413-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2001-1534",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "mod_usertrack in Apache 1.3.11 through 1.3.20 generates session ID's using predictable information including host IP address, system time and server process ID, which allows local users to obtain session ID's and bypass authentication when these session ID's are used for authentication.",
+ "Severity": "LOW",
+ "References": [
+ "http://cert.uni-stuttgart.de/archive/bugtraq/2001/11/msg00084.html",
+ "http://www.iss.net/security_center/static/7494.php",
+ "http://www.securityfocus.com/bid/3521"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1581",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: Injection of arbitrary text into log files when DNS resolution is enabled",
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, allows remote attackers to inject arbitrary text into log files via an HTTP request in conjunction with a crafted DNS response, as demonstrated by injecting XSS sequences, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0456",
+ "PkgName": "apache2",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_negotiation CRLF injection via untrusted file names in directories with MultiViews enabled",
+ "Description": "CRLF injection vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary HTTP headers and conduct HTTP response splitting attacks by uploading a file with a multi-line name containing HTTP header sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0456.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0130.html",
+ "http://lists.apple.com/archives/security-announce/2009/May/msg00002.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/35074",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://support.apple.com/kb/HT3549",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "http://www.us-cert.gov/cas/techalerts/TA09-133A.html",
+ "http://www.vupen.com/english/advisories/2009/1297",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39893",
+ "https://lists.apache.org/thread.html/8d63cb8e9100f28a99429b4328e4e7cebce861d5772ac9863ba2ae6f@%3Ccvs.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/f7f95ac1cd9895db2714fa3ebaa0b94d0c6df360f742a40951384a53@%3Ccvs.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-0086",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The Apache HTTP Server, when accessed through a TCP connection with a large window size, allows remote attackers to cause a denial of service (network bandwidth consumption) via a Range header that specifies multiple copies of the same fragment. NOTE: the severity of this issue has been disputed by third parties, who state that the large window size required by the attack is not normally supported or configured by the server, or that a DDoS-style attack would accomplish the same goal.",
+ "Severity": "HIGH",
+ "References": [
+ "http://osvdb.org/33456",
+ "http://www.securityfocus.com/archive/1/455833/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455879/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455882/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455920/100/0/threaded"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1307",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The mod_php module for the Apache HTTP Server allows local users with write access to PHP scripts to send signals to the server's process group and use the server's file descriptors, as demonstrated by sending a STOP signal, then intercepting incoming connections on the server's TCP port. NOTE: the PHP developer has disputed this vulnerability, saying \"The opened file descriptors are opened by Apache. It is the job of Apache to protect them ... Not a bug in PHP.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugs.php.net/38915",
+ "http://hackerdom.ru/~dimmo/phpexpl.c",
+ "http://www.securityfocus.com/archive/1/348368",
+ "http://www.securityfocus.com/archive/1/449234/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/449298/100/0/threaded",
+ "http://www.securityfocus.com/bid/9302"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1580",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, uses a logging format that does not identify whether a dotted quad represents an unresolved IP address, which allows remote attackers to spoof IP addresses via crafted DNS responses containing numerical top-level domains, as demonstrated by a forged 123.123.123.123 domain name, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-1743",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "suexec in Apache HTTP Server (httpd) 2.2.3 does not verify combinations of user and group IDs on the command line, which might allow local users to leverage other vulnerabilities to create arbitrary UID/GID owned files if /proc is mounted. NOTE: the researcher, who is reliable, claims that the vendor disputes the issue because \"the attacks described rely on an insecure server configuration\" in which the user \"has write access to the document root.\" In addition, because this is dependent on other vulnerabilities, perhaps this is resultant and should not be included in CVE.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=511",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511568709063\u0026w=2",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511834512138\u0026w=2",
+ "http://www.securitytracker.com/id?1017904"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-3303",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "Apache httpd 2.0.59 and 2.2.4, with the Prefork MPM module, allows local users to cause a denial of service via certain code sequences executed in a worker process that (1) stop request processing by killing all worker processes and preventing creation of replacements or (2) hang the system by forcing the master process to fork an arbitrarily large number of worker processes. NOTE: This might be an inherent design limitation of Apache with respect to worker processes in hosted environments.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://osvdb.org/37050",
+ "http://security.psnc.pl/files/apache_report.pdf",
+ "http://securityreason.com/securityalert/2814",
+ "http://www.securityfocus.com/archive/1/469899/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/471832/100/0/threaded",
+ "http://www.securityfocus.com/bid/24215"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0455",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "CVE-2012-2687 CVE-2008-0455 httpd: mod_negotiation XSS via untrusted file names in directories with MultiViews enabled",
+ "Description": "Cross-site scripting (XSS) vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary web script or HTML by uploading a file with a name containing XSS sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0455.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0512.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1591.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1592.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1594.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/51607",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1927",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_rewrite configurations vulnerable to open redirect",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, redirects configured with mod_rewrite that were intended to be self-referential might be fooled by encoded newlines and redirect instead to an an unexpected URL within the request URL.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2020/04/03/1",
+ "http://www.openwall.com/lists/oss-security/2020/04/04/1",
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1934",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_proxy_ftp use of uninitialized value",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, mod_proxy_ftp may use uninitialized memory when proxying to a malicious FTP server.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r5d12ffc80685b0df1d6801e68000a7707dd694fe32e4f221de67c210@%3Ccvs.httpd.apache.org%3E",
+ "https://security.netapp.com/advisory/ntap-20200413-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2001-1534",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "mod_usertrack in Apache 1.3.11 through 1.3.20 generates session ID's using predictable information including host IP address, system time and server process ID, which allows local users to obtain session ID's and bypass authentication when these session ID's are used for authentication.",
+ "Severity": "LOW",
+ "References": [
+ "http://cert.uni-stuttgart.de/archive/bugtraq/2001/11/msg00084.html",
+ "http://www.iss.net/security_center/static/7494.php",
+ "http://www.securityfocus.com/bid/3521"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1581",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: Injection of arbitrary text into log files when DNS resolution is enabled",
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, allows remote attackers to inject arbitrary text into log files via an HTTP request in conjunction with a crafted DNS response, as demonstrated by injecting XSS sequences, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0456",
+ "PkgName": "apache2-bin",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_negotiation CRLF injection via untrusted file names in directories with MultiViews enabled",
+ "Description": "CRLF injection vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary HTTP headers and conduct HTTP response splitting attacks by uploading a file with a multi-line name containing HTTP header sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0456.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0130.html",
+ "http://lists.apple.com/archives/security-announce/2009/May/msg00002.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/35074",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://support.apple.com/kb/HT3549",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "http://www.us-cert.gov/cas/techalerts/TA09-133A.html",
+ "http://www.vupen.com/english/advisories/2009/1297",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39893",
+ "https://lists.apache.org/thread.html/8d63cb8e9100f28a99429b4328e4e7cebce861d5772ac9863ba2ae6f@%3Ccvs.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/f7f95ac1cd9895db2714fa3ebaa0b94d0c6df360f742a40951384a53@%3Ccvs.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-0086",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The Apache HTTP Server, when accessed through a TCP connection with a large window size, allows remote attackers to cause a denial of service (network bandwidth consumption) via a Range header that specifies multiple copies of the same fragment. NOTE: the severity of this issue has been disputed by third parties, who state that the large window size required by the attack is not normally supported or configured by the server, or that a DDoS-style attack would accomplish the same goal.",
+ "Severity": "HIGH",
+ "References": [
+ "http://osvdb.org/33456",
+ "http://www.securityfocus.com/archive/1/455833/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455879/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455882/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455920/100/0/threaded"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1307",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The mod_php module for the Apache HTTP Server allows local users with write access to PHP scripts to send signals to the server's process group and use the server's file descriptors, as demonstrated by sending a STOP signal, then intercepting incoming connections on the server's TCP port. NOTE: the PHP developer has disputed this vulnerability, saying \"The opened file descriptors are opened by Apache. It is the job of Apache to protect them ... Not a bug in PHP.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugs.php.net/38915",
+ "http://hackerdom.ru/~dimmo/phpexpl.c",
+ "http://www.securityfocus.com/archive/1/348368",
+ "http://www.securityfocus.com/archive/1/449234/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/449298/100/0/threaded",
+ "http://www.securityfocus.com/bid/9302"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1580",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, uses a logging format that does not identify whether a dotted quad represents an unresolved IP address, which allows remote attackers to spoof IP addresses via crafted DNS responses containing numerical top-level domains, as demonstrated by a forged 123.123.123.123 domain name, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-1743",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "suexec in Apache HTTP Server (httpd) 2.2.3 does not verify combinations of user and group IDs on the command line, which might allow local users to leverage other vulnerabilities to create arbitrary UID/GID owned files if /proc is mounted. NOTE: the researcher, who is reliable, claims that the vendor disputes the issue because \"the attacks described rely on an insecure server configuration\" in which the user \"has write access to the document root.\" In addition, because this is dependent on other vulnerabilities, perhaps this is resultant and should not be included in CVE.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=511",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511568709063\u0026w=2",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511834512138\u0026w=2",
+ "http://www.securitytracker.com/id?1017904"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-3303",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "Apache httpd 2.0.59 and 2.2.4, with the Prefork MPM module, allows local users to cause a denial of service via certain code sequences executed in a worker process that (1) stop request processing by killing all worker processes and preventing creation of replacements or (2) hang the system by forcing the master process to fork an arbitrarily large number of worker processes. NOTE: This might be an inherent design limitation of Apache with respect to worker processes in hosted environments.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://osvdb.org/37050",
+ "http://security.psnc.pl/files/apache_report.pdf",
+ "http://securityreason.com/securityalert/2814",
+ "http://www.securityfocus.com/archive/1/469899/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/471832/100/0/threaded",
+ "http://www.securityfocus.com/bid/24215"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0455",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "CVE-2012-2687 CVE-2008-0455 httpd: mod_negotiation XSS via untrusted file names in directories with MultiViews enabled",
+ "Description": "Cross-site scripting (XSS) vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary web script or HTML by uploading a file with a name containing XSS sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0455.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0512.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1591.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1592.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1594.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/51607",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1927",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_rewrite configurations vulnerable to open redirect",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, redirects configured with mod_rewrite that were intended to be self-referential might be fooled by encoded newlines and redirect instead to an an unexpected URL within the request URL.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2020/04/03/1",
+ "http://www.openwall.com/lists/oss-security/2020/04/04/1",
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1934",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_proxy_ftp use of uninitialized value",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, mod_proxy_ftp may use uninitialized memory when proxying to a malicious FTP server.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r5d12ffc80685b0df1d6801e68000a7707dd694fe32e4f221de67c210@%3Ccvs.httpd.apache.org%3E",
+ "https://security.netapp.com/advisory/ntap-20200413-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2001-1534",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "mod_usertrack in Apache 1.3.11 through 1.3.20 generates session ID's using predictable information including host IP address, system time and server process ID, which allows local users to obtain session ID's and bypass authentication when these session ID's are used for authentication.",
+ "Severity": "LOW",
+ "References": [
+ "http://cert.uni-stuttgart.de/archive/bugtraq/2001/11/msg00084.html",
+ "http://www.iss.net/security_center/static/7494.php",
+ "http://www.securityfocus.com/bid/3521"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1581",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: Injection of arbitrary text into log files when DNS resolution is enabled",
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, allows remote attackers to inject arbitrary text into log files via an HTTP request in conjunction with a crafted DNS response, as demonstrated by injecting XSS sequences, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0456",
+ "PkgName": "apache2-data",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_negotiation CRLF injection via untrusted file names in directories with MultiViews enabled",
+ "Description": "CRLF injection vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary HTTP headers and conduct HTTP response splitting attacks by uploading a file with a multi-line name containing HTTP header sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0456.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0130.html",
+ "http://lists.apple.com/archives/security-announce/2009/May/msg00002.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/35074",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://support.apple.com/kb/HT3549",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "http://www.us-cert.gov/cas/techalerts/TA09-133A.html",
+ "http://www.vupen.com/english/advisories/2009/1297",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39893",
+ "https://lists.apache.org/thread.html/8d63cb8e9100f28a99429b4328e4e7cebce861d5772ac9863ba2ae6f@%3Ccvs.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/f7f95ac1cd9895db2714fa3ebaa0b94d0c6df360f742a40951384a53@%3Ccvs.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-0086",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The Apache HTTP Server, when accessed through a TCP connection with a large window size, allows remote attackers to cause a denial of service (network bandwidth consumption) via a Range header that specifies multiple copies of the same fragment. NOTE: the severity of this issue has been disputed by third parties, who state that the large window size required by the attack is not normally supported or configured by the server, or that a DDoS-style attack would accomplish the same goal.",
+ "Severity": "HIGH",
+ "References": [
+ "http://osvdb.org/33456",
+ "http://www.securityfocus.com/archive/1/455833/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455879/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455882/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/455920/100/0/threaded"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1307",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "** DISPUTED ** The mod_php module for the Apache HTTP Server allows local users with write access to PHP scripts to send signals to the server's process group and use the server's file descriptors, as demonstrated by sending a STOP signal, then intercepting incoming connections on the server's TCP port. NOTE: the PHP developer has disputed this vulnerability, saying \"The opened file descriptors are opened by Apache. It is the job of Apache to protect them ... Not a bug in PHP.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugs.php.net/38915",
+ "http://hackerdom.ru/~dimmo/phpexpl.c",
+ "http://www.securityfocus.com/archive/1/348368",
+ "http://www.securityfocus.com/archive/1/449234/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/449298/100/0/threaded",
+ "http://www.securityfocus.com/bid/9302"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1580",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, uses a logging format that does not identify whether a dotted quad represents an unresolved IP address, which allows remote attackers to spoof IP addresses via crafted DNS responses containing numerical top-level domains, as demonstrated by a forged 123.123.123.123 domain name, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-1743",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "suexec in Apache HTTP Server (httpd) 2.2.3 does not verify combinations of user and group IDs on the command line, which might allow local users to leverage other vulnerabilities to create arbitrary UID/GID owned files if /proc is mounted. NOTE: the researcher, who is reliable, claims that the vendor disputes the issue because \"the attacks described rely on an insecure server configuration\" in which the user \"has write access to the document root.\" In addition, because this is dependent on other vulnerabilities, perhaps this is resultant and should not be included in CVE.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=511",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511568709063\u0026w=2",
+ "http://marc.info/?l=apache-httpd-dev\u0026m=117511834512138\u0026w=2",
+ "http://www.securitytracker.com/id?1017904"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-3303",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "Apache httpd 2.0.59 and 2.2.4, with the Prefork MPM module, allows local users to cause a denial of service via certain code sequences executed in a worker process that (1) stop request processing by killing all worker processes and preventing creation of replacements or (2) hang the system by forcing the master process to fork an arbitrarily large number of worker processes. NOTE: This might be an inherent design limitation of Apache with respect to worker processes in hosted environments.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://osvdb.org/37050",
+ "http://security.psnc.pl/files/apache_report.pdf",
+ "http://securityreason.com/securityalert/2814",
+ "http://www.securityfocus.com/archive/1/469899/100/0/threaded",
+ "http://www.securityfocus.com/archive/1/471832/100/0/threaded",
+ "http://www.securityfocus.com/bid/24215"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0455",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "CVE-2012-2687 CVE-2008-0455 httpd: mod_negotiation XSS via untrusted file names in directories with MultiViews enabled",
+ "Description": "Cross-site scripting (XSS) vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary web script or HTML by uploading a file with a name containing XSS sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0455.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0512.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1591.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1592.html",
+ "http://rhn.redhat.com/errata/RHSA-2012-1594.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/51607",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1927",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_rewrite configurations vulnerable to open redirect",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, redirects configured with mod_rewrite that were intended to be self-referential might be fooled by encoded newlines and redirect instead to an an unexpected URL within the request URL.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2020/04/03/1",
+ "http://www.openwall.com/lists/oss-security/2020/04/04/1",
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1934",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_proxy_ftp use of uninitialized value",
+ "Description": "In Apache HTTP Server 2.4.0 to 2.4.41, mod_proxy_ftp may use uninitialized memory when proxying to a malicious FTP server.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://httpd.apache.org/security/vulnerabilities_24.html",
+ "https://lists.apache.org/thread.html/r1719675306dfbeaceff3dc63ccad3de2d5615919ca3c13276948b9ac@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r52a52fd60a258f5999a8fa5424b30d9fd795885f9ff4828d889cd201@%3Cdev.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/r5d12ffc80685b0df1d6801e68000a7707dd694fe32e4f221de67c210@%3Ccvs.httpd.apache.org%3E",
+ "https://security.netapp.com/advisory/ntap-20200413-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2001-1534",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Description": "mod_usertrack in Apache 1.3.11 through 1.3.20 generates session ID's using predictable information including host IP address, system time and server process ID, which allows local users to obtain session ID's and bypass authentication when these session ID's are used for authentication.",
+ "Severity": "LOW",
+ "References": [
+ "http://cert.uni-stuttgart.de/archive/bugtraq/2001/11/msg00084.html",
+ "http://www.iss.net/security_center/static/7494.php",
+ "http://www.securityfocus.com/bid/3521"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2003-1581",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: Injection of arbitrary text into log files when DNS resolution is enabled",
+ "Description": "The Apache HTTP Server 2.0.44, when DNS resolution is enabled for client IP addresses, allows remote attackers to inject arbitrary text into log files via an HTTP request in conjunction with a crafted DNS response, as demonstrated by injecting XSS sequences, related to an \"Inverse Lookup Log Corruption (ILLC)\" issue.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.securityfocus.com/archive/1/313867"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-0456",
+ "PkgName": "apache2-utils",
+ "InstalledVersion": "2.4.38-3+deb10u3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "httpd: mod_negotiation CRLF injection via untrusted file names in directories with MultiViews enabled",
+ "Description": "CRLF injection vulnerability in the mod_negotiation module in the Apache HTTP Server 2.2.6 and earlier in the 2.2.x series, 2.0.61 and earlier in the 2.0.x series, and 1.3.39 and earlier in the 1.3.x series allows remote authenticated users to inject arbitrary HTTP headers and conduct HTTP response splitting attacks by uploading a file with a multi-line name containing HTTP header sequences and a file extension, which leads to injection within a (1) \"406 Not Acceptable\" or (2) \"300 Multiple Choices\" HTTP response when the extension is omitted in a request for the file.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2008-0456.html",
+ "http://linux.oracle.com/errata/ELSA-2013-0130.html",
+ "http://lists.apple.com/archives/security-announce/2009/May/msg00002.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0130.html",
+ "http://secunia.com/advisories/29348",
+ "http://secunia.com/advisories/35074",
+ "http://security.gentoo.org/glsa/glsa-200803-19.xml",
+ "http://securityreason.com/securityalert/3575",
+ "http://securitytracker.com/id?1019256",
+ "http://support.apple.com/kb/HT3549",
+ "http://www.mindedsecurity.com/MSA01150108.html",
+ "http://www.securityfocus.com/archive/1/486847/100/0/threaded",
+ "http://www.securityfocus.com/bid/27409",
+ "http://www.us-cert.gov/cas/techalerts/TA09-133A.html",
+ "http://www.vupen.com/english/advisories/2009/1297",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/39893",
+ "https://lists.apache.org/thread.html/8d63cb8e9100f28a99429b4328e4e7cebce861d5772ac9863ba2ae6f@%3Ccvs.httpd.apache.org%3E",
+ "https://lists.apache.org/thread.html/f7f95ac1cd9895db2714fa3ebaa0b94d0c6df360f742a40951384a53@%3Ccvs.httpd.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-3374",
+ "PkgName": "apt",
+ "InstalledVersion": "1.8.2",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Description": "It was found that apt-key in apt, all versions, do not correctly validate gpg keys with the master keyring, leading to a potential man-in-the-middle attack.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://access.redhat.com/security/cve/cve-2011-3374",
+ "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642480",
+ "https://people.canonical.com/~ubuntu-security/cve/2011/CVE-2011-3374.html",
+ "https://security-tracker.debian.org/tracker/CVE-2011-3374",
+ "https://snyk.io/vuln/SNYK-LINUX-APT-116518"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18276",
+ "PkgName": "bash",
+ "InstalledVersion": "5.0-4",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "bash: when effective UID is not equal to its real UID the saved UID is not dropped",
+ "Description": "An issue was discovered in disable_priv_mode in shell.c in GNU Bash through 5.0 patch 11. By default, if Bash is run with its effective UID not equal to its real UID, it will drop privileges by setting its effective UID to its real UID. However, it does so incorrectly. On Linux and other systems that support \"saved UID\" functionality, the saved UID is not dropped. An attacker with command execution in the shell can use \"enable -f\" for runtime loading of a new builtin, which can be a shared object that calls setuid() and therefore regains privileges. However, binaries running with an effective UID of 0 are unaffected.",
+ "Severity": "HIGH",
+ "References": [
+ "http://packetstormsecurity.com/files/155498/Bash-5.0-Patch-11-Privilege-Escalation.html",
+ "https://github.com/bminor/bash/commit/951bdaad7a18cc0dc1036bba86b18b90874d39ff",
+ "https://www.youtube.com/watch?v=-wGtxJ8opa8"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0841856-B18BAF",
+ "PkgName": "bash",
+ "InstalledVersion": "5.0-4",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2017-13716",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Memory leak with the C++ symbol demangler routine in libiberty",
+ "Description": "The C++ symbol demangler routine in cplus-dem.c in libiberty, as distributed in GNU Binutils 2.29, allows remote attackers to cause a denial of service (excessive memory allocation and application crash) via a crafted file, as demonstrated by a call from the Binary File Descriptor (BFD) library (aka libbfd).",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22009"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12699",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in finish_stab in stabs.c",
+ "Description": "finish_stab in stabs.c in GNU Binutils 2.30 allows attackers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact, as demonstrated by an out-of-bounds write of 8 bytes. This can occur during execution of objdump.",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.securityfocus.com/bid/104540",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1000876",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leads to heap-based buffer overflow in objdump",
+ "Description": "binutils version 2.32 and earlier contains a Integer Overflow vulnerability in objdump, bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc that can result in Integer overflow trigger heap overflow. Successful exploitation allows execution of arbitrary code.. This attack appear to be exploitable via Local. This vulnerability appears to have been fixed in after commit 3a551c7a1b80fca579461774860574eabfd7f18f.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-1000876.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/106304",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23994",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3a551c7a1b80fca579461774860574eabfd7f18f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12697",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in work_stuff_copy_to_from in cplus-dem.c.",
+ "Description": "A NULL pointer dereference (aka SEGV on unknown address 0x000000000000) was discovered in work_stuff_copy_to_from in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-12697.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/104538",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12698",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory consumption in demangle_template in cplus-dem.c",
+ "Description": "demangle_template in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM) during the \"Create an array for saving the template argument values\" XNEWVEC call. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104539",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12700",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in debug_write_type in debug.c",
+ "Description": "A Stack Exhaustion issue was discovered in debug_write_type in debug.c in GNU Binutils 2.30 because of DEBUG_KIND_INDIRECT infinite recursion.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104541",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12934",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Uncontrolled Resource Consumption in remember_Ktype in cplus-dem.c",
+ "Description": "remember_Ktype in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM). This can occur during execution of cxxfilt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763101",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85453",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23059",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17358",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in _bfd_stab_section_find_nearest_line in syms.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in _bfd_stab_section_find_nearest_line in syms.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17359",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in bfd_zalloc in opncls.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in bfd_zalloc in opncls.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17360",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. a heap-based buffer over-read in bfd_getl32 in libbfd.c allows an attacker to cause a denial of service through a crafted PE file. This vulnerability can be triggered by the executable objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23685"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17794",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in libiberty/cplus-dem.c:work_stuff_copy_to_from() via crafted input",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in work_stuff_copy_to_from when called from iterate_demangle_function.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17985",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack consumption problem caused by the cplus_demangle_type",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption problem caused by the cplus_demangle_type function making recursive calls to itself in certain scenarios involving many 'P' characters.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18309",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory address dereference in read_reloc in reloc.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory address dereference was discovered in read_reloc in reloc.c. The vulnerability causes a segmentation fault and application crash, which leads to denial of service, as demonstrated by objdump, because of missing _bfd_clear_contents bounds checking.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105692",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23770",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0930cb3021b8078b34cf216e79eb8608d017864f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18483",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in cplus-dem.c:get_count() allows for denial of service",
+ "Description": "The get_count function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31, allows remote attackers to cause a denial of service (malloc called with the result of an integer-overflowing calculation) or possibly have unspecified other impact via a crafted string, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105689",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87602",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23767"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18484",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack exhaustion in cp-demangle.c allows for denial of service",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there is a stack consumption problem caused by recursive stack frames: cplus_demangle_type, d_bare_function_type, d_function_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105693",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87636"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18605",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in sec_merge_hash_lookup in merge.c",
+ "Description": "A heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, because _bfd_add_merge_section mishandles section merges when size is not a multiple of entsize. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18605",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23804",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ab419ddbb2cdd17ca83618990f2cacf904ce1d61"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18606",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in _bfd_add_merge_section in merge_strings function in merge.c",
+ "Description": "An issue was discovered in the merge_strings function in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18606",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23806",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=45a0eaf77022963d639d6d19871dbab7b79703fc"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18607",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_input_bfd in elflink.c",
+ "Description": "An issue was discovered in elf_link_input_bfd in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18607",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23805",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=102def4da826b3d9e169741421e5e67e8731909a"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18700",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Recursive Stack Overflow within function d_name, d_encoding, and d_local_name in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions d_name(), d_encoding(), and d_local_name() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87681",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18701",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: infinite recursion in next_is_type_qual and cplus_demangle_type functions in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions next_is_type_qual() and cplus_demangle_type() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87675",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19931",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Heap-based buffer overflow in bfd_elf32_swap_phdr_in function resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h because the number of program headers is not restricted.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23942",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5f60af5d24d181371d67534fa273dd221df20c07"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19932",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow due to the IS_CONTAINED_BY_LMA macro resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA macro in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23932",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=beab453223769279cc1cef68a1622ab8978641f7"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20002",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: memory leak in _bfd_generic_read_minisymbols function in syms.c",
+ "Description": "The _bfd_generic_read_minisymbols function in syms.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, has a memory leak via a crafted ELF file, leading to a denial of service (memory consumption), as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106142",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23952",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2f5dc30afa34696f2da0081c4ac50b958ecb0e9",
+ "https://support.f5.com/csp/article/K62602089"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20623",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Use-after-free in the error function",
+ "Description": "In GNU Binutils 2.31.1, there is a use-after-free in the error function in elfcomm.c when called from the process_archive function in readelf.c via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106370",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24049",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20651",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_add_object_symbols function resulting in a denial of service",
+ "Description": "A NULL pointer dereference was discovered in elf_link_add_object_symbols in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31.1. This occurs for a crafted ET_DYN with no program headers. A specially crafted ELF file allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106440",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24041",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=54025d5812ff100f5f0654eb7e1ffd50f2e37f5f",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20671",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in load_specific_debug_section function",
+ "Description": "load_specific_debug_section in objdump.c in GNU Binutils through 2.31.1 contains an integer overflow vulnerability that can trigger a heap-based buffer overflow via a crafted section size.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106457",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24005",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=11fa9f134fd658075c6f74499c780df045d9e9ca"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20673",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: Integer overflow in demangle_template() function",
+ "Description": "The demangle_template function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31.1, contains an integer overflow vulnerability (for \"Create an array for saving the template argument values\") that can trigger a heap-based buffer overflow, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106454",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24039"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20712",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: heap-based buffer over-read in d_expression_1",
+ "Description": "A heap-based buffer over-read exists in the function d_expression_1 in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31.1. A crafted input can cause segmentation faults, leading to denial-of-service, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106563",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88629",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24043",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9138",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in the the C++ demangling functions provided by libiberty",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.29 and 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_nested_args, demangle_args, do_arg, and do_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23008",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9996",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack-overflow in libiberty/cplus-dem.c causes crash",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_template_value_parm, demangle_integral_value, and demangle_expression.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/103733",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85304"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010180",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gdb: buffer overflow while opening an ELF for debugging leads to Dos, information dislosure and code execution",
+ "Description": "GNU gdb All versions is affected by: Buffer Overflow - Out of bound memory access. The impact is: Deny of Service, Memory Disclosure, and Possible Code Execution. The component is: The main gdb module. The attack vector is: Open an ELF for debugging. The fixed version is: Not fixed yet.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/109367",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23657"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010204",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read in gold/fileread.cc and elfcpp/elfcpp_file.h leads to denial of service",
+ "Description": "GNU binutils gold gold v1.11-v1.16 (GNU binutils v2.21-v2.31.1) is affected by: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read. The impact is: Denial of service. The component is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The attack vector is: An ELF file with an invalid e_shoff header field must be opened.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0001/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23765"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12972",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. There is a heap-based buffer over-read in _bfd_doprnt in bfd.c because elf_object_p in elfcode.h mishandles an e_shstrndx section of type SHT_GROUP by omitting a trailing '\\0' character.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108903",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24689",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=890f750a3b053532a4b839a2dd6243076de12031"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14250",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in simple-object-elf.c leads to a heap-based buffer overflow",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. simple_object_elf_match in simple-object-elf.c does not check for a zero shstrndx value, leading to an integer overflow and resultant heap-based buffer overflow.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109354",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90924",
+ "https://gcc.gnu.org/ml/gcc-patches/2019-07/msg01003.html",
+ "https://security.netapp.com/advisory/ntap-20190822-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14444",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in function apply_relocation in readelf.c",
+ "Description": "apply_relocations in readelf.c in GNU Binutils 2.32 contains an integer overflow that allows attackers to trigger a write access violation (in byte_put_little_endian function in elfcomm.c) via an ELF file, as demonstrated by readelf.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24829"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17450",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: denial of service via crafted ELF file",
+ "Description": "find_abstract_instance in dwarf2.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32, allows remote attackers to cause a denial of service (infinite recursion and application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25078"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17451",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25070",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=336bfbeb1848f4b9558456fdcf283ee8a32d7fd1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9070",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in function d_expression_1 in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a heap-based buffer over-read in d_expression_1 in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89395",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24229",
+ "https://support.f5.com/csp/article/K13534168"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9071",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: stack consumption in function d_count_templates_scopes in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a stack consumption issue in d_count_templates_scopes in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89394",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24227",
+ "https://support.f5.com/csp/article/K02884135"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9073",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory allocation in function _bfd_elf_slurp_version_tables in elf.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an attempted excessive memory allocation in _bfd_elf_slurp_version_tables in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24233",
+ "https://support.f5.com/csp/article/K37121474"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9074",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: out-of-bound read in function bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an out-of-bounds read leading to a SEGV in bfd_getl32 in libbfd.c, when called from pex64_get_runtime_function in pei-x86_64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24235",
+ "https://support.f5.com/csp/article/K09092524"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9075",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function _bfd_archive_64_bit_slurp_armap in archive64.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is a heap-based buffer overflow in _bfd_archive_64_bit_slurp_armap in archive64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24236",
+ "https://support.f5.com/csp/article/K42059040"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9077",
+ "PkgName": "binutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function process_mips_specific in readelf.c",
+ "Description": "An issue was discovered in GNU Binutils 2.32. It is a heap-based buffer overflow in process_mips_specific in readelf.c via a malformed MIPS option section.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107139",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24243",
+ "https://support.f5.com/csp/article/K00056379"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-13716",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Memory leak with the C++ symbol demangler routine in libiberty",
+ "Description": "The C++ symbol demangler routine in cplus-dem.c in libiberty, as distributed in GNU Binutils 2.29, allows remote attackers to cause a denial of service (excessive memory allocation and application crash) via a crafted file, as demonstrated by a call from the Binary File Descriptor (BFD) library (aka libbfd).",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22009"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12699",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in finish_stab in stabs.c",
+ "Description": "finish_stab in stabs.c in GNU Binutils 2.30 allows attackers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact, as demonstrated by an out-of-bounds write of 8 bytes. This can occur during execution of objdump.",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.securityfocus.com/bid/104540",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1000876",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leads to heap-based buffer overflow in objdump",
+ "Description": "binutils version 2.32 and earlier contains a Integer Overflow vulnerability in objdump, bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc that can result in Integer overflow trigger heap overflow. Successful exploitation allows execution of arbitrary code.. This attack appear to be exploitable via Local. This vulnerability appears to have been fixed in after commit 3a551c7a1b80fca579461774860574eabfd7f18f.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-1000876.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/106304",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23994",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3a551c7a1b80fca579461774860574eabfd7f18f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12697",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in work_stuff_copy_to_from in cplus-dem.c.",
+ "Description": "A NULL pointer dereference (aka SEGV on unknown address 0x000000000000) was discovered in work_stuff_copy_to_from in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-12697.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/104538",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12698",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory consumption in demangle_template in cplus-dem.c",
+ "Description": "demangle_template in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM) during the \"Create an array for saving the template argument values\" XNEWVEC call. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104539",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12700",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in debug_write_type in debug.c",
+ "Description": "A Stack Exhaustion issue was discovered in debug_write_type in debug.c in GNU Binutils 2.30 because of DEBUG_KIND_INDIRECT infinite recursion.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104541",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12934",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Uncontrolled Resource Consumption in remember_Ktype in cplus-dem.c",
+ "Description": "remember_Ktype in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM). This can occur during execution of cxxfilt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763101",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85453",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23059",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17358",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in _bfd_stab_section_find_nearest_line in syms.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in _bfd_stab_section_find_nearest_line in syms.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17359",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in bfd_zalloc in opncls.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in bfd_zalloc in opncls.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17360",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. a heap-based buffer over-read in bfd_getl32 in libbfd.c allows an attacker to cause a denial of service through a crafted PE file. This vulnerability can be triggered by the executable objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23685"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17794",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in libiberty/cplus-dem.c:work_stuff_copy_to_from() via crafted input",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in work_stuff_copy_to_from when called from iterate_demangle_function.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17985",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack consumption problem caused by the cplus_demangle_type",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption problem caused by the cplus_demangle_type function making recursive calls to itself in certain scenarios involving many 'P' characters.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18309",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory address dereference in read_reloc in reloc.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory address dereference was discovered in read_reloc in reloc.c. The vulnerability causes a segmentation fault and application crash, which leads to denial of service, as demonstrated by objdump, because of missing _bfd_clear_contents bounds checking.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105692",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23770",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0930cb3021b8078b34cf216e79eb8608d017864f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18483",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in cplus-dem.c:get_count() allows for denial of service",
+ "Description": "The get_count function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31, allows remote attackers to cause a denial of service (malloc called with the result of an integer-overflowing calculation) or possibly have unspecified other impact via a crafted string, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105689",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87602",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23767"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18484",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack exhaustion in cp-demangle.c allows for denial of service",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there is a stack consumption problem caused by recursive stack frames: cplus_demangle_type, d_bare_function_type, d_function_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105693",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87636"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18605",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in sec_merge_hash_lookup in merge.c",
+ "Description": "A heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, because _bfd_add_merge_section mishandles section merges when size is not a multiple of entsize. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18605",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23804",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ab419ddbb2cdd17ca83618990f2cacf904ce1d61"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18606",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in _bfd_add_merge_section in merge_strings function in merge.c",
+ "Description": "An issue was discovered in the merge_strings function in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18606",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23806",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=45a0eaf77022963d639d6d19871dbab7b79703fc"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18607",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_input_bfd in elflink.c",
+ "Description": "An issue was discovered in elf_link_input_bfd in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18607",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23805",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=102def4da826b3d9e169741421e5e67e8731909a"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18700",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Recursive Stack Overflow within function d_name, d_encoding, and d_local_name in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions d_name(), d_encoding(), and d_local_name() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87681",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18701",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: infinite recursion in next_is_type_qual and cplus_demangle_type functions in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions next_is_type_qual() and cplus_demangle_type() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87675",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19931",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Heap-based buffer overflow in bfd_elf32_swap_phdr_in function resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h because the number of program headers is not restricted.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23942",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5f60af5d24d181371d67534fa273dd221df20c07"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19932",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow due to the IS_CONTAINED_BY_LMA macro resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA macro in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23932",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=beab453223769279cc1cef68a1622ab8978641f7"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20002",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: memory leak in _bfd_generic_read_minisymbols function in syms.c",
+ "Description": "The _bfd_generic_read_minisymbols function in syms.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, has a memory leak via a crafted ELF file, leading to a denial of service (memory consumption), as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106142",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23952",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2f5dc30afa34696f2da0081c4ac50b958ecb0e9",
+ "https://support.f5.com/csp/article/K62602089"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20623",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Use-after-free in the error function",
+ "Description": "In GNU Binutils 2.31.1, there is a use-after-free in the error function in elfcomm.c when called from the process_archive function in readelf.c via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106370",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24049",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20651",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_add_object_symbols function resulting in a denial of service",
+ "Description": "A NULL pointer dereference was discovered in elf_link_add_object_symbols in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31.1. This occurs for a crafted ET_DYN with no program headers. A specially crafted ELF file allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106440",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24041",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=54025d5812ff100f5f0654eb7e1ffd50f2e37f5f",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20671",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in load_specific_debug_section function",
+ "Description": "load_specific_debug_section in objdump.c in GNU Binutils through 2.31.1 contains an integer overflow vulnerability that can trigger a heap-based buffer overflow via a crafted section size.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106457",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24005",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=11fa9f134fd658075c6f74499c780df045d9e9ca"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20673",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: Integer overflow in demangle_template() function",
+ "Description": "The demangle_template function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31.1, contains an integer overflow vulnerability (for \"Create an array for saving the template argument values\") that can trigger a heap-based buffer overflow, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106454",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24039"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20712",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: heap-based buffer over-read in d_expression_1",
+ "Description": "A heap-based buffer over-read exists in the function d_expression_1 in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31.1. A crafted input can cause segmentation faults, leading to denial-of-service, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106563",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88629",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24043",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9138",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in the the C++ demangling functions provided by libiberty",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.29 and 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_nested_args, demangle_args, do_arg, and do_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23008",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9996",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack-overflow in libiberty/cplus-dem.c causes crash",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_template_value_parm, demangle_integral_value, and demangle_expression.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/103733",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85304"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010180",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gdb: buffer overflow while opening an ELF for debugging leads to Dos, information dislosure and code execution",
+ "Description": "GNU gdb All versions is affected by: Buffer Overflow - Out of bound memory access. The impact is: Deny of Service, Memory Disclosure, and Possible Code Execution. The component is: The main gdb module. The attack vector is: Open an ELF for debugging. The fixed version is: Not fixed yet.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/109367",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23657"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010204",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read in gold/fileread.cc and elfcpp/elfcpp_file.h leads to denial of service",
+ "Description": "GNU binutils gold gold v1.11-v1.16 (GNU binutils v2.21-v2.31.1) is affected by: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read. The impact is: Denial of service. The component is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The attack vector is: An ELF file with an invalid e_shoff header field must be opened.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0001/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23765"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12972",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. There is a heap-based buffer over-read in _bfd_doprnt in bfd.c because elf_object_p in elfcode.h mishandles an e_shstrndx section of type SHT_GROUP by omitting a trailing '\\0' character.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108903",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24689",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=890f750a3b053532a4b839a2dd6243076de12031"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14250",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in simple-object-elf.c leads to a heap-based buffer overflow",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. simple_object_elf_match in simple-object-elf.c does not check for a zero shstrndx value, leading to an integer overflow and resultant heap-based buffer overflow.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109354",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90924",
+ "https://gcc.gnu.org/ml/gcc-patches/2019-07/msg01003.html",
+ "https://security.netapp.com/advisory/ntap-20190822-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14444",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in function apply_relocation in readelf.c",
+ "Description": "apply_relocations in readelf.c in GNU Binutils 2.32 contains an integer overflow that allows attackers to trigger a write access violation (in byte_put_little_endian function in elfcomm.c) via an ELF file, as demonstrated by readelf.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24829"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17450",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: denial of service via crafted ELF file",
+ "Description": "find_abstract_instance in dwarf2.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32, allows remote attackers to cause a denial of service (infinite recursion and application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25078"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17451",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25070",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=336bfbeb1848f4b9558456fdcf283ee8a32d7fd1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9070",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in function d_expression_1 in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a heap-based buffer over-read in d_expression_1 in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89395",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24229",
+ "https://support.f5.com/csp/article/K13534168"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9071",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: stack consumption in function d_count_templates_scopes in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a stack consumption issue in d_count_templates_scopes in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89394",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24227",
+ "https://support.f5.com/csp/article/K02884135"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9073",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory allocation in function _bfd_elf_slurp_version_tables in elf.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an attempted excessive memory allocation in _bfd_elf_slurp_version_tables in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24233",
+ "https://support.f5.com/csp/article/K37121474"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9074",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: out-of-bound read in function bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an out-of-bounds read leading to a SEGV in bfd_getl32 in libbfd.c, when called from pex64_get_runtime_function in pei-x86_64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24235",
+ "https://support.f5.com/csp/article/K09092524"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9075",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function _bfd_archive_64_bit_slurp_armap in archive64.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is a heap-based buffer overflow in _bfd_archive_64_bit_slurp_armap in archive64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24236",
+ "https://support.f5.com/csp/article/K42059040"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9077",
+ "PkgName": "binutils-common",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function process_mips_specific in readelf.c",
+ "Description": "An issue was discovered in GNU Binutils 2.32. It is a heap-based buffer overflow in process_mips_specific in readelf.c via a malformed MIPS option section.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107139",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24243",
+ "https://support.f5.com/csp/article/K00056379"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-13716",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Memory leak with the C++ symbol demangler routine in libiberty",
+ "Description": "The C++ symbol demangler routine in cplus-dem.c in libiberty, as distributed in GNU Binutils 2.29, allows remote attackers to cause a denial of service (excessive memory allocation and application crash) via a crafted file, as demonstrated by a call from the Binary File Descriptor (BFD) library (aka libbfd).",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22009"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12699",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in finish_stab in stabs.c",
+ "Description": "finish_stab in stabs.c in GNU Binutils 2.30 allows attackers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact, as demonstrated by an out-of-bounds write of 8 bytes. This can occur during execution of objdump.",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.securityfocus.com/bid/104540",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1000876",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leads to heap-based buffer overflow in objdump",
+ "Description": "binutils version 2.32 and earlier contains a Integer Overflow vulnerability in objdump, bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc that can result in Integer overflow trigger heap overflow. Successful exploitation allows execution of arbitrary code.. This attack appear to be exploitable via Local. This vulnerability appears to have been fixed in after commit 3a551c7a1b80fca579461774860574eabfd7f18f.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-1000876.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/106304",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23994",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3a551c7a1b80fca579461774860574eabfd7f18f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12697",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in work_stuff_copy_to_from in cplus-dem.c.",
+ "Description": "A NULL pointer dereference (aka SEGV on unknown address 0x000000000000) was discovered in work_stuff_copy_to_from in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-12697.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/104538",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12698",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory consumption in demangle_template in cplus-dem.c",
+ "Description": "demangle_template in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM) during the \"Create an array for saving the template argument values\" XNEWVEC call. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104539",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12700",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in debug_write_type in debug.c",
+ "Description": "A Stack Exhaustion issue was discovered in debug_write_type in debug.c in GNU Binutils 2.30 because of DEBUG_KIND_INDIRECT infinite recursion.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104541",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12934",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Uncontrolled Resource Consumption in remember_Ktype in cplus-dem.c",
+ "Description": "remember_Ktype in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM). This can occur during execution of cxxfilt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763101",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85453",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23059",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17358",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in _bfd_stab_section_find_nearest_line in syms.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in _bfd_stab_section_find_nearest_line in syms.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17359",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in bfd_zalloc in opncls.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in bfd_zalloc in opncls.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17360",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. a heap-based buffer over-read in bfd_getl32 in libbfd.c allows an attacker to cause a denial of service through a crafted PE file. This vulnerability can be triggered by the executable objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23685"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17794",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in libiberty/cplus-dem.c:work_stuff_copy_to_from() via crafted input",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in work_stuff_copy_to_from when called from iterate_demangle_function.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17985",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack consumption problem caused by the cplus_demangle_type",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption problem caused by the cplus_demangle_type function making recursive calls to itself in certain scenarios involving many 'P' characters.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18309",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory address dereference in read_reloc in reloc.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory address dereference was discovered in read_reloc in reloc.c. The vulnerability causes a segmentation fault and application crash, which leads to denial of service, as demonstrated by objdump, because of missing _bfd_clear_contents bounds checking.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105692",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23770",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0930cb3021b8078b34cf216e79eb8608d017864f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18483",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in cplus-dem.c:get_count() allows for denial of service",
+ "Description": "The get_count function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31, allows remote attackers to cause a denial of service (malloc called with the result of an integer-overflowing calculation) or possibly have unspecified other impact via a crafted string, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105689",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87602",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23767"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18484",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack exhaustion in cp-demangle.c allows for denial of service",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there is a stack consumption problem caused by recursive stack frames: cplus_demangle_type, d_bare_function_type, d_function_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105693",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87636"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18605",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in sec_merge_hash_lookup in merge.c",
+ "Description": "A heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, because _bfd_add_merge_section mishandles section merges when size is not a multiple of entsize. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18605",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23804",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ab419ddbb2cdd17ca83618990f2cacf904ce1d61"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18606",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in _bfd_add_merge_section in merge_strings function in merge.c",
+ "Description": "An issue was discovered in the merge_strings function in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18606",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23806",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=45a0eaf77022963d639d6d19871dbab7b79703fc"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18607",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_input_bfd in elflink.c",
+ "Description": "An issue was discovered in elf_link_input_bfd in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18607",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23805",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=102def4da826b3d9e169741421e5e67e8731909a"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18700",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Recursive Stack Overflow within function d_name, d_encoding, and d_local_name in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions d_name(), d_encoding(), and d_local_name() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87681",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18701",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: infinite recursion in next_is_type_qual and cplus_demangle_type functions in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions next_is_type_qual() and cplus_demangle_type() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87675",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19931",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Heap-based buffer overflow in bfd_elf32_swap_phdr_in function resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h because the number of program headers is not restricted.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23942",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5f60af5d24d181371d67534fa273dd221df20c07"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19932",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow due to the IS_CONTAINED_BY_LMA macro resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA macro in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23932",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=beab453223769279cc1cef68a1622ab8978641f7"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20002",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: memory leak in _bfd_generic_read_minisymbols function in syms.c",
+ "Description": "The _bfd_generic_read_minisymbols function in syms.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, has a memory leak via a crafted ELF file, leading to a denial of service (memory consumption), as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106142",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23952",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2f5dc30afa34696f2da0081c4ac50b958ecb0e9",
+ "https://support.f5.com/csp/article/K62602089"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20623",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Use-after-free in the error function",
+ "Description": "In GNU Binutils 2.31.1, there is a use-after-free in the error function in elfcomm.c when called from the process_archive function in readelf.c via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106370",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24049",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20651",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_add_object_symbols function resulting in a denial of service",
+ "Description": "A NULL pointer dereference was discovered in elf_link_add_object_symbols in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31.1. This occurs for a crafted ET_DYN with no program headers. A specially crafted ELF file allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106440",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24041",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=54025d5812ff100f5f0654eb7e1ffd50f2e37f5f",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20671",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in load_specific_debug_section function",
+ "Description": "load_specific_debug_section in objdump.c in GNU Binutils through 2.31.1 contains an integer overflow vulnerability that can trigger a heap-based buffer overflow via a crafted section size.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106457",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24005",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=11fa9f134fd658075c6f74499c780df045d9e9ca"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20673",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: Integer overflow in demangle_template() function",
+ "Description": "The demangle_template function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31.1, contains an integer overflow vulnerability (for \"Create an array for saving the template argument values\") that can trigger a heap-based buffer overflow, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106454",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24039"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20712",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: heap-based buffer over-read in d_expression_1",
+ "Description": "A heap-based buffer over-read exists in the function d_expression_1 in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31.1. A crafted input can cause segmentation faults, leading to denial-of-service, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106563",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88629",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24043",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9138",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in the the C++ demangling functions provided by libiberty",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.29 and 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_nested_args, demangle_args, do_arg, and do_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23008",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9996",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack-overflow in libiberty/cplus-dem.c causes crash",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_template_value_parm, demangle_integral_value, and demangle_expression.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/103733",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85304"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010180",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gdb: buffer overflow while opening an ELF for debugging leads to Dos, information dislosure and code execution",
+ "Description": "GNU gdb All versions is affected by: Buffer Overflow - Out of bound memory access. The impact is: Deny of Service, Memory Disclosure, and Possible Code Execution. The component is: The main gdb module. The attack vector is: Open an ELF for debugging. The fixed version is: Not fixed yet.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/109367",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23657"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010204",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read in gold/fileread.cc and elfcpp/elfcpp_file.h leads to denial of service",
+ "Description": "GNU binutils gold gold v1.11-v1.16 (GNU binutils v2.21-v2.31.1) is affected by: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read. The impact is: Denial of service. The component is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The attack vector is: An ELF file with an invalid e_shoff header field must be opened.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0001/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23765"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12972",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. There is a heap-based buffer over-read in _bfd_doprnt in bfd.c because elf_object_p in elfcode.h mishandles an e_shstrndx section of type SHT_GROUP by omitting a trailing '\\0' character.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108903",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24689",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=890f750a3b053532a4b839a2dd6243076de12031"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14250",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in simple-object-elf.c leads to a heap-based buffer overflow",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. simple_object_elf_match in simple-object-elf.c does not check for a zero shstrndx value, leading to an integer overflow and resultant heap-based buffer overflow.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109354",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90924",
+ "https://gcc.gnu.org/ml/gcc-patches/2019-07/msg01003.html",
+ "https://security.netapp.com/advisory/ntap-20190822-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14444",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in function apply_relocation in readelf.c",
+ "Description": "apply_relocations in readelf.c in GNU Binutils 2.32 contains an integer overflow that allows attackers to trigger a write access violation (in byte_put_little_endian function in elfcomm.c) via an ELF file, as demonstrated by readelf.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24829"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17450",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: denial of service via crafted ELF file",
+ "Description": "find_abstract_instance in dwarf2.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32, allows remote attackers to cause a denial of service (infinite recursion and application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25078"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17451",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25070",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=336bfbeb1848f4b9558456fdcf283ee8a32d7fd1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9070",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in function d_expression_1 in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a heap-based buffer over-read in d_expression_1 in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89395",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24229",
+ "https://support.f5.com/csp/article/K13534168"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9071",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: stack consumption in function d_count_templates_scopes in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a stack consumption issue in d_count_templates_scopes in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89394",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24227",
+ "https://support.f5.com/csp/article/K02884135"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9073",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory allocation in function _bfd_elf_slurp_version_tables in elf.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an attempted excessive memory allocation in _bfd_elf_slurp_version_tables in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24233",
+ "https://support.f5.com/csp/article/K37121474"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9074",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: out-of-bound read in function bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an out-of-bounds read leading to a SEGV in bfd_getl32 in libbfd.c, when called from pex64_get_runtime_function in pei-x86_64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24235",
+ "https://support.f5.com/csp/article/K09092524"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9075",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function _bfd_archive_64_bit_slurp_armap in archive64.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is a heap-based buffer overflow in _bfd_archive_64_bit_slurp_armap in archive64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24236",
+ "https://support.f5.com/csp/article/K42059040"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9077",
+ "PkgName": "binutils-x86-64-linux-gnu",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function process_mips_specific in readelf.c",
+ "Description": "An issue was discovered in GNU Binutils 2.32. It is a heap-based buffer overflow in process_mips_specific in readelf.c via a malformed MIPS option section.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107139",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24243",
+ "https://support.f5.com/csp/article/K00056379"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-2781",
+ "PkgName": "coreutils",
+ "InstalledVersion": "8.30-3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "coreutils: Non-privileged session can escape to the parent session in chroot",
+ "Description": "chroot in GNU coreutils, when used with --userspec, allows local users to escape to the parent session via a crafted TIOCSTI ioctl call, which pushes characters to the terminal's input buffer.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/02/28/2",
+ "http://www.openwall.com/lists/oss-security/2016/02/28/3"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-18018",
+ "PkgName": "coreutils",
+ "InstalledVersion": "8.30-3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "coreutils: race condition vulnerability in chown and chgrp",
+ "Description": "In GNU Coreutils through 8.29, chown-core.c in chown and chgrp does not prevent replacement of a plain file with a symlink during use of the POSIX \"-R -L\" options, which allows local users to modify the ownership of arbitrary files by leveraging a race condition.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.gnu.org/archive/html/coreutils/2017-12/msg00045.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "cpp-8",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "cpp-8",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "g++-8",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "g++-8",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "gcc-8",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "gcc-8",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "gcc-8-base",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "gcc-8-base",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1000021",
+ "PkgName": "git",
+ "InstalledVersion": "1:2.20.1-2+deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "git: client prints server-sent ANSI escape codes to the terminal, allowing for unverified messages to potentially execute arbitrary commands",
+ "Description": "GIT version 2.15.1 and earlier contains a Input Validation Error vulnerability in Client that can result in problems including messing up terminal configuration to RCE. This attack appear to be exploitable via The user must interact with a malicious git server, (or have their traffic modified in a MITM attack).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.batterystapl.es/2018/01/security-implications-of-ansi-escape.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1000021",
+ "PkgName": "git-man",
+ "InstalledVersion": "1:2.20.1-2+deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "git: client prints server-sent ANSI escape codes to the terminal, allowing for unverified messages to potentially execute arbitrary commands",
+ "Description": "GIT version 2.15.1 and earlier contains a Input Validation Error vulnerability in Client that can result in problems including messing up terminal configuration to RCE. This attack appear to be exploitable via The user must interact with a malicious git server, (or have their traffic modified in a MITM attack).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.batterystapl.es/2018/01/security-implications-of-ansi-escape.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14855",
+ "PkgName": "gpgv",
+ "InstalledVersion": "2.2.12-1+deb10u1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "gnupg2: OpenPGP Key Certification Forgeries with SHA-1",
+ "Description": "A flaw was found in the way certificate signatures could be forged using collisions found in the SHA-1 algorithm. An attacker could use this weakness to create forged certificate signatures. This issue affects GnuPG versions before 2.2.18.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14855",
+ "https://dev.gnupg.org/T4755",
+ "https://lists.gnupg.org/pipermail/gnupg-announce/2019q4/000442.html",
+ "https://rwc.iacr.org/2020/slides/Leurent.pdf"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-15607",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: CPU Exhaustion via crafted input file",
+ "Description": "In ImageMagick 7.0.8-11 Q16, a tiny input file 0x50 0x36 0x36 0x36 0x36 0x4c 0x36 0x38 0x36 0x36 0x36 0x36 0x36 0x36 0x1f 0x35 0x50 0x00 can result in a hang of several minutes during which CPU and memory resources are consumed until ultimately an attempted large memory allocation fails. Remote attackers could leverage this vulnerability to cause a denial of service via a crafted file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-15607.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/105137",
+ "https://github.com/ImageMagick/ImageMagick/issues/1255",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11470",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in cineon parsing component",
+ "Description": "The cineon parsing component in ImageMagick 7.0.8-26 Q16 allows attackers to cause a denial-of-service (uncontrolled resource consumption) by crafting a Cineon image with an incorrect claimed image size. This occurs because ReadCINImage in coders/cin.c lacks a check for insufficient image data in a file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11470.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11470",
+ "https://github.com/ImageMagick/ImageMagick/commit/e3cdce6fe12193f235b8c0ae5efe6880a25eb957",
+ "https://github.com/ImageMagick/ImageMagick/issues/1472",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19948",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in WriteSGIImage in coders/sgi.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer overflow in the function WriteSGIImage of coders/sgi.c.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19948.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19948",
+ "https://github.com/ImageMagick/ImageMagick/issues/1562",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-3134",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "GraphicsMagick/ImageMagick: multiple crash or DoS issues",
+ "Description": "Multiple unspecified vulnerabilities in GraphicsMagick before 1.2.4 allow remote attackers to cause a denial of service (crash, infinite loop, or memory consumption) via (a) unspecified vectors in the (1) AVI, (2) AVS, (3) DCM, (4) EPT, (5) FITS, (6) MTV, (7) PALM, (8) RLA, and (9) TGA decoder readers; and (b) the GetImageCharacteristics function in magick/image.c, as reachable from a crafted (10) PNG, (11) JPEG, (12) BMP, or (13) TIFF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2008-10/msg00004.html",
+ "http://secunia.com/advisories/30879",
+ "http://secunia.com/advisories/32151",
+ "http://sourceforge.net/forum/forum.php?forum_id=841176",
+ "http://sourceforge.net/project/shownotes.php?release_id=610253",
+ "http://www.securityfocus.com/bid/30055",
+ "http://www.securitytracker.com/id?1020413",
+ "http://www.vupen.com/english/advisories/2008/1984/references",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3134",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43511",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43513"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-8678",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Heap-buffer overflow in IsPixelMonochrome",
+ "Description": "The IsPixelMonochrome function in MagickCore/pixel-accessor.h in ImageMagick 7.0.3.0 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a crafted file. NOTE: the vendor says \"This is a Q64 issue and we do not support Q64.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/16/2",
+ "http://www.openwall.com/lists/oss-security/2016/12/08/18",
+ "http://www.securityfocus.com/bid/93599",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1385694",
+ "https://github.com/ImageMagick/ImageMagick/issues/272"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11754",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an OpenPixelCache call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/633"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11755",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function via mishandled AcquireSemaphoreInfo call",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an AcquireSemaphoreInfo call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/634"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7275",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory allocation failure in AcquireMagickMemory (incomplete fix for CVE-2016-8866)",
+ "Description": "The ReadPCXImage function in coders/pcx.c in ImageMagick 7.0.4.9 allows remote attackers to cause a denial of service (attempted large memory allocation and application crash) via a crafted file. NOTE: this vulnerability exists because of an incomplete fix for CVE-2016-8862 and CVE-2016-8866.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/97166",
+ "https://blogs.gentoo.org/ago/2017/03/27/imagemagick-memory-allocation-failure-in-acquiremagickmemory-memory-c-incomplete-fix-for-cve-2016-8862-and-cve-2016-8866/",
+ "https://github.com/ImageMagick/ImageMagick/issues/271"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-10649",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in SVGKeyValuePairs of coders/svg.c that leads to denial of service via crafted image file",
+ "Description": "In ImageMagick 7.0.8-36 Q16, there is a memory leak in the function SVGKeyValuePairs of coders/svg.c, which allows an attacker to cause a denial of service via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107645",
+ "https://github.com/ImageMagick/ImageMagick/issues/1533",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11472",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in ReadXWDImage in coders/xwd.c in the XWD image parsing component",
+ "Description": "ReadXWDImage in coders/xwd.c in the XWD image parsing component of ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (divide-by-zero error) by crafting an XWD image file in which the header indicates neither LSB first nor MSB first.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11472.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1546",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f663dfb8431c97d95682a2b533cca1c8233d21b4",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11597",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11597.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11597",
+ "https://github.com/ImageMagick/ImageMagick/issues/1555",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11598",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WritePNMImage of coders/pnm.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-40 Q16, there is a heap-based buffer over-read in the function WritePNMImage of coders/pnm.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file. This is related to SetGrayscaleImage in MagickCore/quantize.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11598.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11598",
+ "https://github.com/ImageMagick/ImageMagick/issues/1540",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12974",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: null-pointer dereference in function ReadPANGOImage in coders/pango.c and ReadVIDImage in coders/vid.c causing denial of service",
+ "Description": "A NULL pointer dereference in the function ReadPANGOImage in coders/pango.c and the function ReadVIDImage in coders/vid.c in ImageMagick 7.0.8-34 allows remote attackers to cause a denial of service via a crafted image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12974.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12974",
+ "https://github.com/ImageMagick/ImageMagick/issues/1515"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12975",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function WriteDPXImage in coders/dpx.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak vulnerability in the WriteDPXImage function in coders/dpx.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12975.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1517"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12976",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function ReadPCLImage in coders/pcl.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak in the ReadPCLImage function in coders/pcl.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12976.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1520"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12977",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialised value in function WriteJP2Image in coders/jp2.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the WriteJP2Image function in coders/jp2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1518"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12978",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in function ReadPANGOImage in coders/pango.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the ReadPANGOImage function in coders/pango.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12978.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12979",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in functionSyncImageSettings in MagickCore/image.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the SyncImageSettings function in MagickCore/image.c. This is related to AcquireImage in magick/image.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12979.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13135",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a \"use of uninitialized value\" vulnerability in the function ReadCUTImage leading to a crash and DoS",
+ "Description": "ImageMagick before 7.0.8-50 has a \"use of uninitialized value\" vulnerability in the function ReadCUTImage in coders/cut.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13135.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13135",
+ "https://github.com/ImageMagick/ImageMagick/commit/cdb383749ef7b68a38891440af8cc23e0115306d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1599",
+ "https://github.com/ImageMagick/ImageMagick6/commit/1e59b29e520d2beab73e8c78aacd5f1c0d76196d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13137",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a memory leak vulnerability in the function ReadPSImage in coders/ps.c",
+ "Description": "ImageMagick before 7.0.8-50 has a memory leak vulnerability in the function ReadPSImage in coders/ps.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/35ccb468ee2dcbe8ce9cf1e2f1957acc27f54c34",
+ "https://github.com/ImageMagick/ImageMagick/issues/1601",
+ "https://github.com/ImageMagick/ImageMagick6/commit/7d11230060fa9c8f67e53c85224daf6648805c7b"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13295",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13295.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13295",
+ "https://github.com/ImageMagick/ImageMagick/commit/a7759f410b773a1dd57b0e1fb28112e1cd8b97bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1608",
+ "https://github.com/ImageMagick/ImageMagick6/commit/55e6dc49f1a381d9d511ee2f888fdc3e3c3e3953",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13297",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13297.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13297",
+ "https://github.com/ImageMagick/ImageMagick/commit/604588fc35c7585abb7a9e71f69bb82e4389fefc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1609",
+ "https://github.com/ImageMagick/ImageMagick6/commit/35c7032723d85eee7318ff6c82f031fa2666b773",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13300",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13300.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/a906fe9298bf89e01d5272023db687935068849a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1586",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5e409ae7a389cdf2ed17469303be3f3f21cec450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13301",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks in AcquireMagickMemory",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks in AcquireMagickMemory because of an AnnotateImage error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13301.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/f595a1985233c399a05c0c37cc41de16a90dd025",
+ "https://github.com/ImageMagick/ImageMagick/issues/1585",
+ "https://github.com/ImageMagick/ImageMagick/issues/1589"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13304",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13304.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13304",
+ "https://github.com/ImageMagick/ImageMagick/commit/7689875ef64f34141e7292f6945efdf0530b4a5e",
+ "https://github.com/ImageMagick/ImageMagick/issues/1614",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bfa3b9610c83227894c92b0d312ad327fceb6241",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13305",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13305.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13305",
+ "https://github.com/ImageMagick/ImageMagick/commit/29efd648f38b73a64d73f14cd2019d869a585888",
+ "https://github.com/ImageMagick/ImageMagick/issues/1613",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5c7fbf9a14fb83c9685ad69d48899f490a37609d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13306",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13306.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13306",
+ "https://github.com/ImageMagick/ImageMagick/commit/e92040ea6ee2a844ebfd2344174076795a4787bd",
+ "https://github.com/ImageMagick/ImageMagick/issues/1612",
+ "https://github.com/ImageMagick/ImageMagick6/commit/cb5ec7d98195aa74d5ed299b38eff2a68122f3fa",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13307",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13307.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/025e77fcb2f45b21689931ba3bf74eac153afa48",
+ "https://github.com/ImageMagick/ImageMagick/issues/1615",
+ "https://github.com/ImageMagick/ImageMagick6/commit/91e58d967a92250439ede038ccfb0913a81e59fe"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13308",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in MagickCore/fourier.c in ComplexImage",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow in MagickCore/fourier.c in ComplexImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/61135001a625364e29bdce83832f043eebde7b5a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1595",
+ "https://github.com/ImageMagick/ImageMagick6/commit/19651f3db63fa1511ed83a348c4c82fa553f8d01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13309",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory due to mishandling the NoSuchImage error in CLIListOperatorImages",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of mishandling the NoSuchImage error in CLIListOperatorImages in MagickWand/operation.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13309.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13310",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13310.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13311",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of a wand/mogrify.c error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of a wand/mogrify.c error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13311.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/4a334bbf5584de37c6f5a47c380a531c8c4b140a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1623",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bb812022d0bc12107db215c981cab0b1ccd73d91"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13391",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in MagickCore/fourier.c",
+ "Description": "In ImageMagick 7.0.8-50 Q16, ComplexImages in MagickCore/fourier.c has a heap-based buffer over-read because of incorrect calls to GetCacheViewVirtualPixels.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/7c2c5ba5b8e3a0b2b82f56c71dfab74ed4006df7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1588",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f6ffc702c6eecd963587273a429dcd608c648984"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13454",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in RemoveDuplicateLayers in MagickCore/layer.c",
+ "Description": "ImageMagick 7.0.8-54 Q16 allows Division by Zero in RemoveDuplicateLayers in MagickCore/layer.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13454.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "http://www.securityfocus.com/bid/109099",
+ "https://github.com/ImageMagick/ImageMagick/commit/1ddcf2e4f28029a888cadef2e757509ef5047ad8",
+ "https://github.com/ImageMagick/ImageMagick/issues/1629",
+ "https://github.com/ImageMagick/ImageMagick6/commit/4f31d78716ac94c85c244efcea368fea202e2ed4"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14981",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in MeanShiftImage in MagickCore/feature.c",
+ "Description": "In ImageMagick 7.x before 7.0.8-41 and 6.x before 6.9.10-41, there is a divide-by-zero vulnerability in the MeanShiftImage function. It allows an attacker to cause a denial of service by sending a crafted file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-14981.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14981",
+ "https://github.com/ImageMagick/ImageMagick/commit/a77d8d97f5a7bced0468f0b08798c83fb67427bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1552",
+ "https://github.com/ImageMagick/ImageMagick6/commit/b522d2d857d2f75b659936b59b0da9df1682c256",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15139",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadXWDImage in coders/xwd.c",
+ "Description": "The XWD image (X Window System window dumping file) parsing component in ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (application crash resulting from an out-of-bounds Read) in ReadXWDImage in coders/xwd.c by crafting a corrupted XWD image file, a different vulnerability than CVE-2019-11472.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15139.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15139",
+ "https://github.com/ImageMagick/ImageMagick/commit/c78993d138bf480ab4652b5a48379d4ff75ba5f7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1553",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15140",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Use after free in ReadMATImage in coders/mat.c",
+ "Description": "coders/mat.c in ImageMagick 7.0.8-43 Q16 allows remote attackers to cause a denial of service (use-after-free and application crash) or possibly have unspecified other impact by crafting a Matlab image file that is mishandled in ReadImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15140.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15140",
+ "https://github.com/ImageMagick/ImageMagick/commit/f7206618d27c2e69d977abf40e3035a33e5f6be0",
+ "https://github.com/ImageMagick/ImageMagick/issues/1554",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16708",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in magick/xwindow.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in magick/xwindow.c, related to XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16708.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16709",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dps.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dps.c, as demonstrated by XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16709.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00045.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00046.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16710",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dot.c, as demonstrated by AcquireMagickMemory in MagickCore/memory.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16710.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1528",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16711",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps2.c",
+ "Description": "ImageMagick 7.0.8-40 has a memory leak in Huffman2DEncodeImage in coders/ps2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16711.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1542",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16712",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps3.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in Huffman2DEncodeImage in coders/ps3.c, as demonstrated by WritePS3Image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1557"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16713",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in coders/dot.c, as demonstrated by PingImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16713.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1558",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19949",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in WritePNGImage in coders/png.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WritePNGImage of coders/png.c, related to Magick_png_write_raw_profile and LocaleNCompare.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19949.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19949",
+ "https://github.com/ImageMagick/ImageMagick/issues/1561",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7175",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak in function DecodeImage in coders/pcd.c",
+ "Description": "In ImageMagick before 7.0.8-25, some memory leaks exist in DecodeImage in coders/pcd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7175.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/1e6a3ace073c9ec9c71e439c111d23c6e66cb6ae",
+ "https://github.com/ImageMagick/ImageMagick/issues/1450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7395",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePSDChannel function in coders/psd.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WritePSDChannel in coders/psd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106850",
+ "https://github.com/ImageMagick/ImageMagick/commit/8a43abefb38c5e29138e1c9c515b313363541c06",
+ "https://github.com/ImageMagick/ImageMagick/issues/1451"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7396",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the ReadSIXELImage function in coders/sixel.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in ReadSIXELImage in coders/sixel.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://www.securityfocus.com/bid/106849",
+ "https://github.com/ImageMagick/ImageMagick/commit/748a03651e5b138bcaf160d15133de2f4b1b89ce",
+ "https://github.com/ImageMagick/ImageMagick/issues/1452",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7397",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePDFImage function in coders/pdf.c",
+ "Description": "In ImageMagick before 7.0.8-25 and GraphicsMagick through 1.3.31, several memory leaks exist in WritePDFImage in coders/pdf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://hg.graphicsmagick.org/hg/GraphicsMagick/rev/11ad3aeb8ab1",
+ "http://linux.oracle.com/cve/CVE-2019-7397.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106847",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-7397",
+ "https://github.com/ImageMagick/ImageMagick/commit/306c1f0fa5754ca78efd16ab752f0e981d4f6b82",
+ "https://github.com/ImageMagick/ImageMagick/issues/1454"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7398",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WriteDIBImage function in coders/dib.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WriteDIBImage in coders/dib.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7398.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106848",
+ "https://github.com/ImageMagick/ImageMagick/issues/1453"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10251",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadHEICImageByID function in coders/heic.c",
+ "Description": "In ImageMagick 7.0.9, an out-of-bounds read vulnerability exists within the ReadHEICImageByID function in coders\\heic.c. It can be triggered via an image with a width or height value that exceeds the actual size of the image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/1859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2005-0406",
+ "PkgName": "imagemagick",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "A design flaw in image processing software that modifies JPEG images might not modify the original EXIF thumbnail, which could lead to an information leak of potentially sensitive visual information that had been removed from the main JPEG image.",
+ "Severity": "LOW",
+ "References": [
+ "http://seclists.org/lists/fulldisclosure/2005/Feb/0343.html",
+ "http://www.redteam-pentesting.de/advisories/rt-sa-2005-008.txt"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-15607",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: CPU Exhaustion via crafted input file",
+ "Description": "In ImageMagick 7.0.8-11 Q16, a tiny input file 0x50 0x36 0x36 0x36 0x36 0x4c 0x36 0x38 0x36 0x36 0x36 0x36 0x36 0x36 0x1f 0x35 0x50 0x00 can result in a hang of several minutes during which CPU and memory resources are consumed until ultimately an attempted large memory allocation fails. Remote attackers could leverage this vulnerability to cause a denial of service via a crafted file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-15607.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/105137",
+ "https://github.com/ImageMagick/ImageMagick/issues/1255",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11470",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in cineon parsing component",
+ "Description": "The cineon parsing component in ImageMagick 7.0.8-26 Q16 allows attackers to cause a denial-of-service (uncontrolled resource consumption) by crafting a Cineon image with an incorrect claimed image size. This occurs because ReadCINImage in coders/cin.c lacks a check for insufficient image data in a file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11470.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11470",
+ "https://github.com/ImageMagick/ImageMagick/commit/e3cdce6fe12193f235b8c0ae5efe6880a25eb957",
+ "https://github.com/ImageMagick/ImageMagick/issues/1472",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19948",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in WriteSGIImage in coders/sgi.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer overflow in the function WriteSGIImage of coders/sgi.c.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19948.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19948",
+ "https://github.com/ImageMagick/ImageMagick/issues/1562",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-3134",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "GraphicsMagick/ImageMagick: multiple crash or DoS issues",
+ "Description": "Multiple unspecified vulnerabilities in GraphicsMagick before 1.2.4 allow remote attackers to cause a denial of service (crash, infinite loop, or memory consumption) via (a) unspecified vectors in the (1) AVI, (2) AVS, (3) DCM, (4) EPT, (5) FITS, (6) MTV, (7) PALM, (8) RLA, and (9) TGA decoder readers; and (b) the GetImageCharacteristics function in magick/image.c, as reachable from a crafted (10) PNG, (11) JPEG, (12) BMP, or (13) TIFF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2008-10/msg00004.html",
+ "http://secunia.com/advisories/30879",
+ "http://secunia.com/advisories/32151",
+ "http://sourceforge.net/forum/forum.php?forum_id=841176",
+ "http://sourceforge.net/project/shownotes.php?release_id=610253",
+ "http://www.securityfocus.com/bid/30055",
+ "http://www.securitytracker.com/id?1020413",
+ "http://www.vupen.com/english/advisories/2008/1984/references",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3134",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43511",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43513"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-8678",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Heap-buffer overflow in IsPixelMonochrome",
+ "Description": "The IsPixelMonochrome function in MagickCore/pixel-accessor.h in ImageMagick 7.0.3.0 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a crafted file. NOTE: the vendor says \"This is a Q64 issue and we do not support Q64.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/16/2",
+ "http://www.openwall.com/lists/oss-security/2016/12/08/18",
+ "http://www.securityfocus.com/bid/93599",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1385694",
+ "https://github.com/ImageMagick/ImageMagick/issues/272"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11754",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an OpenPixelCache call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/633"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11755",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function via mishandled AcquireSemaphoreInfo call",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an AcquireSemaphoreInfo call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/634"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7275",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory allocation failure in AcquireMagickMemory (incomplete fix for CVE-2016-8866)",
+ "Description": "The ReadPCXImage function in coders/pcx.c in ImageMagick 7.0.4.9 allows remote attackers to cause a denial of service (attempted large memory allocation and application crash) via a crafted file. NOTE: this vulnerability exists because of an incomplete fix for CVE-2016-8862 and CVE-2016-8866.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/97166",
+ "https://blogs.gentoo.org/ago/2017/03/27/imagemagick-memory-allocation-failure-in-acquiremagickmemory-memory-c-incomplete-fix-for-cve-2016-8862-and-cve-2016-8866/",
+ "https://github.com/ImageMagick/ImageMagick/issues/271"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-10649",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in SVGKeyValuePairs of coders/svg.c that leads to denial of service via crafted image file",
+ "Description": "In ImageMagick 7.0.8-36 Q16, there is a memory leak in the function SVGKeyValuePairs of coders/svg.c, which allows an attacker to cause a denial of service via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107645",
+ "https://github.com/ImageMagick/ImageMagick/issues/1533",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11472",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in ReadXWDImage in coders/xwd.c in the XWD image parsing component",
+ "Description": "ReadXWDImage in coders/xwd.c in the XWD image parsing component of ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (divide-by-zero error) by crafting an XWD image file in which the header indicates neither LSB first nor MSB first.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11472.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1546",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f663dfb8431c97d95682a2b533cca1c8233d21b4",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11597",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11597.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11597",
+ "https://github.com/ImageMagick/ImageMagick/issues/1555",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11598",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WritePNMImage of coders/pnm.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-40 Q16, there is a heap-based buffer over-read in the function WritePNMImage of coders/pnm.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file. This is related to SetGrayscaleImage in MagickCore/quantize.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11598.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11598",
+ "https://github.com/ImageMagick/ImageMagick/issues/1540",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12974",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: null-pointer dereference in function ReadPANGOImage in coders/pango.c and ReadVIDImage in coders/vid.c causing denial of service",
+ "Description": "A NULL pointer dereference in the function ReadPANGOImage in coders/pango.c and the function ReadVIDImage in coders/vid.c in ImageMagick 7.0.8-34 allows remote attackers to cause a denial of service via a crafted image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12974.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12974",
+ "https://github.com/ImageMagick/ImageMagick/issues/1515"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12975",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function WriteDPXImage in coders/dpx.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak vulnerability in the WriteDPXImage function in coders/dpx.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12975.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1517"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12976",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function ReadPCLImage in coders/pcl.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak in the ReadPCLImage function in coders/pcl.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12976.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1520"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12977",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialised value in function WriteJP2Image in coders/jp2.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the WriteJP2Image function in coders/jp2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1518"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12978",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in function ReadPANGOImage in coders/pango.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the ReadPANGOImage function in coders/pango.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12978.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12979",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in functionSyncImageSettings in MagickCore/image.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the SyncImageSettings function in MagickCore/image.c. This is related to AcquireImage in magick/image.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12979.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13135",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a \"use of uninitialized value\" vulnerability in the function ReadCUTImage leading to a crash and DoS",
+ "Description": "ImageMagick before 7.0.8-50 has a \"use of uninitialized value\" vulnerability in the function ReadCUTImage in coders/cut.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13135.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13135",
+ "https://github.com/ImageMagick/ImageMagick/commit/cdb383749ef7b68a38891440af8cc23e0115306d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1599",
+ "https://github.com/ImageMagick/ImageMagick6/commit/1e59b29e520d2beab73e8c78aacd5f1c0d76196d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13137",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a memory leak vulnerability in the function ReadPSImage in coders/ps.c",
+ "Description": "ImageMagick before 7.0.8-50 has a memory leak vulnerability in the function ReadPSImage in coders/ps.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/35ccb468ee2dcbe8ce9cf1e2f1957acc27f54c34",
+ "https://github.com/ImageMagick/ImageMagick/issues/1601",
+ "https://github.com/ImageMagick/ImageMagick6/commit/7d11230060fa9c8f67e53c85224daf6648805c7b"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13295",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13295.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13295",
+ "https://github.com/ImageMagick/ImageMagick/commit/a7759f410b773a1dd57b0e1fb28112e1cd8b97bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1608",
+ "https://github.com/ImageMagick/ImageMagick6/commit/55e6dc49f1a381d9d511ee2f888fdc3e3c3e3953",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13297",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13297.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13297",
+ "https://github.com/ImageMagick/ImageMagick/commit/604588fc35c7585abb7a9e71f69bb82e4389fefc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1609",
+ "https://github.com/ImageMagick/ImageMagick6/commit/35c7032723d85eee7318ff6c82f031fa2666b773",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13300",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13300.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/a906fe9298bf89e01d5272023db687935068849a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1586",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5e409ae7a389cdf2ed17469303be3f3f21cec450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13301",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks in AcquireMagickMemory",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks in AcquireMagickMemory because of an AnnotateImage error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13301.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/f595a1985233c399a05c0c37cc41de16a90dd025",
+ "https://github.com/ImageMagick/ImageMagick/issues/1585",
+ "https://github.com/ImageMagick/ImageMagick/issues/1589"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13304",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13304.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13304",
+ "https://github.com/ImageMagick/ImageMagick/commit/7689875ef64f34141e7292f6945efdf0530b4a5e",
+ "https://github.com/ImageMagick/ImageMagick/issues/1614",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bfa3b9610c83227894c92b0d312ad327fceb6241",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13305",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13305.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13305",
+ "https://github.com/ImageMagick/ImageMagick/commit/29efd648f38b73a64d73f14cd2019d869a585888",
+ "https://github.com/ImageMagick/ImageMagick/issues/1613",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5c7fbf9a14fb83c9685ad69d48899f490a37609d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13306",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13306.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13306",
+ "https://github.com/ImageMagick/ImageMagick/commit/e92040ea6ee2a844ebfd2344174076795a4787bd",
+ "https://github.com/ImageMagick/ImageMagick/issues/1612",
+ "https://github.com/ImageMagick/ImageMagick6/commit/cb5ec7d98195aa74d5ed299b38eff2a68122f3fa",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13307",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13307.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/025e77fcb2f45b21689931ba3bf74eac153afa48",
+ "https://github.com/ImageMagick/ImageMagick/issues/1615",
+ "https://github.com/ImageMagick/ImageMagick6/commit/91e58d967a92250439ede038ccfb0913a81e59fe"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13308",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in MagickCore/fourier.c in ComplexImage",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow in MagickCore/fourier.c in ComplexImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/61135001a625364e29bdce83832f043eebde7b5a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1595",
+ "https://github.com/ImageMagick/ImageMagick6/commit/19651f3db63fa1511ed83a348c4c82fa553f8d01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13309",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory due to mishandling the NoSuchImage error in CLIListOperatorImages",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of mishandling the NoSuchImage error in CLIListOperatorImages in MagickWand/operation.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13309.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13310",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13310.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13311",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of a wand/mogrify.c error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of a wand/mogrify.c error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13311.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/4a334bbf5584de37c6f5a47c380a531c8c4b140a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1623",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bb812022d0bc12107db215c981cab0b1ccd73d91"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13391",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in MagickCore/fourier.c",
+ "Description": "In ImageMagick 7.0.8-50 Q16, ComplexImages in MagickCore/fourier.c has a heap-based buffer over-read because of incorrect calls to GetCacheViewVirtualPixels.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/7c2c5ba5b8e3a0b2b82f56c71dfab74ed4006df7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1588",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f6ffc702c6eecd963587273a429dcd608c648984"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13454",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in RemoveDuplicateLayers in MagickCore/layer.c",
+ "Description": "ImageMagick 7.0.8-54 Q16 allows Division by Zero in RemoveDuplicateLayers in MagickCore/layer.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13454.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "http://www.securityfocus.com/bid/109099",
+ "https://github.com/ImageMagick/ImageMagick/commit/1ddcf2e4f28029a888cadef2e757509ef5047ad8",
+ "https://github.com/ImageMagick/ImageMagick/issues/1629",
+ "https://github.com/ImageMagick/ImageMagick6/commit/4f31d78716ac94c85c244efcea368fea202e2ed4"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14981",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in MeanShiftImage in MagickCore/feature.c",
+ "Description": "In ImageMagick 7.x before 7.0.8-41 and 6.x before 6.9.10-41, there is a divide-by-zero vulnerability in the MeanShiftImage function. It allows an attacker to cause a denial of service by sending a crafted file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-14981.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14981",
+ "https://github.com/ImageMagick/ImageMagick/commit/a77d8d97f5a7bced0468f0b08798c83fb67427bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1552",
+ "https://github.com/ImageMagick/ImageMagick6/commit/b522d2d857d2f75b659936b59b0da9df1682c256",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15139",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadXWDImage in coders/xwd.c",
+ "Description": "The XWD image (X Window System window dumping file) parsing component in ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (application crash resulting from an out-of-bounds Read) in ReadXWDImage in coders/xwd.c by crafting a corrupted XWD image file, a different vulnerability than CVE-2019-11472.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15139.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15139",
+ "https://github.com/ImageMagick/ImageMagick/commit/c78993d138bf480ab4652b5a48379d4ff75ba5f7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1553",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15140",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Use after free in ReadMATImage in coders/mat.c",
+ "Description": "coders/mat.c in ImageMagick 7.0.8-43 Q16 allows remote attackers to cause a denial of service (use-after-free and application crash) or possibly have unspecified other impact by crafting a Matlab image file that is mishandled in ReadImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15140.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15140",
+ "https://github.com/ImageMagick/ImageMagick/commit/f7206618d27c2e69d977abf40e3035a33e5f6be0",
+ "https://github.com/ImageMagick/ImageMagick/issues/1554",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16708",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in magick/xwindow.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in magick/xwindow.c, related to XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16708.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16709",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dps.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dps.c, as demonstrated by XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16709.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00045.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00046.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16710",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dot.c, as demonstrated by AcquireMagickMemory in MagickCore/memory.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16710.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1528",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16711",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps2.c",
+ "Description": "ImageMagick 7.0.8-40 has a memory leak in Huffman2DEncodeImage in coders/ps2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16711.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1542",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16712",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps3.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in Huffman2DEncodeImage in coders/ps3.c, as demonstrated by WritePS3Image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1557"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16713",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in coders/dot.c, as demonstrated by PingImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16713.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1558",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19949",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in WritePNGImage in coders/png.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WritePNGImage of coders/png.c, related to Magick_png_write_raw_profile and LocaleNCompare.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19949.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19949",
+ "https://github.com/ImageMagick/ImageMagick/issues/1561",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7175",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak in function DecodeImage in coders/pcd.c",
+ "Description": "In ImageMagick before 7.0.8-25, some memory leaks exist in DecodeImage in coders/pcd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7175.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/1e6a3ace073c9ec9c71e439c111d23c6e66cb6ae",
+ "https://github.com/ImageMagick/ImageMagick/issues/1450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7395",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePSDChannel function in coders/psd.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WritePSDChannel in coders/psd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106850",
+ "https://github.com/ImageMagick/ImageMagick/commit/8a43abefb38c5e29138e1c9c515b313363541c06",
+ "https://github.com/ImageMagick/ImageMagick/issues/1451"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7396",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the ReadSIXELImage function in coders/sixel.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in ReadSIXELImage in coders/sixel.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://www.securityfocus.com/bid/106849",
+ "https://github.com/ImageMagick/ImageMagick/commit/748a03651e5b138bcaf160d15133de2f4b1b89ce",
+ "https://github.com/ImageMagick/ImageMagick/issues/1452",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7397",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePDFImage function in coders/pdf.c",
+ "Description": "In ImageMagick before 7.0.8-25 and GraphicsMagick through 1.3.31, several memory leaks exist in WritePDFImage in coders/pdf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://hg.graphicsmagick.org/hg/GraphicsMagick/rev/11ad3aeb8ab1",
+ "http://linux.oracle.com/cve/CVE-2019-7397.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106847",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-7397",
+ "https://github.com/ImageMagick/ImageMagick/commit/306c1f0fa5754ca78efd16ab752f0e981d4f6b82",
+ "https://github.com/ImageMagick/ImageMagick/issues/1454"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7398",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WriteDIBImage function in coders/dib.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WriteDIBImage in coders/dib.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7398.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106848",
+ "https://github.com/ImageMagick/ImageMagick/issues/1453"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10251",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadHEICImageByID function in coders/heic.c",
+ "Description": "In ImageMagick 7.0.9, an out-of-bounds read vulnerability exists within the ReadHEICImageByID function in coders\\heic.c. It can be triggered via an image with a width or height value that exceeds the actual size of the image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/1859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2005-0406",
+ "PkgName": "imagemagick-6-common",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "A design flaw in image processing software that modifies JPEG images might not modify the original EXIF thumbnail, which could lead to an information leak of potentially sensitive visual information that had been removed from the main JPEG image.",
+ "Severity": "LOW",
+ "References": [
+ "http://seclists.org/lists/fulldisclosure/2005/Feb/0343.html",
+ "http://www.redteam-pentesting.de/advisories/rt-sa-2005-008.txt"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-15607",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: CPU Exhaustion via crafted input file",
+ "Description": "In ImageMagick 7.0.8-11 Q16, a tiny input file 0x50 0x36 0x36 0x36 0x36 0x4c 0x36 0x38 0x36 0x36 0x36 0x36 0x36 0x36 0x1f 0x35 0x50 0x00 can result in a hang of several minutes during which CPU and memory resources are consumed until ultimately an attempted large memory allocation fails. Remote attackers could leverage this vulnerability to cause a denial of service via a crafted file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-15607.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/105137",
+ "https://github.com/ImageMagick/ImageMagick/issues/1255",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11470",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in cineon parsing component",
+ "Description": "The cineon parsing component in ImageMagick 7.0.8-26 Q16 allows attackers to cause a denial-of-service (uncontrolled resource consumption) by crafting a Cineon image with an incorrect claimed image size. This occurs because ReadCINImage in coders/cin.c lacks a check for insufficient image data in a file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11470.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11470",
+ "https://github.com/ImageMagick/ImageMagick/commit/e3cdce6fe12193f235b8c0ae5efe6880a25eb957",
+ "https://github.com/ImageMagick/ImageMagick/issues/1472",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19948",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in WriteSGIImage in coders/sgi.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer overflow in the function WriteSGIImage of coders/sgi.c.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19948.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19948",
+ "https://github.com/ImageMagick/ImageMagick/issues/1562",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-3134",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "GraphicsMagick/ImageMagick: multiple crash or DoS issues",
+ "Description": "Multiple unspecified vulnerabilities in GraphicsMagick before 1.2.4 allow remote attackers to cause a denial of service (crash, infinite loop, or memory consumption) via (a) unspecified vectors in the (1) AVI, (2) AVS, (3) DCM, (4) EPT, (5) FITS, (6) MTV, (7) PALM, (8) RLA, and (9) TGA decoder readers; and (b) the GetImageCharacteristics function in magick/image.c, as reachable from a crafted (10) PNG, (11) JPEG, (12) BMP, or (13) TIFF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2008-10/msg00004.html",
+ "http://secunia.com/advisories/30879",
+ "http://secunia.com/advisories/32151",
+ "http://sourceforge.net/forum/forum.php?forum_id=841176",
+ "http://sourceforge.net/project/shownotes.php?release_id=610253",
+ "http://www.securityfocus.com/bid/30055",
+ "http://www.securitytracker.com/id?1020413",
+ "http://www.vupen.com/english/advisories/2008/1984/references",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3134",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43511",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43513"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-8678",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Heap-buffer overflow in IsPixelMonochrome",
+ "Description": "The IsPixelMonochrome function in MagickCore/pixel-accessor.h in ImageMagick 7.0.3.0 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a crafted file. NOTE: the vendor says \"This is a Q64 issue and we do not support Q64.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/16/2",
+ "http://www.openwall.com/lists/oss-security/2016/12/08/18",
+ "http://www.securityfocus.com/bid/93599",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1385694",
+ "https://github.com/ImageMagick/ImageMagick/issues/272"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11754",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an OpenPixelCache call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/633"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11755",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function via mishandled AcquireSemaphoreInfo call",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an AcquireSemaphoreInfo call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/634"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7275",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory allocation failure in AcquireMagickMemory (incomplete fix for CVE-2016-8866)",
+ "Description": "The ReadPCXImage function in coders/pcx.c in ImageMagick 7.0.4.9 allows remote attackers to cause a denial of service (attempted large memory allocation and application crash) via a crafted file. NOTE: this vulnerability exists because of an incomplete fix for CVE-2016-8862 and CVE-2016-8866.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/97166",
+ "https://blogs.gentoo.org/ago/2017/03/27/imagemagick-memory-allocation-failure-in-acquiremagickmemory-memory-c-incomplete-fix-for-cve-2016-8862-and-cve-2016-8866/",
+ "https://github.com/ImageMagick/ImageMagick/issues/271"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-10649",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in SVGKeyValuePairs of coders/svg.c that leads to denial of service via crafted image file",
+ "Description": "In ImageMagick 7.0.8-36 Q16, there is a memory leak in the function SVGKeyValuePairs of coders/svg.c, which allows an attacker to cause a denial of service via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107645",
+ "https://github.com/ImageMagick/ImageMagick/issues/1533",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11472",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in ReadXWDImage in coders/xwd.c in the XWD image parsing component",
+ "Description": "ReadXWDImage in coders/xwd.c in the XWD image parsing component of ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (divide-by-zero error) by crafting an XWD image file in which the header indicates neither LSB first nor MSB first.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11472.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1546",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f663dfb8431c97d95682a2b533cca1c8233d21b4",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11597",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11597.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11597",
+ "https://github.com/ImageMagick/ImageMagick/issues/1555",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11598",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WritePNMImage of coders/pnm.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-40 Q16, there is a heap-based buffer over-read in the function WritePNMImage of coders/pnm.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file. This is related to SetGrayscaleImage in MagickCore/quantize.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11598.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11598",
+ "https://github.com/ImageMagick/ImageMagick/issues/1540",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12974",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: null-pointer dereference in function ReadPANGOImage in coders/pango.c and ReadVIDImage in coders/vid.c causing denial of service",
+ "Description": "A NULL pointer dereference in the function ReadPANGOImage in coders/pango.c and the function ReadVIDImage in coders/vid.c in ImageMagick 7.0.8-34 allows remote attackers to cause a denial of service via a crafted image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12974.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12974",
+ "https://github.com/ImageMagick/ImageMagick/issues/1515"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12975",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function WriteDPXImage in coders/dpx.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak vulnerability in the WriteDPXImage function in coders/dpx.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12975.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1517"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12976",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function ReadPCLImage in coders/pcl.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak in the ReadPCLImage function in coders/pcl.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12976.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1520"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12977",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialised value in function WriteJP2Image in coders/jp2.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the WriteJP2Image function in coders/jp2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1518"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12978",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in function ReadPANGOImage in coders/pango.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the ReadPANGOImage function in coders/pango.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12978.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12979",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in functionSyncImageSettings in MagickCore/image.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the SyncImageSettings function in MagickCore/image.c. This is related to AcquireImage in magick/image.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12979.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13135",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a \"use of uninitialized value\" vulnerability in the function ReadCUTImage leading to a crash and DoS",
+ "Description": "ImageMagick before 7.0.8-50 has a \"use of uninitialized value\" vulnerability in the function ReadCUTImage in coders/cut.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13135.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13135",
+ "https://github.com/ImageMagick/ImageMagick/commit/cdb383749ef7b68a38891440af8cc23e0115306d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1599",
+ "https://github.com/ImageMagick/ImageMagick6/commit/1e59b29e520d2beab73e8c78aacd5f1c0d76196d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13137",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a memory leak vulnerability in the function ReadPSImage in coders/ps.c",
+ "Description": "ImageMagick before 7.0.8-50 has a memory leak vulnerability in the function ReadPSImage in coders/ps.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/35ccb468ee2dcbe8ce9cf1e2f1957acc27f54c34",
+ "https://github.com/ImageMagick/ImageMagick/issues/1601",
+ "https://github.com/ImageMagick/ImageMagick6/commit/7d11230060fa9c8f67e53c85224daf6648805c7b"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13295",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13295.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13295",
+ "https://github.com/ImageMagick/ImageMagick/commit/a7759f410b773a1dd57b0e1fb28112e1cd8b97bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1608",
+ "https://github.com/ImageMagick/ImageMagick6/commit/55e6dc49f1a381d9d511ee2f888fdc3e3c3e3953",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13297",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13297.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13297",
+ "https://github.com/ImageMagick/ImageMagick/commit/604588fc35c7585abb7a9e71f69bb82e4389fefc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1609",
+ "https://github.com/ImageMagick/ImageMagick6/commit/35c7032723d85eee7318ff6c82f031fa2666b773",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13300",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13300.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/a906fe9298bf89e01d5272023db687935068849a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1586",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5e409ae7a389cdf2ed17469303be3f3f21cec450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13301",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks in AcquireMagickMemory",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks in AcquireMagickMemory because of an AnnotateImage error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13301.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/f595a1985233c399a05c0c37cc41de16a90dd025",
+ "https://github.com/ImageMagick/ImageMagick/issues/1585",
+ "https://github.com/ImageMagick/ImageMagick/issues/1589"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13304",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13304.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13304",
+ "https://github.com/ImageMagick/ImageMagick/commit/7689875ef64f34141e7292f6945efdf0530b4a5e",
+ "https://github.com/ImageMagick/ImageMagick/issues/1614",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bfa3b9610c83227894c92b0d312ad327fceb6241",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13305",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13305.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13305",
+ "https://github.com/ImageMagick/ImageMagick/commit/29efd648f38b73a64d73f14cd2019d869a585888",
+ "https://github.com/ImageMagick/ImageMagick/issues/1613",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5c7fbf9a14fb83c9685ad69d48899f490a37609d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13306",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13306.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13306",
+ "https://github.com/ImageMagick/ImageMagick/commit/e92040ea6ee2a844ebfd2344174076795a4787bd",
+ "https://github.com/ImageMagick/ImageMagick/issues/1612",
+ "https://github.com/ImageMagick/ImageMagick6/commit/cb5ec7d98195aa74d5ed299b38eff2a68122f3fa",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13307",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13307.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/025e77fcb2f45b21689931ba3bf74eac153afa48",
+ "https://github.com/ImageMagick/ImageMagick/issues/1615",
+ "https://github.com/ImageMagick/ImageMagick6/commit/91e58d967a92250439ede038ccfb0913a81e59fe"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13308",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in MagickCore/fourier.c in ComplexImage",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow in MagickCore/fourier.c in ComplexImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/61135001a625364e29bdce83832f043eebde7b5a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1595",
+ "https://github.com/ImageMagick/ImageMagick6/commit/19651f3db63fa1511ed83a348c4c82fa553f8d01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13309",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory due to mishandling the NoSuchImage error in CLIListOperatorImages",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of mishandling the NoSuchImage error in CLIListOperatorImages in MagickWand/operation.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13309.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13310",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13310.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13311",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of a wand/mogrify.c error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of a wand/mogrify.c error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13311.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/4a334bbf5584de37c6f5a47c380a531c8c4b140a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1623",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bb812022d0bc12107db215c981cab0b1ccd73d91"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13391",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in MagickCore/fourier.c",
+ "Description": "In ImageMagick 7.0.8-50 Q16, ComplexImages in MagickCore/fourier.c has a heap-based buffer over-read because of incorrect calls to GetCacheViewVirtualPixels.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/7c2c5ba5b8e3a0b2b82f56c71dfab74ed4006df7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1588",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f6ffc702c6eecd963587273a429dcd608c648984"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13454",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in RemoveDuplicateLayers in MagickCore/layer.c",
+ "Description": "ImageMagick 7.0.8-54 Q16 allows Division by Zero in RemoveDuplicateLayers in MagickCore/layer.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13454.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "http://www.securityfocus.com/bid/109099",
+ "https://github.com/ImageMagick/ImageMagick/commit/1ddcf2e4f28029a888cadef2e757509ef5047ad8",
+ "https://github.com/ImageMagick/ImageMagick/issues/1629",
+ "https://github.com/ImageMagick/ImageMagick6/commit/4f31d78716ac94c85c244efcea368fea202e2ed4"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14981",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in MeanShiftImage in MagickCore/feature.c",
+ "Description": "In ImageMagick 7.x before 7.0.8-41 and 6.x before 6.9.10-41, there is a divide-by-zero vulnerability in the MeanShiftImage function. It allows an attacker to cause a denial of service by sending a crafted file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-14981.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14981",
+ "https://github.com/ImageMagick/ImageMagick/commit/a77d8d97f5a7bced0468f0b08798c83fb67427bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1552",
+ "https://github.com/ImageMagick/ImageMagick6/commit/b522d2d857d2f75b659936b59b0da9df1682c256",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15139",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadXWDImage in coders/xwd.c",
+ "Description": "The XWD image (X Window System window dumping file) parsing component in ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (application crash resulting from an out-of-bounds Read) in ReadXWDImage in coders/xwd.c by crafting a corrupted XWD image file, a different vulnerability than CVE-2019-11472.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15139.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15139",
+ "https://github.com/ImageMagick/ImageMagick/commit/c78993d138bf480ab4652b5a48379d4ff75ba5f7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1553",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15140",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Use after free in ReadMATImage in coders/mat.c",
+ "Description": "coders/mat.c in ImageMagick 7.0.8-43 Q16 allows remote attackers to cause a denial of service (use-after-free and application crash) or possibly have unspecified other impact by crafting a Matlab image file that is mishandled in ReadImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15140.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15140",
+ "https://github.com/ImageMagick/ImageMagick/commit/f7206618d27c2e69d977abf40e3035a33e5f6be0",
+ "https://github.com/ImageMagick/ImageMagick/issues/1554",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16708",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in magick/xwindow.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in magick/xwindow.c, related to XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16708.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16709",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dps.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dps.c, as demonstrated by XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16709.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00045.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00046.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16710",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dot.c, as demonstrated by AcquireMagickMemory in MagickCore/memory.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16710.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1528",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16711",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps2.c",
+ "Description": "ImageMagick 7.0.8-40 has a memory leak in Huffman2DEncodeImage in coders/ps2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16711.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1542",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16712",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps3.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in Huffman2DEncodeImage in coders/ps3.c, as demonstrated by WritePS3Image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1557"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16713",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in coders/dot.c, as demonstrated by PingImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16713.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1558",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19949",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in WritePNGImage in coders/png.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WritePNGImage of coders/png.c, related to Magick_png_write_raw_profile and LocaleNCompare.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19949.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19949",
+ "https://github.com/ImageMagick/ImageMagick/issues/1561",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7175",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak in function DecodeImage in coders/pcd.c",
+ "Description": "In ImageMagick before 7.0.8-25, some memory leaks exist in DecodeImage in coders/pcd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7175.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/1e6a3ace073c9ec9c71e439c111d23c6e66cb6ae",
+ "https://github.com/ImageMagick/ImageMagick/issues/1450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7395",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePSDChannel function in coders/psd.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WritePSDChannel in coders/psd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106850",
+ "https://github.com/ImageMagick/ImageMagick/commit/8a43abefb38c5e29138e1c9c515b313363541c06",
+ "https://github.com/ImageMagick/ImageMagick/issues/1451"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7396",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the ReadSIXELImage function in coders/sixel.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in ReadSIXELImage in coders/sixel.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://www.securityfocus.com/bid/106849",
+ "https://github.com/ImageMagick/ImageMagick/commit/748a03651e5b138bcaf160d15133de2f4b1b89ce",
+ "https://github.com/ImageMagick/ImageMagick/issues/1452",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7397",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePDFImage function in coders/pdf.c",
+ "Description": "In ImageMagick before 7.0.8-25 and GraphicsMagick through 1.3.31, several memory leaks exist in WritePDFImage in coders/pdf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://hg.graphicsmagick.org/hg/GraphicsMagick/rev/11ad3aeb8ab1",
+ "http://linux.oracle.com/cve/CVE-2019-7397.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106847",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-7397",
+ "https://github.com/ImageMagick/ImageMagick/commit/306c1f0fa5754ca78efd16ab752f0e981d4f6b82",
+ "https://github.com/ImageMagick/ImageMagick/issues/1454"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7398",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WriteDIBImage function in coders/dib.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WriteDIBImage in coders/dib.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7398.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106848",
+ "https://github.com/ImageMagick/ImageMagick/issues/1453"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10251",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadHEICImageByID function in coders/heic.c",
+ "Description": "In ImageMagick 7.0.9, an out-of-bounds read vulnerability exists within the ReadHEICImageByID function in coders\\heic.c. It can be triggered via an image with a width or height value that exceeds the actual size of the image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/1859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2005-0406",
+ "PkgName": "imagemagick-6.q16",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "A design flaw in image processing software that modifies JPEG images might not modify the original EXIF thumbnail, which could lead to an information leak of potentially sensitive visual information that had been removed from the main JPEG image.",
+ "Severity": "LOW",
+ "References": [
+ "http://seclists.org/lists/fulldisclosure/2005/Feb/0343.html",
+ "http://www.redteam-pentesting.de/advisories/rt-sa-2005-008.txt"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-1585",
+ "PkgName": "libapparmor1",
+ "InstalledVersion": "2.13.2-10",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "In all versions of AppArmor mount rules are accidentally widened when compiled.",
+ "Severity": "HIGH",
+ "References": [
+ "https://bugs.launchpad.net/apparmor/+bug/1597017"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-3374",
+ "PkgName": "libapt-pkg5.0",
+ "InstalledVersion": "1.8.2",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Description": "It was found that apt-key in apt, all versions, do not correctly validate gpg keys with the master keyring, leading to a potential man-in-the-middle attack.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://access.redhat.com/security/cve/cve-2011-3374",
+ "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642480",
+ "https://people.canonical.com/~ubuntu-security/cve/2011/CVE-2011-3374.html",
+ "https://security-tracker.debian.org/tracker/CVE-2011-3374",
+ "https://snyk.io/vuln/SNYK-LINUX-APT-116518"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libasan5",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libasan5",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libatomic1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libatomic1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-6519",
+ "PkgName": "libavahi-client3",
+ "InstalledVersion": "0.7-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "avahi: Multicast DNS responds to unicast queries outside of local network",
+ "Description": "avahi-daemon in Avahi through 0.6.32 and 0.7 inadvertently responds to IPv6 unicast queries with source addresses that are not on-link, which allows remote attackers to cause a denial of service (traffic amplification) and may cause information leakage by obtaining potentially sensitive information from the responding device via port-5353 UDP packets. NOTE: this may overlap CVE-2015-2809.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2017-6519.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1176.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1426712",
+ "https://github.com/lathiat/avahi/issues/203",
+ "https://github.com/lathiat/avahi/issues/203#issuecomment-449536790",
+ "https://usn.ubuntu.com/3876-1/",
+ "https://usn.ubuntu.com/3876-2/",
+ "https://www.kb.cert.org/vuls/id/550620",
+ "https://www.secfu.net/advisories"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-6519",
+ "PkgName": "libavahi-common-data",
+ "InstalledVersion": "0.7-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "avahi: Multicast DNS responds to unicast queries outside of local network",
+ "Description": "avahi-daemon in Avahi through 0.6.32 and 0.7 inadvertently responds to IPv6 unicast queries with source addresses that are not on-link, which allows remote attackers to cause a denial of service (traffic amplification) and may cause information leakage by obtaining potentially sensitive information from the responding device via port-5353 UDP packets. NOTE: this may overlap CVE-2015-2809.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2017-6519.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1176.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1426712",
+ "https://github.com/lathiat/avahi/issues/203",
+ "https://github.com/lathiat/avahi/issues/203#issuecomment-449536790",
+ "https://usn.ubuntu.com/3876-1/",
+ "https://usn.ubuntu.com/3876-2/",
+ "https://www.kb.cert.org/vuls/id/550620",
+ "https://www.secfu.net/advisories"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-6519",
+ "PkgName": "libavahi-common3",
+ "InstalledVersion": "0.7-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "avahi: Multicast DNS responds to unicast queries outside of local network",
+ "Description": "avahi-daemon in Avahi through 0.6.32 and 0.7 inadvertently responds to IPv6 unicast queries with source addresses that are not on-link, which allows remote attackers to cause a denial of service (traffic amplification) and may cause information leakage by obtaining potentially sensitive information from the responding device via port-5353 UDP packets. NOTE: this may overlap CVE-2015-2809.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2017-6519.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1176.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1426712",
+ "https://github.com/lathiat/avahi/issues/203",
+ "https://github.com/lathiat/avahi/issues/203#issuecomment-449536790",
+ "https://usn.ubuntu.com/3876-1/",
+ "https://usn.ubuntu.com/3876-2/",
+ "https://www.kb.cert.org/vuls/id/550620",
+ "https://www.secfu.net/advisories"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-13716",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Memory leak with the C++ symbol demangler routine in libiberty",
+ "Description": "The C++ symbol demangler routine in cplus-dem.c in libiberty, as distributed in GNU Binutils 2.29, allows remote attackers to cause a denial of service (excessive memory allocation and application crash) via a crafted file, as demonstrated by a call from the Binary File Descriptor (BFD) library (aka libbfd).",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22009"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12699",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in finish_stab in stabs.c",
+ "Description": "finish_stab in stabs.c in GNU Binutils 2.30 allows attackers to cause a denial of service (heap-based buffer overflow) or possibly have unspecified other impact, as demonstrated by an out-of-bounds write of 8 bytes. This can occur during execution of objdump.",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.securityfocus.com/bid/104540",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1000876",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leads to heap-based buffer overflow in objdump",
+ "Description": "binutils version 2.32 and earlier contains a Integer Overflow vulnerability in objdump, bfd_get_dynamic_reloc_upper_bound,bfd_canonicalize_dynamic_reloc that can result in Integer overflow trigger heap overflow. Successful exploitation allows execution of arbitrary code.. This attack appear to be exploitable via Local. This vulnerability appears to have been fixed in after commit 3a551c7a1b80fca579461774860574eabfd7f18f.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-1000876.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/106304",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23994",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3a551c7a1b80fca579461774860574eabfd7f18f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12697",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in work_stuff_copy_to_from in cplus-dem.c.",
+ "Description": "A NULL pointer dereference (aka SEGV on unknown address 0x000000000000) was discovered in work_stuff_copy_to_from in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-12697.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2075.html",
+ "http://www.securityfocus.com/bid/104538",
+ "https://access.redhat.com/errata/RHSA-2019:2075",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12698",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory consumption in demangle_template in cplus-dem.c",
+ "Description": "demangle_template in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM) during the \"Create an array for saving the template argument values\" XNEWVEC call. This can occur during execution of objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104539",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12700",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in debug_write_type in debug.c",
+ "Description": "A Stack Exhaustion issue was discovered in debug_write_type in debug.c in GNU Binutils 2.30 because of DEBUG_KIND_INDIRECT infinite recursion.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104541",
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763102",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85454",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23057"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12934",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Uncontrolled Resource Consumption in remember_Ktype in cplus-dem.c",
+ "Description": "remember_Ktype in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30, allows attackers to trigger excessive memory consumption (aka OOM). This can occur during execution of cxxfilt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1763101",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85453",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23059",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17358",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in _bfd_stab_section_find_nearest_line in syms.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in _bfd_stab_section_find_nearest_line in syms.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17359",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory access in bfd_zalloc in opncls.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory access exists in bfd_zalloc in opncls.c. Attackers could leverage this vulnerability to cause a denial of service (application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23686"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17360",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. a heap-based buffer over-read in bfd_getl32 in libbfd.c allows an attacker to cause a denial of service through a crafted PE file. This vulnerability can be triggered by the executable objdump.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23685"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17794",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in libiberty/cplus-dem.c:work_stuff_copy_to_from() via crafted input",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in work_stuff_copy_to_from when called from iterate_demangle_function.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87350",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17985",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack consumption problem caused by the cplus_demangle_type",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption problem caused by the cplus_demangle_type function making recursive calls to itself in certain scenarios involving many 'P' characters.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87335"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18309",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: invalid memory address dereference in read_reloc in reloc.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. An invalid memory address dereference was discovered in read_reloc in reloc.c. The vulnerability causes a segmentation fault and application crash, which leads to denial of service, as demonstrated by objdump, because of missing _bfd_clear_contents bounds checking.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105692",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23770",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0930cb3021b8078b34cf216e79eb8608d017864f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18483",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in cplus-dem.c:get_count() allows for denial of service",
+ "Description": "The get_count function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31, allows remote attackers to cause a denial of service (malloc called with the result of an integer-overflowing calculation) or possibly have unspecified other impact via a crafted string, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105689",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87602",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23767"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18484",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack exhaustion in cp-demangle.c allows for denial of service",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there is a stack consumption problem caused by recursive stack frames: cplus_demangle_type, d_bare_function_type, d_function_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105693",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87636"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18605",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in sec_merge_hash_lookup in merge.c",
+ "Description": "A heap-based buffer over-read issue was discovered in the function sec_merge_hash_lookup in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, because _bfd_add_merge_section mishandles section merges when size is not a multiple of entsize. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18605",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23804",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ab419ddbb2cdd17ca83618990f2cacf904ce1d61"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18606",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in _bfd_add_merge_section in merge_strings function in merge.c",
+ "Description": "An issue was discovered in the merge_strings function in merge.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in _bfd_add_merge_section when attempting to merge sections with large alignments. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18606",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23806",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=45a0eaf77022963d639d6d19871dbab7b79703fc"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18607",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_input_bfd in elflink.c",
+ "Description": "An issue was discovered in elf_link_input_bfd in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31. There is a NULL pointer dereference in elf_link_input_bfd when used for finding STT_TLS symbols without any TLS section. A specially crafted ELF allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/105754",
+ "https://deb.freexian.com/extended-lts/tracker/CVE-2018-18607",
+ "https://security.netapp.com/advisory/ntap-20190307-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23805",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=102def4da826b3d9e169741421e5e67e8731909a"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18700",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Recursive Stack Overflow within function d_name, d_encoding, and d_local_name in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions d_name(), d_encoding(), and d_local_name() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87681",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18701",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: infinite recursion in next_is_type_qual and cplus_demangle_type functions in cp-demangle.c",
+ "Description": "An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions next_is_type_qual() and cplus_demangle_type() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87675",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19931",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Heap-based buffer overflow in bfd_elf32_swap_phdr_in function resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is a heap-based buffer overflow in bfd_elf32_swap_phdr_in in elfcode.h because the number of program headers is not restricted.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23942",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=5f60af5d24d181371d67534fa273dd221df20c07"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-19932",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow due to the IS_CONTAINED_BY_LMA macro resulting in a denial of service",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils through 2.31. There is an integer overflow and infinite loop caused by the IS_CONTAINED_BY_LMA macro in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106144",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23932",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=beab453223769279cc1cef68a1622ab8978641f7"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20002",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: memory leak in _bfd_generic_read_minisymbols function in syms.c",
+ "Description": "The _bfd_generic_read_minisymbols function in syms.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31, has a memory leak via a crafted ELF file, leading to a denial of service (memory consumption), as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106142",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://security.netapp.com/advisory/ntap-20190221-0004/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23952",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2f5dc30afa34696f2da0081c4ac50b958ecb0e9",
+ "https://support.f5.com/csp/article/K62602089"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20623",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Use-after-free in the error function",
+ "Description": "In GNU Binutils 2.31.1, there is a use-after-free in the error function in elfcomm.c when called from the process_archive function in readelf.c via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106370",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24049",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20651",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: NULL pointer dereference in elf_link_add_object_symbols function resulting in a denial of service",
+ "Description": "A NULL pointer dereference was discovered in elf_link_add_object_symbols in elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.31.1. This occurs for a crafted ET_DYN with no program headers. A specially crafted ELF file allows remote attackers to cause a denial of service, as demonstrated by ld.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106440",
+ "https://security.gentoo.org/glsa/201908-01",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24041",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=54025d5812ff100f5f0654eb7e1ffd50f2e37f5f",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20671",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Integer overflow in load_specific_debug_section function",
+ "Description": "load_specific_debug_section in objdump.c in GNU Binutils through 2.31.1 contains an integer overflow vulnerability that can trigger a heap-based buffer overflow via a crafted section size.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/106457",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24005",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=11fa9f134fd658075c6f74499c780df045d9e9ca"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20673",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: Integer overflow in demangle_template() function",
+ "Description": "The demangle_template function in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.31.1, contains an integer overflow vulnerability (for \"Create an array for saving the template argument values\") that can trigger a heap-based buffer overflow, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106454",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24039"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20712",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libiberty: heap-based buffer over-read in d_expression_1",
+ "Description": "A heap-based buffer over-read exists in the function d_expression_1 in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31.1. A crafted input can cause segmentation faults, leading to denial-of-service, as demonstrated by c++filt.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106563",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88629",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24043",
+ "https://support.f5.com/csp/article/K38336243"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9138",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack Exhaustion in the the C++ demangling functions provided by libiberty",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.29 and 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_nested_args, demangle_args, do_arg, and do_type.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23008",
+ "https://usn.ubuntu.com/4326-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-9996",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Stack-overflow in libiberty/cplus-dem.c causes crash",
+ "Description": "An issue was discovered in cplus-dem.c in GNU libiberty, as distributed in GNU Binutils 2.30. Stack Exhaustion occurs in the C++ demangling functions provided by libiberty, and there are recursive stack frames: demangle_template_value_parm, demangle_integral_value, and demangle_expression.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/103733",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85304"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010180",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gdb: buffer overflow while opening an ELF for debugging leads to Dos, information dislosure and code execution",
+ "Description": "GNU gdb All versions is affected by: Buffer Overflow - Out of bound memory access. The impact is: Deny of Service, Memory Disclosure, and Possible Code Execution. The component is: The main gdb module. The attack vector is: Open an ELF for debugging. The fixed version is: Not fixed yet.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00072.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00008.html",
+ "http://www.securityfocus.com/bid/109367",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23657"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010204",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read in gold/fileread.cc and elfcpp/elfcpp_file.h leads to denial of service",
+ "Description": "GNU binutils gold gold v1.11-v1.16 (GNU binutils v2.21-v2.31.1) is affected by: Improper Input Validation, Signed/Unsigned Comparison, Out-of-bounds Read. The impact is: Denial of service. The component is: gold/fileread.cc:497, elfcpp/elfcpp_file.h:644. The attack vector is: An ELF file with an invalid e_shoff header field must be opened.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0001/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=23765"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12972",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. There is a heap-based buffer over-read in _bfd_doprnt in bfd.c because elf_object_p in elfcode.h mishandles an e_shstrndx section of type SHT_GROUP by omitting a trailing '\\0' character.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108903",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24689",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=890f750a3b053532a4b839a2dd6243076de12031"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14250",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in simple-object-elf.c leads to a heap-based buffer overflow",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. simple_object_elf_match in simple-object-elf.c does not check for a zero shstrndx value, leading to an integer overflow and resultant heap-based buffer overflow.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109354",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90924",
+ "https://gcc.gnu.org/ml/gcc-patches/2019-07/msg01003.html",
+ "https://security.netapp.com/advisory/ntap-20190822-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14444",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow in function apply_relocation in readelf.c",
+ "Description": "apply_relocations in readelf.c in GNU Binutils 2.32 contains an integer overflow that allows attackers to trigger a write access violation (in byte_put_little_endian function in elfcomm.c) via an ELF file, as demonstrated by readelf.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190822-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24829"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17450",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: denial of service via crafted ELF file",
+ "Description": "find_abstract_instance in dwarf2.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32, allows remote attackers to cause a denial of service (infinite recursion and application crash) via a crafted ELF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25078"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17451",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an integer overflow leading to a SEGV in _bfd_dwarf2_find_nearest_line in dwarf2.c, as demonstrated by nm.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20191024-0002/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25070",
+ "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=336bfbeb1848f4b9558456fdcf283ee8a32d7fd1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9070",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer over-read in function d_expression_1 in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a heap-based buffer over-read in d_expression_1 in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89395",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24229",
+ "https://support.f5.com/csp/article/K13534168"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9071",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: stack consumption in function d_count_templates_scopes in cp-demangle.c",
+ "Description": "An issue was discovered in GNU libiberty, as distributed in GNU Binutils 2.32. It is a stack consumption issue in d_count_templates_scopes in cp-demangle.c after many recursive calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107147",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89394",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24227",
+ "https://support.f5.com/csp/article/K02884135"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9073",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: excessive memory allocation in function _bfd_elf_slurp_version_tables in elf.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an attempted excessive memory allocation in _bfd_elf_slurp_version_tables in elf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24233",
+ "https://support.f5.com/csp/article/K37121474"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9074",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: out-of-bound read in function bfd_getl32 in libbfd.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is an out-of-bounds read leading to a SEGV in bfd_getl32 in libbfd.c, when called from pex64_get_runtime_function in pei-x86_64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24235",
+ "https://support.f5.com/csp/article/K09092524"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9075",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function _bfd_archive_64_bit_slurp_armap in archive64.c",
+ "Description": "An issue was discovered in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.32. It is a heap-based buffer overflow in _bfd_archive_64_bit_slurp_armap in archive64.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24236",
+ "https://support.f5.com/csp/article/K42059040"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9077",
+ "PkgName": "libbinutils",
+ "InstalledVersion": "2.31.1-16",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "binutils: heap-based buffer overflow in function process_mips_specific in readelf.c",
+ "Description": "An issue was discovered in GNU Binutils 2.32. It is a heap-based buffer overflow in process_mips_specific in readelf.c via a malformed MIPS option section.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107139",
+ "https://security.netapp.com/advisory/ntap-20190314-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24243",
+ "https://support.f5.com/csp/article/K00056379"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20367",
+ "PkgName": "libbsd0",
+ "InstalledVersion": "0.9.1-2",
+ "Layer": {
+ "Digest": "sha256:dcf4d822b25e881858974ef05d5237438ea75e79629228030993e01d8685cf3a",
+ "DiffID": "sha256:aabbe8e7814eee19746f5888f3909b5bf6961801bede1448d41519cd1344b78a"
+ },
+ "Description": "nlist.c in libbsd before 0.10.0 has an out-of-bounds read during a comparison for a symbol name from the string table (strtab).",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gitlab.freedesktop.org/libbsd/libbsd/commit/9d917aad37778a9f4a96ba358415f077f3f36f3b",
+ "https://lists.freedesktop.org/archives/libbsd/2019-August/000229.html",
+ "https://usn.ubuntu.com/4243-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010022",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: stack guard protection bypass",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass stack guard protection. The component is: nptl. The attack vector is: Exploit stack buffer overflow vulnerability and use this bypass vulnerability to bypass stack guard.",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22850"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1752",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: use-after-free in glob() function when expanding ~user",
+ "Description": "A use-after-free vulnerability was found in glibc in the way the tilde expansion was carried out. Directory paths containing an initial tilde followed by a valid username were affected by this issue. A local attacker could exploit this flaw by creating a specially crafted path that, when processed by the glob function, would potentially lead to arbitrary code execution.",
+ "Severity": "HIGH"
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4051",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "The regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (application crash) via a regular expression containing adjacent bounded repetitions that bypass the intended RE_DUP_MAX limitation, as demonstrated by a {10,}{10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD, related to a \"RE_DUP_MAX overflow.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4052",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "CVE-2010-4051 CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "Stack consumption vulnerability in the regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (resource exhaustion) via a regular expression containing adjacent repetition operators, as demonstrated by a {10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4756",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: glob implementation can cause excessive CPU and memory consumption due to crafted glob expressions",
+ "Description": "The glob implementation in the GNU C Library (aka glibc or libc6) allows remote authenticated users to cause a denial of service (CPU and memory consumption) via crafted glob expressions that do not match any pathnames, as demonstrated by glob expressions in STAT commands to an FTP daemon, a different vulnerability than CVE-2010-2632.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/glob-0day.c",
+ "http://securityreason.com/achievement_securityalert/89",
+ "http://securityreason.com/exploitalert/9223"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-10228",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: iconv program can hang when invoked with the -c option",
+ "Description": "The iconv program in the GNU C Library (aka glibc or libc6) 2.25 and earlier, when invoked with the -c option, enters an infinite loop when processing invalid multi-byte input sequences, leading to a denial of service.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://openwall.com/lists/oss-security/2017/03/01/10",
+ "http://www.securityfocus.com/bid/96525",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=19519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20796",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(\\227|)(\\\\1\\\\1|t1|\\\\\\2537)+' in grep.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107160",
+ "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34141",
+ "https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00108.html",
+ "https://security.netapp.com/advisory/ntap-20190315-0002/",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010023",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: running ldd on malicious ELF leads to code execution because of wrong size computation",
+ "Description": "GNU Libc current is affected by: Re-mapping current loaded libray with malicious ELF file. The impact is: In worst case attacker may evaluate privileges. The component is: libld. The attack vector is: Attacker sends 2 ELF files to victim and asks to run ldd on it. ldd execute code.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109167",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22851",
+ "https://support.f5.com/csp/article/K11932200?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010024",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: ASLR bypass using cache of thread stack and heap",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass ASLR using cache of thread stack and heap. The component is: glibc.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109162",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22852",
+ "https://support.f5.com/csp/article/K06046097"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010025",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: information disclosure of heap addresses of pthread_created thread",
+ "Description": "** DISPUTED ** GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may guess the heap addresses of pthread_created thread. The component is: glibc. NOTE: the vendor's position is \"ASLR bypass itself is not a vulnerability.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22853"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9192",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "** DISPUTED ** In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(|)(\\\\1\\\\1)*' in grep, a different issue than CVE-2018-20796. NOTE: the software maintainer disputes that this is a vulnerability because the behavior occurs only with a crafted pattern.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24269",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1751",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: array overflow in backtrace functions for powerpc",
+ "Description": "An out-of-bounds write vulnerability was found in glibc before 2.31 when handling signal trampolines on PowerPC. Specifically, the backtrace function did not properly check the array bounds when storing the frame address, resulting in a denial of service or potential code execution. The highest threat from this vulnerability is to system availability.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1751",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25423"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-6096",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: signed comparison vulnerability in the ARMv7 memcpy function",
+ "Description": "An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/attachment.cgi?id=12334",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25620"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19126",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: LD_PREFER_MAP_32BIT_EXEC not ignored in setuid binaries",
+ "Description": "On the x86-64 architecture, the GNU C Library (aka glibc) before 2.31 fails to ignore the LD_PREFER_MAP_32BIT_EXEC environment variable during program execution after a security transition, allowing local attackers to restrict the possible mapping addresses for loaded libraries and thus bypass ASLR for a setuid program.",
+ "Severity": "LOW",
+ "References": [
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZFJ5E7NWOL6ROE5QVICHKIOUGCPFJVUH/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25204"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10029",
+ "PkgName": "libc-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: stack corruption from crafted input in cosl, sinl, sincosl, and tanl functions",
+ "Description": "The GNU C Library (aka glibc or libc6) before 2.32 could overflow an on-stack buffer during range reduction if an input to an 80-bit long double function contains a non-canonical bit pattern, a seen when passing a 0x5d414141414141410000 value to sinl on x86 targets. This is related to sysdeps/ieee754/ldbl-96/e_rem_pio2l.c.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00033.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/23N76M3EDP2GIW4GOIQRYTKRE7PPBRB2/",
+ "https://security.netapp.com/advisory/ntap-20200327-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25487",
+ "https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=9333498794cde1d5cca518badf79533a24114b6f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010022",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: stack guard protection bypass",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass stack guard protection. The component is: nptl. The attack vector is: Exploit stack buffer overflow vulnerability and use this bypass vulnerability to bypass stack guard.",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22850"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1752",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: use-after-free in glob() function when expanding ~user",
+ "Description": "A use-after-free vulnerability was found in glibc in the way the tilde expansion was carried out. Directory paths containing an initial tilde followed by a valid username were affected by this issue. A local attacker could exploit this flaw by creating a specially crafted path that, when processed by the glob function, would potentially lead to arbitrary code execution.",
+ "Severity": "HIGH"
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4051",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "The regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (application crash) via a regular expression containing adjacent bounded repetitions that bypass the intended RE_DUP_MAX limitation, as demonstrated by a {10,}{10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD, related to a \"RE_DUP_MAX overflow.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4052",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "CVE-2010-4051 CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "Stack consumption vulnerability in the regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (resource exhaustion) via a regular expression containing adjacent repetition operators, as demonstrated by a {10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4756",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: glob implementation can cause excessive CPU and memory consumption due to crafted glob expressions",
+ "Description": "The glob implementation in the GNU C Library (aka glibc or libc6) allows remote authenticated users to cause a denial of service (CPU and memory consumption) via crafted glob expressions that do not match any pathnames, as demonstrated by glob expressions in STAT commands to an FTP daemon, a different vulnerability than CVE-2010-2632.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/glob-0day.c",
+ "http://securityreason.com/achievement_securityalert/89",
+ "http://securityreason.com/exploitalert/9223"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-10228",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: iconv program can hang when invoked with the -c option",
+ "Description": "The iconv program in the GNU C Library (aka glibc or libc6) 2.25 and earlier, when invoked with the -c option, enters an infinite loop when processing invalid multi-byte input sequences, leading to a denial of service.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://openwall.com/lists/oss-security/2017/03/01/10",
+ "http://www.securityfocus.com/bid/96525",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=19519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20796",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(\\227|)(\\\\1\\\\1|t1|\\\\\\2537)+' in grep.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107160",
+ "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34141",
+ "https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00108.html",
+ "https://security.netapp.com/advisory/ntap-20190315-0002/",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010023",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: running ldd on malicious ELF leads to code execution because of wrong size computation",
+ "Description": "GNU Libc current is affected by: Re-mapping current loaded libray with malicious ELF file. The impact is: In worst case attacker may evaluate privileges. The component is: libld. The attack vector is: Attacker sends 2 ELF files to victim and asks to run ldd on it. ldd execute code.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109167",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22851",
+ "https://support.f5.com/csp/article/K11932200?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010024",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: ASLR bypass using cache of thread stack and heap",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass ASLR using cache of thread stack and heap. The component is: glibc.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109162",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22852",
+ "https://support.f5.com/csp/article/K06046097"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010025",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: information disclosure of heap addresses of pthread_created thread",
+ "Description": "** DISPUTED ** GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may guess the heap addresses of pthread_created thread. The component is: glibc. NOTE: the vendor's position is \"ASLR bypass itself is not a vulnerability.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22853"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9192",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "** DISPUTED ** In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(|)(\\\\1\\\\1)*' in grep, a different issue than CVE-2018-20796. NOTE: the software maintainer disputes that this is a vulnerability because the behavior occurs only with a crafted pattern.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24269",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1751",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: array overflow in backtrace functions for powerpc",
+ "Description": "An out-of-bounds write vulnerability was found in glibc before 2.31 when handling signal trampolines on PowerPC. Specifically, the backtrace function did not properly check the array bounds when storing the frame address, resulting in a denial of service or potential code execution. The highest threat from this vulnerability is to system availability.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1751",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25423"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-6096",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: signed comparison vulnerability in the ARMv7 memcpy function",
+ "Description": "An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/attachment.cgi?id=12334",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25620"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19126",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: LD_PREFER_MAP_32BIT_EXEC not ignored in setuid binaries",
+ "Description": "On the x86-64 architecture, the GNU C Library (aka glibc) before 2.31 fails to ignore the LD_PREFER_MAP_32BIT_EXEC environment variable during program execution after a security transition, allowing local attackers to restrict the possible mapping addresses for loaded libraries and thus bypass ASLR for a setuid program.",
+ "Severity": "LOW",
+ "References": [
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZFJ5E7NWOL6ROE5QVICHKIOUGCPFJVUH/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25204"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10029",
+ "PkgName": "libc-dev-bin",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: stack corruption from crafted input in cosl, sinl, sincosl, and tanl functions",
+ "Description": "The GNU C Library (aka glibc or libc6) before 2.32 could overflow an on-stack buffer during range reduction if an input to an 80-bit long double function contains a non-canonical bit pattern, a seen when passing a 0x5d414141414141410000 value to sinl on x86 targets. This is related to sysdeps/ieee754/ldbl-96/e_rem_pio2l.c.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00033.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/23N76M3EDP2GIW4GOIQRYTKRE7PPBRB2/",
+ "https://security.netapp.com/advisory/ntap-20200327-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25487",
+ "https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=9333498794cde1d5cca518badf79533a24114b6f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010022",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: stack guard protection bypass",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass stack guard protection. The component is: nptl. The attack vector is: Exploit stack buffer overflow vulnerability and use this bypass vulnerability to bypass stack guard.",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22850"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1752",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: use-after-free in glob() function when expanding ~user",
+ "Description": "A use-after-free vulnerability was found in glibc in the way the tilde expansion was carried out. Directory paths containing an initial tilde followed by a valid username were affected by this issue. A local attacker could exploit this flaw by creating a specially crafted path that, when processed by the glob function, would potentially lead to arbitrary code execution.",
+ "Severity": "HIGH"
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4051",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "The regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (application crash) via a regular expression containing adjacent bounded repetitions that bypass the intended RE_DUP_MAX limitation, as demonstrated by a {10,}{10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD, related to a \"RE_DUP_MAX overflow.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4052",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "CVE-2010-4051 CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "Stack consumption vulnerability in the regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (resource exhaustion) via a regular expression containing adjacent repetition operators, as demonstrated by a {10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4756",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: glob implementation can cause excessive CPU and memory consumption due to crafted glob expressions",
+ "Description": "The glob implementation in the GNU C Library (aka glibc or libc6) allows remote authenticated users to cause a denial of service (CPU and memory consumption) via crafted glob expressions that do not match any pathnames, as demonstrated by glob expressions in STAT commands to an FTP daemon, a different vulnerability than CVE-2010-2632.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/glob-0day.c",
+ "http://securityreason.com/achievement_securityalert/89",
+ "http://securityreason.com/exploitalert/9223"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-10228",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: iconv program can hang when invoked with the -c option",
+ "Description": "The iconv program in the GNU C Library (aka glibc or libc6) 2.25 and earlier, when invoked with the -c option, enters an infinite loop when processing invalid multi-byte input sequences, leading to a denial of service.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://openwall.com/lists/oss-security/2017/03/01/10",
+ "http://www.securityfocus.com/bid/96525",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=19519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20796",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(\\227|)(\\\\1\\\\1|t1|\\\\\\2537)+' in grep.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107160",
+ "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34141",
+ "https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00108.html",
+ "https://security.netapp.com/advisory/ntap-20190315-0002/",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010023",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: running ldd on malicious ELF leads to code execution because of wrong size computation",
+ "Description": "GNU Libc current is affected by: Re-mapping current loaded libray with malicious ELF file. The impact is: In worst case attacker may evaluate privileges. The component is: libld. The attack vector is: Attacker sends 2 ELF files to victim and asks to run ldd on it. ldd execute code.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109167",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22851",
+ "https://support.f5.com/csp/article/K11932200?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010024",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: ASLR bypass using cache of thread stack and heap",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass ASLR using cache of thread stack and heap. The component is: glibc.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109162",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22852",
+ "https://support.f5.com/csp/article/K06046097"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010025",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: information disclosure of heap addresses of pthread_created thread",
+ "Description": "** DISPUTED ** GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may guess the heap addresses of pthread_created thread. The component is: glibc. NOTE: the vendor's position is \"ASLR bypass itself is not a vulnerability.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22853"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9192",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "** DISPUTED ** In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(|)(\\\\1\\\\1)*' in grep, a different issue than CVE-2018-20796. NOTE: the software maintainer disputes that this is a vulnerability because the behavior occurs only with a crafted pattern.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24269",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1751",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: array overflow in backtrace functions for powerpc",
+ "Description": "An out-of-bounds write vulnerability was found in glibc before 2.31 when handling signal trampolines on PowerPC. Specifically, the backtrace function did not properly check the array bounds when storing the frame address, resulting in a denial of service or potential code execution. The highest threat from this vulnerability is to system availability.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1751",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25423"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-6096",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: signed comparison vulnerability in the ARMv7 memcpy function",
+ "Description": "An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/attachment.cgi?id=12334",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25620"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19126",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: LD_PREFER_MAP_32BIT_EXEC not ignored in setuid binaries",
+ "Description": "On the x86-64 architecture, the GNU C Library (aka glibc) before 2.31 fails to ignore the LD_PREFER_MAP_32BIT_EXEC environment variable during program execution after a security transition, allowing local attackers to restrict the possible mapping addresses for loaded libraries and thus bypass ASLR for a setuid program.",
+ "Severity": "LOW",
+ "References": [
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZFJ5E7NWOL6ROE5QVICHKIOUGCPFJVUH/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25204"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10029",
+ "PkgName": "libc6",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "glibc: stack corruption from crafted input in cosl, sinl, sincosl, and tanl functions",
+ "Description": "The GNU C Library (aka glibc or libc6) before 2.32 could overflow an on-stack buffer during range reduction if an input to an 80-bit long double function contains a non-canonical bit pattern, a seen when passing a 0x5d414141414141410000 value to sinl on x86 targets. This is related to sysdeps/ieee754/ldbl-96/e_rem_pio2l.c.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00033.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/23N76M3EDP2GIW4GOIQRYTKRE7PPBRB2/",
+ "https://security.netapp.com/advisory/ntap-20200327-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25487",
+ "https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=9333498794cde1d5cca518badf79533a24114b6f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010022",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: stack guard protection bypass",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass stack guard protection. The component is: nptl. The attack vector is: Exploit stack buffer overflow vulnerability and use this bypass vulnerability to bypass stack guard.",
+ "Severity": "HIGH",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22850"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1752",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: use-after-free in glob() function when expanding ~user",
+ "Description": "A use-after-free vulnerability was found in glibc in the way the tilde expansion was carried out. Directory paths containing an initial tilde followed by a valid username were affected by this issue. A local attacker could exploit this flaw by creating a specially crafted path that, when processed by the glob function, would potentially lead to arbitrary code execution.",
+ "Severity": "HIGH"
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4051",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "The regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (application crash) via a regular expression containing adjacent bounded repetitions that bypass the intended RE_DUP_MAX limitation, as demonstrated by a {10,}{10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD, related to a \"RE_DUP_MAX overflow.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4052",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "CVE-2010-4051 CVE-2010-4052 glibc: De-recursivise regular expression engine",
+ "Description": "Stack consumption vulnerability in the regcomp implementation in the GNU C Library (aka glibc or libc6) through 2.11.3, and 2.12.x through 2.12.2, allows context-dependent attackers to cause a denial of service (resource exhaustion) via a regular expression containing adjacent repetition operators, as demonstrated by a {10,}{10,}{10,}{10,} sequence in the proftpd.gnu.c exploit for ProFTPD.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/proftpd.gnu.c",
+ "http://seclists.org/fulldisclosure/2011/Jan/78",
+ "http://secunia.com/advisories/42547",
+ "http://securityreason.com/achievement_securityalert/93",
+ "http://securityreason.com/securityalert/8003",
+ "http://securitytracker.com/id?1024832",
+ "http://www.exploit-db.com/exploits/15935",
+ "http://www.kb.cert.org/vuls/id/912279",
+ "http://www.securityfocus.com/archive/1/515589/100/0/threaded",
+ "http://www.securityfocus.com/bid/45233",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=645859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4756",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: glob implementation can cause excessive CPU and memory consumption due to crafted glob expressions",
+ "Description": "The glob implementation in the GNU C Library (aka glibc or libc6) allows remote authenticated users to cause a denial of service (CPU and memory consumption) via crafted glob expressions that do not match any pathnames, as demonstrated by glob expressions in STAT commands to an FTP daemon, a different vulnerability than CVE-2010-2632.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://cxib.net/stuff/glob-0day.c",
+ "http://securityreason.com/achievement_securityalert/89",
+ "http://securityreason.com/exploitalert/9223"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-10228",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: iconv program can hang when invoked with the -c option",
+ "Description": "The iconv program in the GNU C Library (aka glibc or libc6) 2.25 and earlier, when invoked with the -c option, enters an infinite loop when processing invalid multi-byte input sequences, leading to a denial of service.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://openwall.com/lists/oss-security/2017/03/01/10",
+ "http://www.securityfocus.com/bid/96525",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=19519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20796",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(\\227|)(\\\\1\\\\1|t1|\\\\\\2537)+' in grep.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107160",
+ "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34141",
+ "https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00108.html",
+ "https://security.netapp.com/advisory/ntap-20190315-0002/",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010023",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: running ldd on malicious ELF leads to code execution because of wrong size computation",
+ "Description": "GNU Libc current is affected by: Re-mapping current loaded libray with malicious ELF file. The impact is: In worst case attacker may evaluate privileges. The component is: libld. The attack vector is: Attacker sends 2 ELF files to victim and asks to run ldd on it. ldd execute code.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109167",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22851",
+ "https://support.f5.com/csp/article/K11932200?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010024",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: ASLR bypass using cache of thread stack and heap",
+ "Description": "GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may bypass ASLR using cache of thread stack and heap. The component is: glibc.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/109162",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22852",
+ "https://support.f5.com/csp/article/K06046097"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1010025",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: information disclosure of heap addresses of pthread_created thread",
+ "Description": "** DISPUTED ** GNU Libc current is affected by: Mitigation bypass. The impact is: Attacker may guess the heap addresses of pthread_created thread. The component is: glibc. NOTE: the vendor's position is \"ASLR bypass itself is not a vulnerability.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=22853"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9192",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: uncontrolled recursion in function check_dst_limits_calc_pos_1 in posix/regexec.c",
+ "Description": "** DISPUTED ** In the GNU C Library (aka glibc or libc6) through 2.29, check_dst_limits_calc_pos_1 in posix/regexec.c has Uncontrolled Recursion, as demonstrated by '(|)(\\\\1\\\\1)*' in grep, a different issue than CVE-2018-20796. NOTE: the software maintainer disputes that this is a vulnerability because the behavior occurs only with a crafted pattern.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=24269",
+ "https://support.f5.com/csp/article/K26346590?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1751",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: array overflow in backtrace functions for powerpc",
+ "Description": "An out-of-bounds write vulnerability was found in glibc before 2.31 when handling signal trampolines on PowerPC. Specifically, the backtrace function did not properly check the array bounds when storing the frame address, resulting in a denial of service or potential code execution. The highest threat from this vulnerability is to system availability.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1751",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25423"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-6096",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: signed comparison vulnerability in the ARMv7 memcpy function",
+ "Description": "An exploitable signed comparison vulnerability exists in the ARMv7 memcpy() implementation of GNU glibc 2.30.9000. Calling memcpy() (on ARMv7 targets that utilize the GNU glibc implementation) with a negative value for the 'num' parameter results in a signed comparison vulnerability. If an attacker underflows the 'num' parameter to memcpy(), this vulnerability could lead to undefined behavior such as writing to out-of-bounds memory and potentially remote code execution. Furthermore, this memcpy() implementation allows for program execution to continue in scenarios where a segmentation fault or crash should have occurred. The dangers occur in that subsequent execution and iterations of this code will be executed with this corrupted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://sourceware.org/bugzilla/attachment.cgi?id=12334",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25620"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19126",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: LD_PREFER_MAP_32BIT_EXEC not ignored in setuid binaries",
+ "Description": "On the x86-64 architecture, the GNU C Library (aka glibc) before 2.31 fails to ignore the LD_PREFER_MAP_32BIT_EXEC environment variable during program execution after a security transition, allowing local attackers to restrict the possible mapping addresses for loaded libraries and thus bypass ASLR for a setuid program.",
+ "Severity": "LOW",
+ "References": [
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZFJ5E7NWOL6ROE5QVICHKIOUGCPFJVUH/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25204"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10029",
+ "PkgName": "libc6-dev",
+ "InstalledVersion": "2.28-10",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glibc: stack corruption from crafted input in cosl, sinl, sincosl, and tanl functions",
+ "Description": "The GNU C Library (aka glibc or libc6) before 2.32 could overflow an on-stack buffer during range reduction if an input to an 80-bit long double function contains a non-canonical bit pattern, a seen when passing a 0x5d414141414141410000 value to sinl on x86 targets. This is related to sysdeps/ieee754/ldbl-96/e_rem_pio2l.c.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00033.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/23N76M3EDP2GIW4GOIQRYTKRE7PPBRB2/",
+ "https://security.netapp.com/advisory/ntap-20200327-0003/",
+ "https://sourceware.org/bugzilla/show_bug.cgi?id=25487",
+ "https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=9333498794cde1d5cca518badf79533a24114b6f"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7475",
+ "PkgName": "libcairo-gobject2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: NULL pointer dereference with a crafted font file",
+ "Description": "Cairo version 1.15.4 is vulnerable to a NULL pointer dereference related to the FT_Load_Glyph and FT_Render_Glyph resulting in an application crash.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://seclists.org/oss-sec/2017/q2/151",
+ "https://bugs.freedesktop.org/show_bug.cgi?id=100763",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-7475"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-9814",
+ "PkgName": "libcairo-gobject2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: Out-of-bounds read due to mishandling of unexpected malloc(0) call",
+ "Description": "cairo-truetype-subset.c in cairo 1.15.6 and earlier allows remote attackers to cause a denial of service (out-of-bounds read) because of mishandling of an unexpected malloc(0) call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.freedesktop.org/show_bug.cgi?id=101547",
+ "https://security.gentoo.org/glsa/201904-01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18064",
+ "PkgName": "libcairo-gobject2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: Stack-based buffer overflow via parsing of crafted WebKitGTK+ document",
+ "Description": "cairo through 1.15.14 has an out-of-bounds stack-memory write during processing of a crafted document by WebKitGTK+ because of the interaction between cairo-rectangular-scan-converter.c (the generate and render_rows functions) and cairo-image-compositor.c (the _cairo_image_spans_and_zero function).",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gitlab.freedesktop.org/cairo/cairo/issues/341"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-6461",
+ "PkgName": "libcairo-gobject2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: assertion problem in _cairo_arc_in_direction in cairo-arc.c",
+ "Description": "An issue was discovered in cairo 1.16.0. There is an assertion problem in the function _cairo_arc_in_direction in the file cairo-arc.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/TeamSeri0us/pocs/tree/master/gerbv",
+ "https://gitlab.freedesktop.org/cairo/cairo/issues/352"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-6462",
+ "PkgName": "libcairo-gobject2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: infinite loop in the function _arc_error_normalized in the file cairo-arc.c",
+ "Description": "An issue was discovered in cairo 1.16.0. There is an infinite loop in the function _arc_error_normalized in the file cairo-arc.c, related to _arc_max_angle_for_tolerance_normalized.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/TeamSeri0us/pocs/tree/master/gerbv",
+ "https://gitlab.freedesktop.org/cairo/cairo/issues/353"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7475",
+ "PkgName": "libcairo2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: NULL pointer dereference with a crafted font file",
+ "Description": "Cairo version 1.15.4 is vulnerable to a NULL pointer dereference related to the FT_Load_Glyph and FT_Render_Glyph resulting in an application crash.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://seclists.org/oss-sec/2017/q2/151",
+ "https://bugs.freedesktop.org/show_bug.cgi?id=100763",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-7475"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-9814",
+ "PkgName": "libcairo2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: Out-of-bounds read due to mishandling of unexpected malloc(0) call",
+ "Description": "cairo-truetype-subset.c in cairo 1.15.6 and earlier allows remote attackers to cause a denial of service (out-of-bounds read) because of mishandling of an unexpected malloc(0) call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.freedesktop.org/show_bug.cgi?id=101547",
+ "https://security.gentoo.org/glsa/201904-01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-18064",
+ "PkgName": "libcairo2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: Stack-based buffer overflow via parsing of crafted WebKitGTK+ document",
+ "Description": "cairo through 1.15.14 has an out-of-bounds stack-memory write during processing of a crafted document by WebKitGTK+ because of the interaction between cairo-rectangular-scan-converter.c (the generate and render_rows functions) and cairo-image-compositor.c (the _cairo_image_spans_and_zero function).",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gitlab.freedesktop.org/cairo/cairo/issues/341"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-6461",
+ "PkgName": "libcairo2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: assertion problem in _cairo_arc_in_direction in cairo-arc.c",
+ "Description": "An issue was discovered in cairo 1.16.0. There is an assertion problem in the function _cairo_arc_in_direction in the file cairo-arc.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/TeamSeri0us/pocs/tree/master/gerbv",
+ "https://gitlab.freedesktop.org/cairo/cairo/issues/352"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-6462",
+ "PkgName": "libcairo2",
+ "InstalledVersion": "1.16.0-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cairo: infinite loop in the function _arc_error_normalized in the file cairo-arc.c",
+ "Description": "An issue was discovered in cairo 1.16.0. There is an infinite loop in the function _arc_error_normalized in the file cairo-arc.c, related to _arc_max_angle_for_tolerance_normalized.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/TeamSeri0us/pocs/tree/master/gerbv",
+ "https://gitlab.freedesktop.org/cairo/cairo/issues/353"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libcc1-0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libcc1-0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-8871",
+ "PkgName": "libcroco3",
+ "InstalledVersion": "0.6.12-3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libcroco: Infinite loop in the cr_parser_parse_selector_core function",
+ "Description": "The cr_parser_parse_selector_core function in cr-parser.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (infinite loop and CPU consumption) via a crafted CSS file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00043.html",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=782649",
+ "https://www.exploit-db.com/exploits/42147/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-8834",
+ "PkgName": "libcroco3",
+ "InstalledVersion": "0.6.12-3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libcroco: Memory allocation failure in the cr_tknzr_parse_comment function",
+ "Description": "The cr_tknzr_parse_comment function in cr-tknzr.c in libcroco 0.6.12 allows remote attackers to cause a denial of service (memory allocation error) via a crafted CSS file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00043.html",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=782647",
+ "https://www.exploit-db.com/exploits/42147/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2014-8166",
+ "PkgName": "libcups2",
+ "InstalledVersion": "2.2.10-6+deb10u2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cups: code execution via unescape ANSI escape sequences",
+ "Description": "The browsing feature in the server in CUPS does not filter ANSI escape sequences from shared printer names, which might allow remote attackers to execute arbitrary code via a crafted printer name.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2015/03/24/15",
+ "http://www.openwall.com/lists/oss-security/2015/03/24/2",
+ "http://www.securityfocus.com/bid/73300",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1084577"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-3898",
+ "PkgName": "libcups2",
+ "InstalledVersion": "2.2.10-6+deb10u2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "cups: heap based buffer overflow in libcups's ppdFindOption() in ppd-mark.c",
+ "Description": "No description is available for this CVE.",
+ "Severity": "MEDIUM"
+ },
+ {
+ "VulnerabilityID": "CVE-2019-8842",
+ "PkgName": "libcups2",
+ "InstalledVersion": "2.2.10-6+deb10u2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Severity": "UNKNOWN"
+ },
+ {
+ "VulnerabilityID": "CVE-2013-0340",
+ "PkgName": "libexpat1",
+ "InstalledVersion": "2.2.6-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "expat: internal entity expansion",
+ "Description": "expat 2.1.0 and earlier does not properly handle entities expansion unless an application developer uses the XML_SetEntityDeclHandler function, which allows remote attackers to cause a denial of service (resource consumption), send HTTP requests to intranet servers, or read arbitrary files via a crafted XML document, aka an XML External Entity (XXE) issue. NOTE: it could be argued that because expat already provides the ability to disable external entity expansion, the responsibility for resolving this issue lies with application developers; according to this argument, this entry should be REJECTed, and each affected application would need its own CVE.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://openwall.com/lists/oss-security/2013/02/22/3",
+ "http://securitytracker.com/id?1028213",
+ "http://www.openwall.com/lists/oss-security/2013/04/12/6",
+ "http://www.osvdb.org/90634",
+ "http://www.securityfocus.com/bid/58233",
+ "https://security.gentoo.org/glsa/201701-21"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libgcc-8-dev",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libgcc-8-dev",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libgcc1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libgcc1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-6829",
+ "PkgName": "libgcrypt20",
+ "InstalledVersion": "1.8.4-5",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "libgcrypt: ElGamal implementation doesn't have semantic security due to incorrectly encoded plaintexts possibly allowing to obtain sensitive information",
+ "Description": "cipher/elgamal.c in Libgcrypt through 1.8.2, when used to encrypt messages directly, improperly encodes plaintexts, which allows attackers to obtain sensitive information by reading ciphertext data (i.e., it does not have semantic security in face of a ciphertext-only attack). The Decisional Diffie-Hellman (DDH) assumption does not hold for Libgcrypt's ElGamal implementation.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/weikengchen/attack-on-libgcrypt-elgamal",
+ "https://github.com/weikengchen/attack-on-libgcrypt-elgamal/wiki",
+ "https://lists.gnupg.org/pipermail/gcrypt-devel/2018-February/004394.html",
+ "https://www.oracle.com/security-alerts/cpujan2020.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12904",
+ "PkgName": "libgcrypt20",
+ "InstalledVersion": "1.8.4-5",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "Libgcrypt: physical addresses being available to other processes leads to a flush-and-reload side-channel attack",
+ "Description": "In Libgcrypt 1.8.4, the C implementation of AES is vulnerable to a flush-and-reload side-channel attack because physical addresses are available to other processes. (The C implementation is used on platforms where an assembly-language implementation is unavailable.)",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00049.html",
+ "https://dev.gnupg.org/T4541",
+ "https://github.com/gpg/libgcrypt/commit/a4c561aab1014c3630bc88faf6f5246fee16b020",
+ "https://github.com/gpg/libgcrypt/commit/daedbbb5541cd8ecda1459d3b843ea4d92788762",
+ "https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-12904.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13627",
+ "PkgName": "libgcrypt20",
+ "InstalledVersion": "1.8.4-5",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "libgcrypt: ECDSA timing attack in the libgcrypt20 cryptographic library",
+ "Description": "It was discovered that there was a ECDSA timing attack in the libgcrypt20 cryptographic library. Version affected: 1.8.4-5, 1.7.6-2+deb9u3, and 1.6.3-2+deb8u4. Versions fixed: 1.8.5-2 and 1.6.3-2+deb8u7.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00060.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00018.html",
+ "http://www.openwall.com/lists/oss-security/2019/10/02/2",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13627",
+ "https://dev.gnupg.org/T4683",
+ "https://github.com/gpg/libgcrypt/releases/tag/libgcrypt-1.8.5",
+ "https://lists.debian.org/debian-lts-announce/2019/09/msg00024.html",
+ "https://lists.debian.org/debian-lts-announce/2020/01/msg00001.html",
+ "https://minerva.crocs.fi.muni.cz/",
+ "https://security-tracker.debian.org/tracker/CVE-2019-13627",
+ "https://security.gentoo.org/glsa/202003-32",
+ "https://usn.ubuntu.com/4236-1/",
+ "https://usn.ubuntu.com/4236-2/",
+ "https://usn.ubuntu.com/4236-3/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2012-0039",
+ "PkgName": "libglib2.0-0",
+ "InstalledVersion": "2.58.3-2+deb10u2",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "glib2: hash table collisions CPU usage DoS",
+ "Description": "** DISPUTED ** GLib 2.31.8 and earlier, when the g_str_hash function is used, computes hash values without restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table. NOTE: this issue may be disputed by the vendor; the existence of the g_str_hash function is not a vulnerability in the library, because callers of g_hash_table_new and g_hash_table_new_full can specify an arbitrary hash function that is appropriate for the application.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=655044",
+ "http://mail.gnome.org/archives/gtk-devel-list/2003-May/msg00111.html",
+ "http://openwall.com/lists/oss-security/2012/01/10/12",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=772720"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-3389",
+ "PkgName": "libgnutls30",
+ "InstalledVersion": "3.6.7-4+deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)",
+ "Description": "The SSL protocol, as used in certain configurations in Microsoft Windows and Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Opera, and other products, encrypts data by using CBC mode with chained initialization vectors, which allows man-in-the-middle attackers to obtain plaintext HTTP headers via a blockwise chosen-boundary attack (BCBA) on an HTTPS session, in conjunction with JavaScript code that uses (1) the HTML5 WebSocket API, (2) the Java URLConnection API, or (3) the Silverlight WebClient API, aka a \"BEAST\" attack.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://blog.mozilla.com/security/2011/09/27/attack-against-tls-protected-communications/",
+ "http://blogs.technet.com/b/msrc/archive/2011/09/26/microsoft-releases-security-advisory-2588513.aspx",
+ "http://blogs.technet.com/b/srd/archive/2011/09/26/is-ssl-broken-more-about-security-advisory-2588513.aspx",
+ "http://curl.haxx.se/docs/adv_20120124B.html",
+ "http://downloads.asterisk.org/pub/security/AST-2016-001.html",
+ "http://ekoparty.org/2011/juliano-rizzo.php",
+ "http://eprint.iacr.org/2004/111",
+ "http://eprint.iacr.org/2006/136",
+ "http://googlechromereleases.blogspot.com/2011/10/chrome-stable-release.html",
+ "http://isc.sans.edu/diary/SSL+TLS+part+3+/11635",
+ "http://linux.oracle.com/cve/CVE-2011-3389.html",
+ "http://linux.oracle.com/errata/ELSA-2011-1380.html",
+ "http://lists.apple.com/archives/Security-announce/2011//Oct/msg00001.html",
+ "http://lists.apple.com/archives/Security-announce/2011//Oct/msg00002.html",
+ "http://lists.apple.com/archives/security-announce/2012/Feb/msg00000.html",
+ "http://lists.apple.com/archives/security-announce/2012/Jul/msg00001.html",
+ "http://lists.apple.com/archives/security-announce/2012/May/msg00001.html",
+ "http://lists.apple.com/archives/security-announce/2012/Sep/msg00004.html",
+ "http://lists.apple.com/archives/security-announce/2013/Oct/msg00004.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2012-01/msg00049.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2012-01/msg00051.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2012-05/msg00009.html",
+ "http://marc.info/?l=bugtraq\u0026m=132750579901589\u0026w=2",
+ "http://marc.info/?l=bugtraq\u0026m=132872385320240\u0026w=2",
+ "http://marc.info/?l=bugtraq\u0026m=133365109612558\u0026w=2",
+ "http://marc.info/?l=bugtraq\u0026m=133728004526190\u0026w=2",
+ "http://marc.info/?l=bugtraq\u0026m=134254866602253\u0026w=2",
+ "http://marc.info/?l=bugtraq\u0026m=134254957702612\u0026w=2",
+ "http://my.opera.com/securitygroup/blog/2011/09/28/the-beast-ssl-tls-issue",
+ "http://osvdb.org/74829",
+ "http://rhn.redhat.com/errata/RHSA-2012-0508.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-1455.html",
+ "http://secunia.com/advisories/45791",
+ "http://secunia.com/advisories/47998",
+ "http://secunia.com/advisories/48256",
+ "http://secunia.com/advisories/48692",
+ "http://secunia.com/advisories/48915",
+ "http://secunia.com/advisories/48948",
+ "http://secunia.com/advisories/49198",
+ "http://secunia.com/advisories/55322",
+ "http://secunia.com/advisories/55350",
+ "http://secunia.com/advisories/55351",
+ "http://security.gentoo.org/glsa/glsa-201203-02.xml",
+ "http://security.gentoo.org/glsa/glsa-201406-32.xml",
+ "http://support.apple.com/kb/HT4999",
+ "http://support.apple.com/kb/HT5001",
+ "http://support.apple.com/kb/HT5130",
+ "http://support.apple.com/kb/HT5281",
+ "http://support.apple.com/kb/HT5501",
+ "http://support.apple.com/kb/HT6150",
+ "http://technet.microsoft.com/security/advisory/2588513",
+ "http://vnhacker.blogspot.com/2011/09/beast.html",
+ "http://www.apcmedia.com/salestools/SJHN-7RKGNM/SJHN-7RKGNM_R4_EN.pdf",
+ "http://www.debian.org/security/2012/dsa-2398",
+ "http://www.educatedguesswork.org/2011/09/security_impact_of_the_rizzodu.html",
+ "http://www.ibm.com/developerworks/java/jdk/alerts/",
+ "http://www.imperialviolet.org/2011/09/23/chromeandbeast.html",
+ "http://www.insecure.cl/Beast-SSL.rar",
+ "http://www.kb.cert.org/vuls/id/864643",
+ "http://www.mandriva.com/security/advisories?name=MDVSA-2012:058",
+ "http://www.opera.com/docs/changelogs/mac/1151/",
+ "http://www.opera.com/docs/changelogs/mac/1160/",
+ "http://www.opera.com/docs/changelogs/unix/1151/",
+ "http://www.opera.com/docs/changelogs/unix/1160/",
+ "http://www.opera.com/docs/changelogs/windows/1151/",
+ "http://www.opera.com/docs/changelogs/windows/1160/",
+ "http://www.opera.com/support/kb/view/1004/",
+ "http://www.oracle.com/technetwork/topics/security/cpujan2015-1972971.html",
+ "http://www.oracle.com/technetwork/topics/security/cpujul2015-2367936.html",
+ "http://www.oracle.com/technetwork/topics/security/javacpuoct2011-443431.html",
+ "http://www.redhat.com/support/errata/RHSA-2011-1384.html",
+ "http://www.redhat.com/support/errata/RHSA-2012-0006.html",
+ "http://www.securityfocus.com/bid/49388",
+ "http://www.securityfocus.com/bid/49778",
+ "http://www.securitytracker.com/id/1029190",
+ "http://www.securitytracker.com/id?1025997",
+ "http://www.securitytracker.com/id?1026103",
+ "http://www.securitytracker.com/id?1026704",
+ "http://www.ubuntu.com/usn/USN-1263-1",
+ "http://www.us-cert.gov/cas/techalerts/TA12-010A.html",
+ "https://blogs.oracle.com/sunsecurity/entry/multiple_vulnerabilities_in_fetchmail",
+ "https://bugzilla.novell.com/show_bug.cgi?id=719047",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=737506",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3389",
+ "https://docs.microsoft.com/en-us/security-updates/securitybulletins/2012/ms12-006",
+ "https://h20564.www2.hp.com/portal/site/hpsc/public/kb/docDisplay?docId=emr_na-c03839862",
+ "https://hermes.opensuse.org/messages/13154861",
+ "https://hermes.opensuse.org/messages/13155432",
+ "https://ics-cert.us-cert.gov/advisories/ICSMA-18-058-02",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A14752"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libgomp1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libgomp1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-5709",
+ "PkgName": "libgssapi-krb5-2",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "krb5: integer overflow in dbentry-\u003en_key_data in kadmin/dbutil/dump.c",
+ "Description": "An issue was discovered in MIT Kerberos 5 (aka krb5) through 1.16. There is a variable \"dbentry-\u003en_key_data\" in kadmin/dbutil/dump.c that can store 16-bit data but unknowingly the developer has assigned a \"u4\" variable to it, which is for 32-bit data. An attacker can use this vulnerability to affect other artifacts of the database as we know that a Kerberos database dump file contains trusted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/poojamnit/Kerberos-V5-1.16-Vulnerabilities/tree/master/Integer%20Overflow"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2004-0971",
+ "PkgName": "libgssapi-krb5-2",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "security flaw",
+ "Description": "The krb5-send-pr script in the kerberos5 (krb5) package in Trustix Secure Linux 1.5 through 2.1, and possibly other operating systems, allows local users to overwrite files via a symlink attack on temporary files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136304",
+ "http://www.gentoo.org/security/en/glsa/glsa-200410-24.xml",
+ "http://www.redhat.com/support/errata/RHSA-2005-012.html",
+ "http://www.securityfocus.com/bid/11289",
+ "http://www.trustix.org/errata/2004/0050",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/17583",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A10497"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12290",
+ "PkgName": "libidn2-0",
+ "InstalledVersion": "2.0.5-1+deb10u1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Description": "GNU libidn2 before 2.2.0 fails to perform the roundtrip checks specified in RFC3490 Section 4.2 when converting A-labels to U-labels. This makes it possible in some circumstances for one domain to impersonate another. By creating a malicious domain that matches a target domain except for the inclusion of certain punycoded Unicode characters (that would be discarded when converted first to a Unicode label and then back to an ASCII label), arbitrary domains can be impersonated.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gitlab.com/libidn/libidn2/commit/241e8f486134793cb0f4a5b0e5817a97883401f5",
+ "https://gitlab.com/libidn/libidn2/commit/614117ef6e4c60e1950d742e3edf0a0ef8d389de",
+ "https://gitlab.com/libidn/libidn2/merge_requests/71",
+ "https://usn.ubuntu.com/4168-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2012-2663",
+ "PkgName": "libip4tc0",
+ "InstalledVersion": "1.8.2-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "iptables: --syn flag bypass",
+ "Description": "extensions/libxt_tcp.c in iptables through 1.4.21 does not match TCP SYN+FIN packets in --syn rules, which might allow remote attackers to bypass intended firewall restrictions via crafted packets. NOTE: the CVE-2012-6638 fix makes this issue less relevant.",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.spinics.net/lists/netfilter-devel/msg21248.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=826702"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11360",
+ "PkgName": "libip4tc0",
+ "InstalledVersion": "1.8.2-4",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "A buffer overflow in iptables-restore in netfilter iptables 1.8.2 allows an attacker to (at least) crash the program or potentially gain code execution via a specially crafted iptables-save file. This is related to add_param_to_argv in xshared.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://0day.work/cve-2019-11360-bufferoverflow-in-iptables-restore-v1-8-2/",
+ "https://git.netfilter.org/iptables/commit/iptables/xshared.c?id=2ae1099a42e6a0f06de305ca13a842ac83d4683e"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libitm1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libitm1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-9937",
+ "PkgName": "libjbig0",
+ "InstalledVersion": "2.1-3.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libtiff: memory malloc failure in tif_jbig.c could cause DOS.",
+ "Description": "In LibTIFF 4.0.8, there is a memory malloc failure in tif_jbig.c. A crafted TIFF document can lead to an abort resulting in a remote denial of service attack.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugzilla.maptools.org/show_bug.cgi?id=2707",
+ "http://www.securityfocus.com/bid/99304"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-2201",
+ "PkgName": "libjpeg62-turbo",
+ "InstalledVersion": "1:1.5.2-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libjpeg-turbo: several integer overflows and subsequent segfaults when attempting to compress/decompress gigapixel images",
+ "Description": "In generate_jsimd_ycc_rgb_convert_neon of jsimd_arm64_neon.S, there is a possible out of bounds write due to a missing bounds check. This could lead to remote code execution in an unprivileged process with no additional execution privileges needed. User interaction is needed for exploitation.Product: AndroidVersions: Android-8.0 Android-8.1 Android-9 Android-10Android ID: A-120551338",
+ "Severity": "CRITICAL",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00047.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00048.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/Y4QPASQPZO644STRFTLOD35RIRGWWRNI/",
+ "https://source.android.com/security/bulletin/2019-11-01",
+ "https://usn.ubuntu.com/4190-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-15232",
+ "PkgName": "libjpeg62-turbo",
+ "InstalledVersion": "1:1.5.2-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libjpeg-turbo: NULL pointer dereference in jdpostct.c and jquant1.c",
+ "Description": "libjpeg-turbo 1.5.2 has a NULL Pointer Dereference in jdpostct.c and jquant1.c via a crafted JPEG file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/libjpeg-turbo/libjpeg-turbo/pull/182",
+ "https://github.com/mozilla/mozjpeg/issues/268",
+ "https://usn.ubuntu.com/3706-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1152",
+ "PkgName": "libjpeg62-turbo",
+ "InstalledVersion": "1:1.5.2-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libjpeg-turbo: Divide by zero allows for denial of service via crafted BMP image",
+ "Description": "libjpeg-turbo 1.5.90 is vulnerable to a denial of service vulnerability caused by a divide by zero when processing a crafted BMP image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00015.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00015.html",
+ "http://www.securityfocus.com/bid/104543",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1152",
+ "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/43e84cff1bb2bd8293066f6ac4eb0df61ddddbc6",
+ "https://lists.debian.org/debian-lts-announce/2019/01/msg00015.html",
+ "https://usn.ubuntu.com/3706-1/",
+ "https://usn.ubuntu.com/3706-2/",
+ "https://www.tenable.com/security/research/tra-2018-17"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-14498",
+ "PkgName": "libjpeg62-turbo",
+ "InstalledVersion": "1:1.5.2-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libjpeg-turbo: heap-based buffer over-read via crafted 8-bit BMP in get_8bit_row in rdbmp.c leads to denial of service",
+ "Description": "get_8bit_row in rdbmp.c in libjpeg-turbo through 1.5.90 and MozJPEG through 3.3.1 allows attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted 8-bit BMP in which one or more of the color indices is out of range for the number of palette entries.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-14498.html",
+ "http://linux.oracle.com/errata/ELSA-2019-3705.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00015.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00015.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14498",
+ "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/9c78a04df4e44ef6487eee99c4258397f4fdca55",
+ "https://github.com/libjpeg-turbo/libjpeg-turbo/issues/258",
+ "https://github.com/mozilla/mozjpeg/issues/299",
+ "https://lists.debian.org/debian-lts-announce/2019/03/msg00021.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/F7YP4QUEYGHI4Q7GIAVFVKWQ7DJMBYLU/"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0772585-D41D8C",
+ "PkgName": "libjson-glib-1.0-0",
+ "InstalledVersion": "1.4.4-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "TEMP-0772585-D41D8C",
+ "PkgName": "libjson-glib-1.0-common",
+ "InstalledVersion": "1.4.4-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2018-5709",
+ "PkgName": "libk5crypto3",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "krb5: integer overflow in dbentry-\u003en_key_data in kadmin/dbutil/dump.c",
+ "Description": "An issue was discovered in MIT Kerberos 5 (aka krb5) through 1.16. There is a variable \"dbentry-\u003en_key_data\" in kadmin/dbutil/dump.c that can store 16-bit data but unknowingly the developer has assigned a \"u4\" variable to it, which is for 32-bit data. An attacker can use this vulnerability to affect other artifacts of the database as we know that a Kerberos database dump file contains trusted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/poojamnit/Kerberos-V5-1.16-Vulnerabilities/tree/master/Integer%20Overflow"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2004-0971",
+ "PkgName": "libk5crypto3",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "security flaw",
+ "Description": "The krb5-send-pr script in the kerberos5 (krb5) package in Trustix Secure Linux 1.5 through 2.1, and possibly other operating systems, allows local users to overwrite files via a symlink attack on temporary files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136304",
+ "http://www.gentoo.org/security/en/glsa/glsa-200410-24.xml",
+ "http://www.redhat.com/support/errata/RHSA-2005-012.html",
+ "http://www.securityfocus.com/bid/11289",
+ "http://www.trustix.org/errata/2004/0050",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/17583",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A10497"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-5709",
+ "PkgName": "libkrb5-3",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "krb5: integer overflow in dbentry-\u003en_key_data in kadmin/dbutil/dump.c",
+ "Description": "An issue was discovered in MIT Kerberos 5 (aka krb5) through 1.16. There is a variable \"dbentry-\u003en_key_data\" in kadmin/dbutil/dump.c that can store 16-bit data but unknowingly the developer has assigned a \"u4\" variable to it, which is for 32-bit data. An attacker can use this vulnerability to affect other artifacts of the database as we know that a Kerberos database dump file contains trusted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/poojamnit/Kerberos-V5-1.16-Vulnerabilities/tree/master/Integer%20Overflow"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2004-0971",
+ "PkgName": "libkrb5-3",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "security flaw",
+ "Description": "The krb5-send-pr script in the kerberos5 (krb5) package in Trustix Secure Linux 1.5 through 2.1, and possibly other operating systems, allows local users to overwrite files via a symlink attack on temporary files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136304",
+ "http://www.gentoo.org/security/en/glsa/glsa-200410-24.xml",
+ "http://www.redhat.com/support/errata/RHSA-2005-012.html",
+ "http://www.securityfocus.com/bid/11289",
+ "http://www.trustix.org/errata/2004/0050",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/17583",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A10497"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-5709",
+ "PkgName": "libkrb5support0",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "krb5: integer overflow in dbentry-\u003en_key_data in kadmin/dbutil/dump.c",
+ "Description": "An issue was discovered in MIT Kerberos 5 (aka krb5) through 1.16. There is a variable \"dbentry-\u003en_key_data\" in kadmin/dbutil/dump.c that can store 16-bit data but unknowingly the developer has assigned a \"u4\" variable to it, which is for 32-bit data. An attacker can use this vulnerability to affect other artifacts of the database as we know that a Kerberos database dump file contains trusted data.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/poojamnit/Kerberos-V5-1.16-Vulnerabilities/tree/master/Integer%20Overflow"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2004-0971",
+ "PkgName": "libkrb5support0",
+ "InstalledVersion": "1.17-3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "security flaw",
+ "Description": "The krb5-send-pr script in the kerberos5 (krb5) package in Trustix Secure Linux 1.5 through 2.1, and possibly other operating systems, allows local users to overwrite files via a symlink attack on temporary files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136304",
+ "http://www.gentoo.org/security/en/glsa/glsa-200410-24.xml",
+ "http://www.redhat.com/support/errata/RHSA-2005-012.html",
+ "http://www.securityfocus.com/bid/11289",
+ "http://www.trustix.org/errata/2004/0050",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/17583",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A10497"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2015-3276",
+ "PkgName": "libldap-2.4-2",
+ "InstalledVersion": "2.4.47+dfsg-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openldap: incorrect multi-keyword mode cipherstring parsing",
+ "Description": "The nss_parse_ciphers function in libraries/libldap/tls_m.c in OpenLDAP does not properly parse OpenSSL-style multi-keyword mode cipher strings, which might cause a weaker than intended cipher to be used and allow remote attackers to have unspecified impact via unknown vectors.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2015-3276.html",
+ "http://linux.oracle.com/errata/ELSA-2015-2131.html",
+ "http://rhn.redhat.com/errata/RHSA-2015-2131.html",
+ "http://www.oracle.com/technetwork/topics/security/linuxbulletinoct2015-2719645.html",
+ "http://www.securitytracker.com/id/1034221",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1238322"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17740",
+ "PkgName": "libldap-2.4-2",
+ "InstalledVersion": "2.4.47+dfsg-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openldap: contrib/slapd-modules/nops/nops.c attempts to free stack buffer allowing remote attackers to cause a denial of service",
+ "Description": "contrib/slapd-modules/nops/nops.c in OpenLDAP through 2.4.45, when both the nops module and the memberof overlay are enabled, attempts to free a buffer that was allocated on the stack, which allows remote attackers to cause a denial of service (slapd crash) via a member MODDN operation.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00053.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00058.html",
+ "http://www.openldap.org/its/index.cgi/Incoming?id=8759"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-14159",
+ "PkgName": "libldap-2.4-2",
+ "InstalledVersion": "2.4.47+dfsg-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openldap: Privilege escalation via PID file manipulation",
+ "Description": "slapd in OpenLDAP 2.4.45 and earlier creates a PID file after dropping privileges to a non-root account, which might allow local users to kill arbitrary processes by leveraging access to this non-root account for PID file modification before a root script executes a \"kill `cat /pathname`\" command, as demonstrated by openldap-initscript.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.openldap.org/its/index.cgi?findid=8703"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2015-3276",
+ "PkgName": "libldap-common",
+ "InstalledVersion": "2.4.47+dfsg-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openldap: incorrect multi-keyword mode cipherstring parsing",
+ "Description": "The nss_parse_ciphers function in libraries/libldap/tls_m.c in OpenLDAP does not properly parse OpenSSL-style multi-keyword mode cipher strings, which might cause a weaker than intended cipher to be used and allow remote attackers to have unspecified impact via unknown vectors.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2015-3276.html",
+ "http://linux.oracle.com/errata/ELSA-2015-2131.html",
+ "http://rhn.redhat.com/errata/RHSA-2015-2131.html",
+ "http://www.oracle.com/technetwork/topics/security/linuxbulletinoct2015-2719645.html",
+ "http://www.securitytracker.com/id/1034221",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1238322"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17740",
+ "PkgName": "libldap-common",
+ "InstalledVersion": "2.4.47+dfsg-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openldap: contrib/slapd-modules/nops/nops.c attempts to free stack buffer allowing remote attackers to cause a denial of service",
+ "Description": "contrib/slapd-modules/nops/nops.c in OpenLDAP through 2.4.45, when both the nops module and the memberof overlay are enabled, attempts to free a buffer that was allocated on the stack, which allows remote attackers to cause a denial of service (slapd crash) via a member MODDN operation.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00053.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00058.html",
+ "http://www.openldap.org/its/index.cgi/Incoming?id=8759"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-14159",
+ "PkgName": "libldap-common",
+ "InstalledVersion": "2.4.47+dfsg-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openldap: Privilege escalation via PID file manipulation",
+ "Description": "slapd in OpenLDAP 2.4.45 and earlier creates a PID file after dropping privileges to a non-root account, which might allow local users to kill arbitrary processes by leveraging access to this non-root account for PID file modification before a root script executes a \"kill `cat /pathname`\" command, as demonstrated by openldap-initscript.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.openldap.org/its/index.cgi?findid=8703"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "liblsan0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "liblsan0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17543",
+ "PkgName": "liblz4-1",
+ "InstalledVersion": "1.8.3-1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "lz4: heap-based buffer overflow in LZ4_write32",
+ "Description": "LZ4 before 1.9.2 has a heap-based buffer overflow in LZ4_write32 (related to LZ4_compress_destSize), affecting applications that call LZ4_compress_fast with a large input. (This issue can also lead to data corruption.) NOTE: the vendor states \"only a few specific / uncommon usages of the API are at risk.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00069.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00070.html",
+ "https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15941",
+ "https://github.com/lz4/lz4/compare/v1.9.1...v1.9.2",
+ "https://github.com/lz4/lz4/issues/801",
+ "https://github.com/lz4/lz4/pull/756",
+ "https://github.com/lz4/lz4/pull/760",
+ "https://lists.apache.org/thread.html/25015588b770d67470b7ba7ea49a305d6735dd7f00eabe7d50ec1e17@%3Cissues.arrow.apache.org%3E",
+ "https://lists.apache.org/thread.html/793012683dc0fa6819b7c2560e6cf990811014c40c7d75412099c357@%3Cissues.arrow.apache.org%3E",
+ "https://lists.apache.org/thread.html/9ff0606d16be2ab6a81619e1c9e23c3e251756638e36272c8c8b7fa3@%3Cissues.arrow.apache.org%3E",
+ "https://lists.apache.org/thread.html/f0038c4fab2ee25aee849ebeff6b33b3aa89e07ccfb06b5c87b36316@%3Cissues.arrow.apache.org%3E",
+ "https://lists.apache.org/thread.html/f506bc371d4a068d5d84d7361293568f61167d3a1c3e91f0def2d7d3@%3Cdev.arrow.apache.org%3E"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-15607",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: CPU Exhaustion via crafted input file",
+ "Description": "In ImageMagick 7.0.8-11 Q16, a tiny input file 0x50 0x36 0x36 0x36 0x36 0x4c 0x36 0x38 0x36 0x36 0x36 0x36 0x36 0x36 0x1f 0x35 0x50 0x00 can result in a hang of several minutes during which CPU and memory resources are consumed until ultimately an attempted large memory allocation fails. Remote attackers could leverage this vulnerability to cause a denial of service via a crafted file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-15607.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/105137",
+ "https://github.com/ImageMagick/ImageMagick/issues/1255",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11470",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in cineon parsing component",
+ "Description": "The cineon parsing component in ImageMagick 7.0.8-26 Q16 allows attackers to cause a denial-of-service (uncontrolled resource consumption) by crafting a Cineon image with an incorrect claimed image size. This occurs because ReadCINImage in coders/cin.c lacks a check for insufficient image data in a file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11470.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11470",
+ "https://github.com/ImageMagick/ImageMagick/commit/e3cdce6fe12193f235b8c0ae5efe6880a25eb957",
+ "https://github.com/ImageMagick/ImageMagick/issues/1472",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19948",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in WriteSGIImage in coders/sgi.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer overflow in the function WriteSGIImage of coders/sgi.c.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19948.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19948",
+ "https://github.com/ImageMagick/ImageMagick/issues/1562",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-3134",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "GraphicsMagick/ImageMagick: multiple crash or DoS issues",
+ "Description": "Multiple unspecified vulnerabilities in GraphicsMagick before 1.2.4 allow remote attackers to cause a denial of service (crash, infinite loop, or memory consumption) via (a) unspecified vectors in the (1) AVI, (2) AVS, (3) DCM, (4) EPT, (5) FITS, (6) MTV, (7) PALM, (8) RLA, and (9) TGA decoder readers; and (b) the GetImageCharacteristics function in magick/image.c, as reachable from a crafted (10) PNG, (11) JPEG, (12) BMP, or (13) TIFF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2008-10/msg00004.html",
+ "http://secunia.com/advisories/30879",
+ "http://secunia.com/advisories/32151",
+ "http://sourceforge.net/forum/forum.php?forum_id=841176",
+ "http://sourceforge.net/project/shownotes.php?release_id=610253",
+ "http://www.securityfocus.com/bid/30055",
+ "http://www.securitytracker.com/id?1020413",
+ "http://www.vupen.com/english/advisories/2008/1984/references",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3134",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43511",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43513"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-8678",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Heap-buffer overflow in IsPixelMonochrome",
+ "Description": "The IsPixelMonochrome function in MagickCore/pixel-accessor.h in ImageMagick 7.0.3.0 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a crafted file. NOTE: the vendor says \"This is a Q64 issue and we do not support Q64.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/16/2",
+ "http://www.openwall.com/lists/oss-security/2016/12/08/18",
+ "http://www.securityfocus.com/bid/93599",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1385694",
+ "https://github.com/ImageMagick/ImageMagick/issues/272"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11754",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an OpenPixelCache call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/633"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11755",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function via mishandled AcquireSemaphoreInfo call",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an AcquireSemaphoreInfo call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/634"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7275",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory allocation failure in AcquireMagickMemory (incomplete fix for CVE-2016-8866)",
+ "Description": "The ReadPCXImage function in coders/pcx.c in ImageMagick 7.0.4.9 allows remote attackers to cause a denial of service (attempted large memory allocation and application crash) via a crafted file. NOTE: this vulnerability exists because of an incomplete fix for CVE-2016-8862 and CVE-2016-8866.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/97166",
+ "https://blogs.gentoo.org/ago/2017/03/27/imagemagick-memory-allocation-failure-in-acquiremagickmemory-memory-c-incomplete-fix-for-cve-2016-8862-and-cve-2016-8866/",
+ "https://github.com/ImageMagick/ImageMagick/issues/271"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-10649",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in SVGKeyValuePairs of coders/svg.c that leads to denial of service via crafted image file",
+ "Description": "In ImageMagick 7.0.8-36 Q16, there is a memory leak in the function SVGKeyValuePairs of coders/svg.c, which allows an attacker to cause a denial of service via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107645",
+ "https://github.com/ImageMagick/ImageMagick/issues/1533",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11472",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in ReadXWDImage in coders/xwd.c in the XWD image parsing component",
+ "Description": "ReadXWDImage in coders/xwd.c in the XWD image parsing component of ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (divide-by-zero error) by crafting an XWD image file in which the header indicates neither LSB first nor MSB first.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11472.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1546",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f663dfb8431c97d95682a2b533cca1c8233d21b4",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11597",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11597.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11597",
+ "https://github.com/ImageMagick/ImageMagick/issues/1555",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11598",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WritePNMImage of coders/pnm.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-40 Q16, there is a heap-based buffer over-read in the function WritePNMImage of coders/pnm.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file. This is related to SetGrayscaleImage in MagickCore/quantize.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11598.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11598",
+ "https://github.com/ImageMagick/ImageMagick/issues/1540",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12974",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: null-pointer dereference in function ReadPANGOImage in coders/pango.c and ReadVIDImage in coders/vid.c causing denial of service",
+ "Description": "A NULL pointer dereference in the function ReadPANGOImage in coders/pango.c and the function ReadVIDImage in coders/vid.c in ImageMagick 7.0.8-34 allows remote attackers to cause a denial of service via a crafted image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12974.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12974",
+ "https://github.com/ImageMagick/ImageMagick/issues/1515"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12975",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function WriteDPXImage in coders/dpx.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak vulnerability in the WriteDPXImage function in coders/dpx.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12975.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1517"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12976",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function ReadPCLImage in coders/pcl.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak in the ReadPCLImage function in coders/pcl.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12976.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1520"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12977",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialised value in function WriteJP2Image in coders/jp2.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the WriteJP2Image function in coders/jp2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1518"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12978",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in function ReadPANGOImage in coders/pango.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the ReadPANGOImage function in coders/pango.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12978.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12979",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in functionSyncImageSettings in MagickCore/image.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the SyncImageSettings function in MagickCore/image.c. This is related to AcquireImage in magick/image.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12979.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13135",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a \"use of uninitialized value\" vulnerability in the function ReadCUTImage leading to a crash and DoS",
+ "Description": "ImageMagick before 7.0.8-50 has a \"use of uninitialized value\" vulnerability in the function ReadCUTImage in coders/cut.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13135.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13135",
+ "https://github.com/ImageMagick/ImageMagick/commit/cdb383749ef7b68a38891440af8cc23e0115306d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1599",
+ "https://github.com/ImageMagick/ImageMagick6/commit/1e59b29e520d2beab73e8c78aacd5f1c0d76196d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13137",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a memory leak vulnerability in the function ReadPSImage in coders/ps.c",
+ "Description": "ImageMagick before 7.0.8-50 has a memory leak vulnerability in the function ReadPSImage in coders/ps.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/35ccb468ee2dcbe8ce9cf1e2f1957acc27f54c34",
+ "https://github.com/ImageMagick/ImageMagick/issues/1601",
+ "https://github.com/ImageMagick/ImageMagick6/commit/7d11230060fa9c8f67e53c85224daf6648805c7b"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13295",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13295.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13295",
+ "https://github.com/ImageMagick/ImageMagick/commit/a7759f410b773a1dd57b0e1fb28112e1cd8b97bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1608",
+ "https://github.com/ImageMagick/ImageMagick6/commit/55e6dc49f1a381d9d511ee2f888fdc3e3c3e3953",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13297",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13297.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13297",
+ "https://github.com/ImageMagick/ImageMagick/commit/604588fc35c7585abb7a9e71f69bb82e4389fefc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1609",
+ "https://github.com/ImageMagick/ImageMagick6/commit/35c7032723d85eee7318ff6c82f031fa2666b773",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13300",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13300.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/a906fe9298bf89e01d5272023db687935068849a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1586",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5e409ae7a389cdf2ed17469303be3f3f21cec450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13301",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks in AcquireMagickMemory",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks in AcquireMagickMemory because of an AnnotateImage error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13301.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/f595a1985233c399a05c0c37cc41de16a90dd025",
+ "https://github.com/ImageMagick/ImageMagick/issues/1585",
+ "https://github.com/ImageMagick/ImageMagick/issues/1589"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13304",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13304.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13304",
+ "https://github.com/ImageMagick/ImageMagick/commit/7689875ef64f34141e7292f6945efdf0530b4a5e",
+ "https://github.com/ImageMagick/ImageMagick/issues/1614",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bfa3b9610c83227894c92b0d312ad327fceb6241",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13305",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13305.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13305",
+ "https://github.com/ImageMagick/ImageMagick/commit/29efd648f38b73a64d73f14cd2019d869a585888",
+ "https://github.com/ImageMagick/ImageMagick/issues/1613",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5c7fbf9a14fb83c9685ad69d48899f490a37609d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13306",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13306.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13306",
+ "https://github.com/ImageMagick/ImageMagick/commit/e92040ea6ee2a844ebfd2344174076795a4787bd",
+ "https://github.com/ImageMagick/ImageMagick/issues/1612",
+ "https://github.com/ImageMagick/ImageMagick6/commit/cb5ec7d98195aa74d5ed299b38eff2a68122f3fa",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13307",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13307.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/025e77fcb2f45b21689931ba3bf74eac153afa48",
+ "https://github.com/ImageMagick/ImageMagick/issues/1615",
+ "https://github.com/ImageMagick/ImageMagick6/commit/91e58d967a92250439ede038ccfb0913a81e59fe"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13308",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in MagickCore/fourier.c in ComplexImage",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow in MagickCore/fourier.c in ComplexImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/61135001a625364e29bdce83832f043eebde7b5a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1595",
+ "https://github.com/ImageMagick/ImageMagick6/commit/19651f3db63fa1511ed83a348c4c82fa553f8d01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13309",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory due to mishandling the NoSuchImage error in CLIListOperatorImages",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of mishandling the NoSuchImage error in CLIListOperatorImages in MagickWand/operation.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13309.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13310",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13310.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13311",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of a wand/mogrify.c error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of a wand/mogrify.c error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13311.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/4a334bbf5584de37c6f5a47c380a531c8c4b140a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1623",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bb812022d0bc12107db215c981cab0b1ccd73d91"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13391",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in MagickCore/fourier.c",
+ "Description": "In ImageMagick 7.0.8-50 Q16, ComplexImages in MagickCore/fourier.c has a heap-based buffer over-read because of incorrect calls to GetCacheViewVirtualPixels.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/7c2c5ba5b8e3a0b2b82f56c71dfab74ed4006df7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1588",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f6ffc702c6eecd963587273a429dcd608c648984"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13454",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in RemoveDuplicateLayers in MagickCore/layer.c",
+ "Description": "ImageMagick 7.0.8-54 Q16 allows Division by Zero in RemoveDuplicateLayers in MagickCore/layer.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13454.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "http://www.securityfocus.com/bid/109099",
+ "https://github.com/ImageMagick/ImageMagick/commit/1ddcf2e4f28029a888cadef2e757509ef5047ad8",
+ "https://github.com/ImageMagick/ImageMagick/issues/1629",
+ "https://github.com/ImageMagick/ImageMagick6/commit/4f31d78716ac94c85c244efcea368fea202e2ed4"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14981",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in MeanShiftImage in MagickCore/feature.c",
+ "Description": "In ImageMagick 7.x before 7.0.8-41 and 6.x before 6.9.10-41, there is a divide-by-zero vulnerability in the MeanShiftImage function. It allows an attacker to cause a denial of service by sending a crafted file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-14981.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14981",
+ "https://github.com/ImageMagick/ImageMagick/commit/a77d8d97f5a7bced0468f0b08798c83fb67427bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1552",
+ "https://github.com/ImageMagick/ImageMagick6/commit/b522d2d857d2f75b659936b59b0da9df1682c256",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15139",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadXWDImage in coders/xwd.c",
+ "Description": "The XWD image (X Window System window dumping file) parsing component in ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (application crash resulting from an out-of-bounds Read) in ReadXWDImage in coders/xwd.c by crafting a corrupted XWD image file, a different vulnerability than CVE-2019-11472.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15139.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15139",
+ "https://github.com/ImageMagick/ImageMagick/commit/c78993d138bf480ab4652b5a48379d4ff75ba5f7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1553",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15140",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Use after free in ReadMATImage in coders/mat.c",
+ "Description": "coders/mat.c in ImageMagick 7.0.8-43 Q16 allows remote attackers to cause a denial of service (use-after-free and application crash) or possibly have unspecified other impact by crafting a Matlab image file that is mishandled in ReadImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15140.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15140",
+ "https://github.com/ImageMagick/ImageMagick/commit/f7206618d27c2e69d977abf40e3035a33e5f6be0",
+ "https://github.com/ImageMagick/ImageMagick/issues/1554",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16708",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in magick/xwindow.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in magick/xwindow.c, related to XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16708.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16709",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dps.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dps.c, as demonstrated by XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16709.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00045.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00046.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16710",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dot.c, as demonstrated by AcquireMagickMemory in MagickCore/memory.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16710.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1528",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16711",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps2.c",
+ "Description": "ImageMagick 7.0.8-40 has a memory leak in Huffman2DEncodeImage in coders/ps2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16711.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1542",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16712",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps3.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in Huffman2DEncodeImage in coders/ps3.c, as demonstrated by WritePS3Image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1557"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16713",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in coders/dot.c, as demonstrated by PingImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16713.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1558",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19949",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in WritePNGImage in coders/png.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WritePNGImage of coders/png.c, related to Magick_png_write_raw_profile and LocaleNCompare.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19949.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19949",
+ "https://github.com/ImageMagick/ImageMagick/issues/1561",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7175",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak in function DecodeImage in coders/pcd.c",
+ "Description": "In ImageMagick before 7.0.8-25, some memory leaks exist in DecodeImage in coders/pcd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7175.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/1e6a3ace073c9ec9c71e439c111d23c6e66cb6ae",
+ "https://github.com/ImageMagick/ImageMagick/issues/1450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7395",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePSDChannel function in coders/psd.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WritePSDChannel in coders/psd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106850",
+ "https://github.com/ImageMagick/ImageMagick/commit/8a43abefb38c5e29138e1c9c515b313363541c06",
+ "https://github.com/ImageMagick/ImageMagick/issues/1451"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7396",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the ReadSIXELImage function in coders/sixel.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in ReadSIXELImage in coders/sixel.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://www.securityfocus.com/bid/106849",
+ "https://github.com/ImageMagick/ImageMagick/commit/748a03651e5b138bcaf160d15133de2f4b1b89ce",
+ "https://github.com/ImageMagick/ImageMagick/issues/1452",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7397",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePDFImage function in coders/pdf.c",
+ "Description": "In ImageMagick before 7.0.8-25 and GraphicsMagick through 1.3.31, several memory leaks exist in WritePDFImage in coders/pdf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://hg.graphicsmagick.org/hg/GraphicsMagick/rev/11ad3aeb8ab1",
+ "http://linux.oracle.com/cve/CVE-2019-7397.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106847",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-7397",
+ "https://github.com/ImageMagick/ImageMagick/commit/306c1f0fa5754ca78efd16ab752f0e981d4f6b82",
+ "https://github.com/ImageMagick/ImageMagick/issues/1454"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7398",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WriteDIBImage function in coders/dib.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WriteDIBImage in coders/dib.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7398.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106848",
+ "https://github.com/ImageMagick/ImageMagick/issues/1453"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10251",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadHEICImageByID function in coders/heic.c",
+ "Description": "In ImageMagick 7.0.9, an out-of-bounds read vulnerability exists within the ReadHEICImageByID function in coders\\heic.c. It can be triggered via an image with a width or height value that exceeds the actual size of the image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/1859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2005-0406",
+ "PkgName": "libmagickcore-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "A design flaw in image processing software that modifies JPEG images might not modify the original EXIF thumbnail, which could lead to an information leak of potentially sensitive visual information that had been removed from the main JPEG image.",
+ "Severity": "LOW",
+ "References": [
+ "http://seclists.org/lists/fulldisclosure/2005/Feb/0343.html",
+ "http://www.redteam-pentesting.de/advisories/rt-sa-2005-008.txt"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-15607",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: CPU Exhaustion via crafted input file",
+ "Description": "In ImageMagick 7.0.8-11 Q16, a tiny input file 0x50 0x36 0x36 0x36 0x36 0x4c 0x36 0x38 0x36 0x36 0x36 0x36 0x36 0x36 0x1f 0x35 0x50 0x00 can result in a hang of several minutes during which CPU and memory resources are consumed until ultimately an attempted large memory allocation fails. Remote attackers could leverage this vulnerability to cause a denial of service via a crafted file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-15607.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/105137",
+ "https://github.com/ImageMagick/ImageMagick/issues/1255",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11470",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in cineon parsing component",
+ "Description": "The cineon parsing component in ImageMagick 7.0.8-26 Q16 allows attackers to cause a denial-of-service (uncontrolled resource consumption) by crafting a Cineon image with an incorrect claimed image size. This occurs because ReadCINImage in coders/cin.c lacks a check for insufficient image data in a file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11470.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11470",
+ "https://github.com/ImageMagick/ImageMagick/commit/e3cdce6fe12193f235b8c0ae5efe6880a25eb957",
+ "https://github.com/ImageMagick/ImageMagick/issues/1472",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19948",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in WriteSGIImage in coders/sgi.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer overflow in the function WriteSGIImage of coders/sgi.c.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19948.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19948",
+ "https://github.com/ImageMagick/ImageMagick/issues/1562",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-3134",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "GraphicsMagick/ImageMagick: multiple crash or DoS issues",
+ "Description": "Multiple unspecified vulnerabilities in GraphicsMagick before 1.2.4 allow remote attackers to cause a denial of service (crash, infinite loop, or memory consumption) via (a) unspecified vectors in the (1) AVI, (2) AVS, (3) DCM, (4) EPT, (5) FITS, (6) MTV, (7) PALM, (8) RLA, and (9) TGA decoder readers; and (b) the GetImageCharacteristics function in magick/image.c, as reachable from a crafted (10) PNG, (11) JPEG, (12) BMP, or (13) TIFF file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2008-10/msg00004.html",
+ "http://secunia.com/advisories/30879",
+ "http://secunia.com/advisories/32151",
+ "http://sourceforge.net/forum/forum.php?forum_id=841176",
+ "http://sourceforge.net/project/shownotes.php?release_id=610253",
+ "http://www.securityfocus.com/bid/30055",
+ "http://www.securitytracker.com/id?1020413",
+ "http://www.vupen.com/english/advisories/2008/1984/references",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3134",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43511",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/43513"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-8678",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Heap-buffer overflow in IsPixelMonochrome",
+ "Description": "The IsPixelMonochrome function in MagickCore/pixel-accessor.h in ImageMagick 7.0.3.0 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a crafted file. NOTE: the vendor says \"This is a Q64 issue and we do not support Q64.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/16/2",
+ "http://www.openwall.com/lists/oss-security/2016/12/08/18",
+ "http://www.securityfocus.com/bid/93599",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1385694",
+ "https://github.com/ImageMagick/ImageMagick/issues/272"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11754",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an OpenPixelCache call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/633"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11755",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in WritePICONImage function via mishandled AcquireSemaphoreInfo call",
+ "Description": "The WritePICONImage function in coders/xpm.c in ImageMagick 7.0.6-4 allows remote attackers to cause a denial of service (memory leak) via a crafted file that is mishandled in an AcquireSemaphoreInfo call.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/634"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7275",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory allocation failure in AcquireMagickMemory (incomplete fix for CVE-2016-8866)",
+ "Description": "The ReadPCXImage function in coders/pcx.c in ImageMagick 7.0.4.9 allows remote attackers to cause a denial of service (attempted large memory allocation and application crash) via a crafted file. NOTE: this vulnerability exists because of an incomplete fix for CVE-2016-8862 and CVE-2016-8866.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/97166",
+ "https://blogs.gentoo.org/ago/2017/03/27/imagemagick-memory-allocation-failure-in-acquiremagickmemory-memory-c-incomplete-fix-for-cve-2016-8862-and-cve-2016-8866/",
+ "https://github.com/ImageMagick/ImageMagick/issues/271"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-10649",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in SVGKeyValuePairs of coders/svg.c that leads to denial of service via crafted image file",
+ "Description": "In ImageMagick 7.0.8-36 Q16, there is a memory leak in the function SVGKeyValuePairs of coders/svg.c, which allows an attacker to cause a denial of service via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/107645",
+ "https://github.com/ImageMagick/ImageMagick/issues/1533",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11472",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: denial of service in ReadXWDImage in coders/xwd.c in the XWD image parsing component",
+ "Description": "ReadXWDImage in coders/xwd.c in the XWD image parsing component of ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (divide-by-zero error) by crafting an XWD image file in which the header indicates neither LSB first nor MSB first.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11472.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00057.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00001.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1546",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f663dfb8431c97d95682a2b533cca1c8233d21b4",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PF62B5PJA2JDUOCKJGUQO3SPL74BEYSV/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WHIKB4TP6KBJWT2UIPWL5MWMG5QXKGEJ/",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11597",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WriteTIFFImage of coders/tiff.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11597.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11597",
+ "https://github.com/ImageMagick/ImageMagick/issues/1555",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11598",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in the function WritePNMImage of coders/pnm.c leading to DoS or information disclosure",
+ "Description": "In ImageMagick 7.0.8-40 Q16, there is a heap-based buffer over-read in the function WritePNMImage of coders/pnm.c, which allows an attacker to cause a denial of service or possibly information disclosure via a crafted image file. This is related to SetGrayscaleImage in MagickCore/quantize.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-11598.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108102",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11598",
+ "https://github.com/ImageMagick/ImageMagick/issues/1540",
+ "https://lists.debian.org/debian-lts-announce/2019/05/msg00015.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12974",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: null-pointer dereference in function ReadPANGOImage in coders/pango.c and ReadVIDImage in coders/vid.c causing denial of service",
+ "Description": "A NULL pointer dereference in the function ReadPANGOImage in coders/pango.c and the function ReadVIDImage in coders/vid.c in ImageMagick 7.0.8-34 allows remote attackers to cause a denial of service via a crafted image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12974.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12974",
+ "https://github.com/ImageMagick/ImageMagick/issues/1515"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12975",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function WriteDPXImage in coders/dpx.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak vulnerability in the WriteDPXImage function in coders/dpx.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12975.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1517"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12976",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak vulnerability in function ReadPCLImage in coders/pcl.c",
+ "Description": "ImageMagick 7.0.8-34 has a memory leak in the ReadPCLImage function in coders/pcl.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12976.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1520"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12977",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialised value in function WriteJP2Image in coders/jp2.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the WriteJP2Image function in coders/jp2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1518"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12978",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in function ReadPANGOImage in coders/pango.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the ReadPANGOImage function in coders/pango.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12978.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1519"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12979",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: use of uninitialized value in functionSyncImageSettings in MagickCore/image.c",
+ "Description": "ImageMagick 7.0.8-34 has a \"use of uninitialized value\" vulnerability in the SyncImageSettings function in MagickCore/image.c. This is related to AcquireImage in magick/image.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12979.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://www.securityfocus.com/bid/108913",
+ "https://github.com/ImageMagick/ImageMagick/issues/1522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13135",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a \"use of uninitialized value\" vulnerability in the function ReadCUTImage leading to a crash and DoS",
+ "Description": "ImageMagick before 7.0.8-50 has a \"use of uninitialized value\" vulnerability in the function ReadCUTImage in coders/cut.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13135.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13135",
+ "https://github.com/ImageMagick/ImageMagick/commit/cdb383749ef7b68a38891440af8cc23e0115306d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1599",
+ "https://github.com/ImageMagick/ImageMagick6/commit/1e59b29e520d2beab73e8c78aacd5f1c0d76196d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13137",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: a memory leak vulnerability in the function ReadPSImage in coders/ps.c",
+ "Description": "ImageMagick before 7.0.8-50 has a memory leak vulnerability in the function ReadPSImage in coders/ps.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/35ccb468ee2dcbe8ce9cf1e2f1957acc27f54c34",
+ "https://github.com/ImageMagick/ImageMagick/issues/1601",
+ "https://github.com/ImageMagick/ImageMagick6/commit/7d11230060fa9c8f67e53c85224daf6648805c7b"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13295",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a width of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13295.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13295",
+ "https://github.com/ImageMagick/ImageMagick/commit/a7759f410b773a1dd57b0e1fb28112e1cd8b97bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1608",
+ "https://github.com/ImageMagick/ImageMagick6/commit/55e6dc49f1a381d9d511ee2f888fdc3e3c3e3953",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13297",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer over-read at MagickCore/threshold.c in AdaptiveThresholdImage because a height of zero is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13297.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13297",
+ "https://github.com/ImageMagick/ImageMagick/commit/604588fc35c7585abb7a9e71f69bb82e4389fefc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1609",
+ "https://github.com/ImageMagick/ImageMagick6/commit/35c7032723d85eee7318ff6c82f031fa2666b773",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13300",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling columns.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13300.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/a906fe9298bf89e01d5272023db687935068849a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1586",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5e409ae7a389cdf2ed17469303be3f3f21cec450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13301",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks in AcquireMagickMemory",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks in AcquireMagickMemory because of an AnnotateImage error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13301.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/f595a1985233c399a05c0c37cc41de16a90dd025",
+ "https://github.com/ImageMagick/ImageMagick/issues/1585",
+ "https://github.com/ImageMagick/ImageMagick/issues/1589"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13304",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced assignment.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13304.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13304",
+ "https://github.com/ImageMagick/ImageMagick/commit/7689875ef64f34141e7292f6945efdf0530b4a5e",
+ "https://github.com/ImageMagick/ImageMagick/issues/1614",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bfa3b9610c83227894c92b0d312ad327fceb6241",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13305",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of a misplaced strncpy and an off-by-one error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13305.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13305",
+ "https://github.com/ImageMagick/ImageMagick/commit/29efd648f38b73a64d73f14cd2019d869a585888",
+ "https://github.com/ImageMagick/ImageMagick/issues/1613",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5c7fbf9a14fb83c9685ad69d48899f490a37609d",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13306",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a stack-based buffer overflow at coders/pnm.c in WritePNMImage because of off-by-one errors.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13306.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13306",
+ "https://github.com/ImageMagick/ImageMagick/commit/e92040ea6ee2a844ebfd2344174076795a4787bd",
+ "https://github.com/ImageMagick/ImageMagick/issues/1612",
+ "https://github.com/ImageMagick/ImageMagick6/commit/cb5ec7d98195aa74d5ed299b38eff2a68122f3fa",
+ "https://lists.debian.org/debian-lts-announce/2019/08/msg00021.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13307",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow at MagickCore/statistic.c in EvaluateImages because of mishandling rows.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13307.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/025e77fcb2f45b21689931ba3bf74eac153afa48",
+ "https://github.com/ImageMagick/ImageMagick/issues/1615",
+ "https://github.com/ImageMagick/ImageMagick6/commit/91e58d967a92250439ede038ccfb0913a81e59fe"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13308",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer overflow in MagickCore/fourier.c in ComplexImage",
+ "Description": "ImageMagick 7.0.8-50 Q16 has a heap-based buffer overflow in MagickCore/fourier.c in ComplexImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/61135001a625364e29bdce83832f043eebde7b5a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1595",
+ "https://github.com/ImageMagick/ImageMagick6/commit/19651f3db63fa1511ed83a348c4c82fa553f8d01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13309",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory due to mishandling the NoSuchImage error in CLIListOperatorImages",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of mishandling the NoSuchImage error in CLIListOperatorImages in MagickWand/operation.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13309.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13310",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of an error in MagickWand/mogrify.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13310.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/5f21230b657ccd65452dd3d94c5b5401ba691a2d",
+ "https://github.com/ImageMagick/ImageMagick/issues/1616",
+ "https://github.com/ImageMagick/ImageMagick6/commit/5982632109cad48bc6dab867298fdea4dea57c51"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13311",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leaks at AcquireMagickMemory because of a wand/mogrify.c error",
+ "Description": "ImageMagick 7.0.8-50 Q16 has memory leaks at AcquireMagickMemory because of a wand/mogrify.c error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13311.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/4a334bbf5584de37c6f5a47c380a531c8c4b140a",
+ "https://github.com/ImageMagick/ImageMagick/issues/1623",
+ "https://github.com/ImageMagick/ImageMagick6/commit/bb812022d0bc12107db215c981cab0b1ccd73d91"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13391",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in MagickCore/fourier.c",
+ "Description": "In ImageMagick 7.0.8-50 Q16, ComplexImages in MagickCore/fourier.c has a heap-based buffer over-read because of incorrect calls to GetCacheViewVirtualPixels.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/7c2c5ba5b8e3a0b2b82f56c71dfab74ed4006df7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1588",
+ "https://github.com/ImageMagick/ImageMagick6/commit/f6ffc702c6eecd963587273a429dcd608c648984"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13454",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in RemoveDuplicateLayers in MagickCore/layer.c",
+ "Description": "ImageMagick 7.0.8-54 Q16 allows Division by Zero in RemoveDuplicateLayers in MagickCore/layer.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-13454.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00069.html",
+ "http://www.securityfocus.com/bid/109099",
+ "https://github.com/ImageMagick/ImageMagick/commit/1ddcf2e4f28029a888cadef2e757509ef5047ad8",
+ "https://github.com/ImageMagick/ImageMagick/issues/1629",
+ "https://github.com/ImageMagick/ImageMagick6/commit/4f31d78716ac94c85c244efcea368fea202e2ed4"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-14981",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: division by zero in MeanShiftImage in MagickCore/feature.c",
+ "Description": "In ImageMagick 7.x before 7.0.8-41 and 6.x before 6.9.10-41, there is a divide-by-zero vulnerability in the MeanShiftImage function. It allows an attacker to cause a denial of service by sending a crafted file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-14981.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14981",
+ "https://github.com/ImageMagick/ImageMagick/commit/a77d8d97f5a7bced0468f0b08798c83fb67427bc",
+ "https://github.com/ImageMagick/ImageMagick/issues/1552",
+ "https://github.com/ImageMagick/ImageMagick6/commit/b522d2d857d2f75b659936b59b0da9df1682c256",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15139",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadXWDImage in coders/xwd.c",
+ "Description": "The XWD image (X Window System window dumping file) parsing component in ImageMagick 7.0.8-41 Q16 allows attackers to cause a denial-of-service (application crash resulting from an out-of-bounds Read) in ReadXWDImage in coders/xwd.c by crafting a corrupted XWD image file, a different vulnerability than CVE-2019-11472.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15139.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15139",
+ "https://github.com/ImageMagick/ImageMagick/commit/c78993d138bf480ab4652b5a48379d4ff75ba5f7",
+ "https://github.com/ImageMagick/ImageMagick/issues/1553",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15140",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Use after free in ReadMATImage in coders/mat.c",
+ "Description": "coders/mat.c in ImageMagick 7.0.8-43 Q16 allows remote attackers to cause a denial of service (use-after-free and application crash) or possibly have unspecified other impact by crafting a Matlab image file that is mishandled in ReadImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15140.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15140",
+ "https://github.com/ImageMagick/ImageMagick/commit/f7206618d27c2e69d977abf40e3035a33e5f6be0",
+ "https://github.com/ImageMagick/ImageMagick/issues/1554",
+ "https://lists.debian.org/debian-lts-announce/2019/10/msg00028.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16708",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in magick/xwindow.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in magick/xwindow.c, related to XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16708.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16709",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dps.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dps.c, as demonstrated by XCreateImage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16709.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00045.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00046.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1531"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16710",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-35 has a memory leak in coders/dot.c, as demonstrated by AcquireMagickMemory in MagickCore/memory.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16710.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1528",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16711",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps2.c",
+ "Description": "ImageMagick 7.0.8-40 has a memory leak in Huffman2DEncodeImage in coders/ps2.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16711.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1542",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16712",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in Huffman2DEncodeImage in coders/ps3.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in Huffman2DEncodeImage in coders/ps3.c, as demonstrated by WritePS3Image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1557"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16713",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: memory leak in coders/dot.c",
+ "Description": "ImageMagick 7.0.8-43 has a memory leak in coders/dot.c, as demonstrated by PingImage in MagickCore/constitute.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16713.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00042.html",
+ "https://github.com/ImageMagick/ImageMagick/issues/1558",
+ "https://usn.ubuntu.com/4192-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19949",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: heap-based buffer over-read in WritePNGImage in coders/png.c",
+ "Description": "In ImageMagick 7.0.8-43 Q16, there is a heap-based buffer over-read in the function WritePNGImage of coders/png.c, related to Magick_png_write_raw_profile and LocaleNCompare.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19949.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00006.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19949",
+ "https://github.com/ImageMagick/ImageMagick/issues/1561",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00033.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7175",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "imagemagick: memory leak in function DecodeImage in coders/pcd.c",
+ "Description": "In ImageMagick before 7.0.8-25, some memory leaks exist in DecodeImage in coders/pcd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7175.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "https://github.com/ImageMagick/ImageMagick/commit/1e6a3ace073c9ec9c71e439c111d23c6e66cb6ae",
+ "https://github.com/ImageMagick/ImageMagick/issues/1450"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7395",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePSDChannel function in coders/psd.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WritePSDChannel in coders/psd.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106850",
+ "https://github.com/ImageMagick/ImageMagick/commit/8a43abefb38c5e29138e1c9c515b313363541c06",
+ "https://github.com/ImageMagick/ImageMagick/issues/1451"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7396",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the ReadSIXELImage function in coders/sixel.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in ReadSIXELImage in coders/sixel.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://www.securityfocus.com/bid/106849",
+ "https://github.com/ImageMagick/ImageMagick/commit/748a03651e5b138bcaf160d15133de2f4b1b89ce",
+ "https://github.com/ImageMagick/ImageMagick/issues/1452",
+ "https://usn.ubuntu.com/4034-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7397",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WritePDFImage function in coders/pdf.c",
+ "Description": "In ImageMagick before 7.0.8-25 and GraphicsMagick through 1.3.31, several memory leaks exist in WritePDFImage in coders/pdf.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://hg.graphicsmagick.org/hg/GraphicsMagick/rev/11ad3aeb8ab1",
+ "http://linux.oracle.com/cve/CVE-2019-7397.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106847",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-7397",
+ "https://github.com/ImageMagick/ImageMagick/commit/306c1f0fa5754ca78efd16ab752f0e981d4f6b82",
+ "https://github.com/ImageMagick/ImageMagick/issues/1454"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-7398",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: Memory leak in the WriteDIBImage function in coders/dib.c",
+ "Description": "In ImageMagick before 7.0.8-25, a memory leak exists in WriteDIBImage in coders/dib.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-7398.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1180.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00034.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00006.html",
+ "http://www.securityfocus.com/bid/106848",
+ "https://github.com/ImageMagick/ImageMagick/issues/1453"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10251",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "ImageMagick: out-of-bounds read in ReadHEICImageByID function in coders/heic.c",
+ "Description": "In ImageMagick 7.0.9, an out-of-bounds read vulnerability exists within the ReadHEICImageByID function in coders\\heic.c. It can be triggered via an image with a width or height value that exceeds the actual size of the image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/ImageMagick/ImageMagick/issues/1859"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2005-0406",
+ "PkgName": "libmagickwand-6.q16-6",
+ "InstalledVersion": "8:6.9.10.23+dfsg-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "A design flaw in image processing software that modifies JPEG images might not modify the original EXIF thumbnail, which could lead to an information leak of potentially sensitive visual information that had been removed from the main JPEG image.",
+ "Severity": "LOW",
+ "References": [
+ "http://seclists.org/lists/fulldisclosure/2005/Feb/0343.html",
+ "http://www.redteam-pentesting.de/advisories/rt-sa-2005-008.txt"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libmpx2",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libmpx2",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0000000-A4EF31",
+ "PkgName": "libnghttp2-14",
+ "InstalledVersion": "1.36.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17479",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: Stack-buffer overflow in the pgxtoimage function",
+ "Description": "In OpenJPEG 2.3.0, a stack-based buffer overflow was discovered in the pgxtoimage function in jpwl/convert.c. The vulnerability causes an out-of-bounds write, which may lead to remote denial of service or possibly remote code execution.",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/uclouvain/openjpeg/issues/1044"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-7648",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Description": "An issue was discovered in mj2/opj_mj2_extract.c in OpenJPEG 2.3.0. The output prefix was not checked for length, which could overflow a buffer, when providing a prefix with 50 or more characters on the command line.",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/kbabioch/openjpeg/commit/6d8c0c06ee32dc03ba80acd48334e98728e56cf5",
+ "https://github.com/uclouvain/openjpeg/issues/1088"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-10505",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: NULL pointer dereference in imagetopnm function in convert.c",
+ "Description": "NULL pointer dereference vulnerabilities in the imagetopnm function in convert.c, sycc444_to_rgb function in color.c, color_esycc_to_rgb function in color.c, and sycc422_to_rgb function in color.c in OpenJPEG before 2.2.0 allow remote attackers to cause a denial of service (application crash) via crafted j2k files.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/uclouvain/openjpeg/issues/776",
+ "https://github.com/uclouvain/openjpeg/issues/784",
+ "https://github.com/uclouvain/openjpeg/issues/785",
+ "https://github.com/uclouvain/openjpeg/issues/792",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-10506",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: Division by zero in functions opj_pi_next_cprl, opj_pi_next_pcrl, and opj_pi_next_rpcl in pi.c",
+ "Description": "Division-by-zero vulnerabilities in the functions opj_pi_next_cprl, opj_pi_next_pcrl, and opj_pi_next_rpcl in pi.c in OpenJPEG before 2.2.0 allow remote attackers to cause a denial of service (application crash) via crafted j2k files.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/100573",
+ "https://github.com/uclouvain/openjpeg/commit/d27ccf01c68a31ad62b33d2dc1ba2bb1eeaafe7b",
+ "https://github.com/uclouvain/openjpeg/issues/731",
+ "https://github.com/uclouvain/openjpeg/issues/732",
+ "https://github.com/uclouvain/openjpeg/issues/777",
+ "https://github.com/uclouvain/openjpeg/issues/778",
+ "https://github.com/uclouvain/openjpeg/issues/779",
+ "https://github.com/uclouvain/openjpeg/issues/780",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9113",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "CVE-2016-9114 CVE-2016-9115 CVE-2016-9116 CVE-2016-9117 CVE-2016-9118 openjpeg2: Multiple security issues",
+ "Description": "There is a NULL pointer dereference in function imagetobmp of convertbmp.c:980 of OpenJPEG 2.1.2. image-\u003ecomps[0].data is not assigned a value after initialization(NULL). Impact is Denial of Service.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/93980",
+ "https://github.com/uclouvain/openjpeg/issues/856",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9114",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "CVE-2016-9113 CVE-2016-9114 CVE-2016-9115 CVE-2016-9116 CVE-2016-9117 CVE-2016-9118 openjpeg2: Multiple security issues",
+ "Description": "There is a NULL Pointer Access in function imagetopnm of convert.c:1943(jp2) of OpenJPEG 2.1.2. image-\u003ecomps[compno].data is not assigned a value after initialization(NULL). Impact is Denial of Service.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/93979",
+ "https://github.com/uclouvain/openjpeg/issues/857",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9115",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "CVE-2016-9113 CVE-2016-9114 CVE-2016-9115 CVE-2016-9116 CVE-2016-9117 CVE-2016-9118 openjpeg2: Multiple security issues",
+ "Description": "Heap Buffer Over-read in function imagetotga of convert.c(jp2):942 in OpenJPEG 2.1.2. Impact is Denial of Service. Someone must open a crafted j2k file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/93977",
+ "https://github.com/uclouvain/openjpeg/issues/858",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9116",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "CVE-2016-9113 CVE-2016-9114 CVE-2016-9115 CVE-2016-9116 CVE-2016-9117 CVE-2016-9118 openjpeg2: Multiple security issues",
+ "Description": "NULL Pointer Access in function imagetopnm of convert.c:2226(jp2) in OpenJPEG 2.1.2. Impact is Denial of Service. Someone must open a crafted j2k file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/93975",
+ "https://github.com/uclouvain/openjpeg/issues/859",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9117",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "CVE-2016-9113 CVE-2016-9114 CVE-2016-9115 CVE-2016-9116 CVE-2016-9117 CVE-2016-9118 openjpeg2: Multiple security issues",
+ "Description": "NULL Pointer Access in function imagetopnm of convert.c(jp2):1289 in OpenJPEG 2.1.2. Impact is Denial of Service. Someone must open a crafted j2k file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/93783",
+ "https://github.com/uclouvain/openjpeg/issues/860",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9580",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg2: Integer overflow in tiftoimage causes heap buffer overflow",
+ "Description": "An integer overflow vulnerability was found in tiftoimage function in openjpeg 2.1.2, resulting in heap buffer overflow.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/94822",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-9580",
+ "https://github.com/szukw000/openjpeg/commit/cadff5fb6e73398de26a92e96d3d7cac893af255",
+ "https://github.com/uclouvain/openjpeg/issues/871",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9581",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg2: Infinite loop in tiftoimage resulting into heap buffer overflow in convert_32s_C1P1",
+ "Description": "An infinite loop vulnerability in tiftoimage that results in heap buffer overflow in convert_32s_C1P1 was found in openjpeg 2.1.2.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/94822",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-9581",
+ "https://github.com/szukw000/openjpeg/commit/cadff5fb6e73398de26a92e96d3d7cac893af255",
+ "https://github.com/uclouvain/openjpeg/issues/872",
+ "https://security.gentoo.org/glsa/201710-26"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-16375",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: Heap-based buffer overflow in pnmtoimage function in bin/jpwl/convert.c",
+ "Description": "An issue was discovered in OpenJPEG 2.3.0. Missing checks for header_info.height and header_info.width in the function pnmtoimage in bin/jpwl/convert.c can lead to a heap-based buffer overflow.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/105266",
+ "https://github.com/uclouvain/openjpeg/issues/1126"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-16376",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: Heap-based buffer overflow in function t2_encode_packet in src/lib/openmj2/t2.c",
+ "Description": "An issue was discovered in OpenJPEG 2.3.0. A heap-based buffer overflow was discovered in the function t2_encode_packet in lib/openmj2/t2.c. The vulnerability causes an out-of-bounds write, which may lead to remote denial of service or possibly unspecified other impact.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/105262",
+ "https://github.com/uclouvain/openjpeg/issues/1127"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20845",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: division-by-zero in function pi_next_pcrl, pi_next_cprl, and pi_next_rpcl in openmj2/pi.c",
+ "Description": "Division-by-zero vulnerabilities in the functions pi_next_pcrl, pi_next_cprl, and pi_next_rpcl in openmj2/pi.c in OpenJPEG through 2.3.0 allow remote attackers to cause a denial of service (application crash).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108921",
+ "https://github.com/uclouvain/openjpeg/pull/1168/commits/c5bd64ea146162967c29bd2af0cbb845ba3eaaaf"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20846",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: out-of-bounds read in functions pi_next_lrcp, pi_next_rlcp, pi_next_rpcl, pi_next_pcrl, pi_next_rpcl, and pi_next_cprl in openmj2/pi.c leads to denial of service",
+ "Description": "Out-of-bounds accesses in the functions pi_next_lrcp, pi_next_rlcp, pi_next_rpcl, pi_next_pcrl, pi_next_rpcl, and pi_next_cprl in openmj2/pi.c in OpenJPEG through 2.3.0 allow remote attackers to cause a denial of service (application crash).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108921",
+ "https://github.com/uclouvain/openjpeg/pull/1168/commits/c277159986c80142180fbe5efb256bbf3bdf3edc"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-5727",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: integer overflow in opj_t1_encode_cblks in src/lib/openjp2/t1.c",
+ "Description": "In OpenJPEG 2.3.0, there is an integer overflow vulnerability in the opj_t1_encode_cblks function (openjp2/t1.c). Remote attackers could leverage this vulnerability to cause a denial of service via a crafted bmp file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/uclouvain/openjpeg/issues/1053"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12973",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: denial of service in function opj_t1_encode_cblks in openjp2/t1.c",
+ "Description": "In OpenJPEG 2.3.1, there is excessive iteration in the opj_t1_encode_cblks function of openjp2/t1.c. Remote attackers could leverage this vulnerability to cause a denial of service via a crafted bmp file. This issue is similar to CVE-2018-6616.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00088.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00090.html",
+ "http://www.securityfocus.com/bid/108900",
+ "https://github.com/uclouvain/openjpeg/commit/8ee335227bbcaf1614124046aa25e53d67b11ec3",
+ "https://github.com/uclouvain/openjpeg/pull/1185/commits/cbe7384016083eac16078b359acd7a842253d503"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-6988",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: DoS via memory exhaustion in opj_decompress",
+ "Description": "An issue was discovered in OpenJPEG 2.3.0. It allows remote attackers to cause a denial of service (attempted excessive memory allocation) in opj_calloc in openjp2/opj_malloc.c, when called from opj_tcd_init_tile in openjp2/tcd.c, as demonstrated by the 64-bit opj_decompress.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/106785",
+ "https://github.com/uclouvain/openjpeg/issues/1178"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-6851",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: Heap-based buffer overflow in opj_t1_clbl_decode_processor()",
+ "Description": "OpenJPEG through 2.3.1 has a heap-based buffer overflow in opj_t1_clbl_decode_processor in openjp2/t1.c because of lack of opj_j2k_update_image_dimensions validation.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-6851.html",
+ "http://linux.oracle.com/errata/ELSA-2020-0274.html",
+ "https://access.redhat.com/errata/RHSA-2020:0262",
+ "https://access.redhat.com/errata/RHSA-2020:0274",
+ "https://access.redhat.com/errata/RHSA-2020:0296",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-6851",
+ "https://github.com/uclouvain/openjpeg/issues/1228",
+ "https://lists.debian.org/debian-lts-announce/2020/01/msg00025.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LACIIDDCKZJEPKTTFILSOSBQL7L3FC6V/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XBRMI2D3XPVWKE3V52KRBW7BJVLS5LD3/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8112",
+ "PkgName": "libopenjp2-7",
+ "InstalledVersion": "2.3.0-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "openjpeg: heap-based buffer overflow in pj_t1_clbl_decode_processor in openjp2/t1.c",
+ "Description": "opj_t1_clbl_decode_processor in openjp2/t1.c in OpenJPEG 2.3.1 through 2020-01-28 has a heap-based buffer overflow in the qmfbid==1 case, a different issue than CVE-2020-6851.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-8112.html",
+ "http://linux.oracle.com/errata/ELSA-2020-0570.html",
+ "https://access.redhat.com/errata/RHSA-2020:0550",
+ "https://access.redhat.com/errata/RHSA-2020:0569",
+ "https://access.redhat.com/errata/RHSA-2020:0570",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8112",
+ "https://github.com/uclouvain/openjpeg/issues/1231",
+ "https://lists.debian.org/debian-lts-announce/2020/01/msg00035.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TFEVEKETJV7GOXD5RDWL35ESEDHC663E/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3843",
+ "PkgName": "libpam-systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: services with DynamicUser can create SUID/SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can create a SUID/SGID binary that would be allowed to run as the transient service UID/GID even after the service is terminated. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the UID/GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108116",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3843",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5JXQAKSTMABZ46EVCRMW62DHWYHTTFES/",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3844",
+ "PkgName": "libpam-systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: services with DynamicUser can get new privileges and create SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can get new privileges through the execution of SUID binaries, which would allow to create binaries owned by the service transient group with the setgid bit set. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108096",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3844",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1712",
+ "PkgName": "libpam-systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: use-after-free when asynchronous polkit queries are performed",
+ "Description": "A heap use-after-free vulnerability was found in systemd before version v245-rc1, where asynchronous Polkit queries are performed while handling dbus messages. A local unprivileged attacker can abuse this flaw to crash systemd services or potentially execute code and elevate their privileges, by sending specially crafted dbus messages.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-1712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-0575.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1712",
+ "https://github.com/systemd/systemd/commit/1068447e6954dc6ce52f099ed174c442cb89ed54",
+ "https://github.com/systemd/systemd/commit/637486261528e8aa3da9f26a4487dc254f4b7abb",
+ "https://github.com/systemd/systemd/commit/bc130b6858327b382b07b3985cf48e2aa9016b2d",
+ "https://github.com/systemd/systemd/commit/ea0d0ede03c6f18dbc5036c5e9cccf97e415ccc2",
+ "https://www.openwall.com/lists/oss-security/2020/02/05/1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-4392",
+ "PkgName": "libpam-systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: TOCTOU race condition when updating file permissions and SELinux security contexts",
+ "Description": "systemd, when updating file permissions, allows local users to change the permissions and SELinux security contexts for arbitrary files via a symlink attack on unspecified files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725357",
+ "http://www.openwall.com/lists/oss-security/2013/10/01/9",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=859060"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20386",
+ "PkgName": "libpam-systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: a memory leak was discovered in button_open in login/logind-button.c when udev events are received",
+ "Description": "An issue was discovered in button_open in login/logind-button.c in systemd before 243. When executing the udevadm trigger command, a memory leak may occur.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00014.html",
+ "https://github.com/systemd/systemd/commit/b2774a3ae692113e1f47a336a6c09bac9cfb49ad",
+ "https://security.netapp.com/advisory/ntap-20200210-0002/",
+ "https://usn.ubuntu.com/4269-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20454",
+ "PkgName": "libpcre2-8-0",
+ "InstalledVersion": "10.32-5",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "pcre: out-of-bounds read in JIT mode when \\X is used in non-UTF mode",
+ "Description": "An out-of-bounds read was discovered in PCRE before 10.34 when the pattern \\X is JIT compiled and used to match specially crafted subjects in non-UTF mode. Applications that use PCRE to parse untrusted input may be vulnerable to this flaw, which would allow an attacker to crash the application. The flaw occurs in do_extuni_no_utf in pcre2_jit_compile.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.exim.org/show_bug.cgi?id=2421",
+ "https://bugs.php.net/bug.php?id=78338",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1735494",
+ "https://vcs.pcre.org/pcre2?view=revision\u0026revision=1092"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-11164",
+ "PkgName": "libpcre3",
+ "InstalledVersion": "2:8.39-12",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "pcre: OP_KETRMAX feature in the match function in pcre_exec.c",
+ "Description": "In PCRE 8.41, the OP_KETRMAX feature in the match function in pcre_exec.c allows stack exhaustion (uncontrolled recursion) when processing a crafted regular expression.",
+ "Severity": "HIGH",
+ "References": [
+ "http://openwall.com/lists/oss-security/2017/07/11/3",
+ "http://www.securityfocus.com/bid/99575"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7245",
+ "PkgName": "libpcre3",
+ "InstalledVersion": "2:8.39-12",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "pcre: stack-based buffer overflow write in pcre32_copy_substring",
+ "Description": "Stack-based buffer overflow in the pcre32_copy_substring function in pcre_get.c in libpcre1 in PCRE 8.40 allows remote attackers to cause a denial of service (WRITE of size 4) or possibly have unspecified other impact via a crafted file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/97067",
+ "https://access.redhat.com/errata/RHSA-2018:2486",
+ "https://blogs.gentoo.org/ago/2017/03/20/libpcre-two-stack-based-buffer-overflow-write-in-pcre32_copy_substring-pcre_get-c/",
+ "https://security.gentoo.org/glsa/201710-25"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-7246",
+ "PkgName": "libpcre3",
+ "InstalledVersion": "2:8.39-12",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "pcre: stack-based buffer overflow write in pcre32_copy_substring",
+ "Description": "Stack-based buffer overflow in the pcre32_copy_substring function in pcre_get.c in libpcre1 in PCRE 8.40 allows remote attackers to cause a denial of service (WRITE of size 268) or possibly have unspecified other impact via a crafted file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/97067",
+ "https://access.redhat.com/errata/RHSA-2018:2486",
+ "https://blogs.gentoo.org/ago/2017/03/20/libpcre-two-stack-based-buffer-overflow-write-in-pcre32_copy_substring-pcre_get-c/",
+ "https://security.gentoo.org/glsa/201710-25"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-16231",
+ "PkgName": "libpcre3",
+ "InstalledVersion": "2:8.39-12",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "pcre: self-recursive call in match() in pcre_exec.c leads to denial of service",
+ "Description": "** DISPUTED ** In PCRE 8.41, after compiling, a pcretest load test PoC produces a crash overflow in the function match() in pcre_exec.c because of a self-recursive call. NOTE: third parties dispute the relevance of this report, noting that there are options that can be used to limit the amount of stack that is used.",
+ "Severity": "LOW",
+ "References": [
+ "http://packetstormsecurity.com/files/150897/PCRE-8.41-Buffer-Overflow.html",
+ "http://seclists.org/fulldisclosure/2018/Dec/33",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/11",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/3",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/7",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/8",
+ "http://www.securityfocus.com/bid/101688",
+ "https://bugs.exim.org/show_bug.cgi?id=2047"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-4116",
+ "PkgName": "libperl5.28",
+ "InstalledVersion": "5.28.1-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "perl: File::Temp insecure temporary file handling",
+ "Description": "_is_safe in the File::Temp module for Perl does not properly handle symlinks.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2011/11/04/2",
+ "http://www.openwall.com/lists/oss-security/2011/11/04/4",
+ "https://github.com/Perl-Toolchain-Gang/File-Temp/issues/14",
+ "https://rt.cpan.org/Public/Bug/Display.html?id=69106",
+ "https://seclists.org/oss-sec/2011/q4/238"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-14048",
+ "PkgName": "libpng16-16",
+ "InstalledVersion": "1.6.36-6",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libpng: Segmentation fault in png.c:png_free_data function causing denial of service",
+ "Description": "An issue has been found in libpng 1.6.34. It is a SEGV in the function png_free_data in png.c, related to the recommended error handling for png_read_image.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://packetstormsecurity.com/files/152561/Slackware-Security-Advisory-libpng-Updates.html",
+ "http://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html",
+ "https://github.com/fouzhe/security/tree/master/libpng",
+ "https://github.com/glennrp/libpng/issues/238",
+ "https://seclists.org/bugtraq/2019/Apr/30",
+ "https://security.gentoo.org/glsa/201908-02"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-14550",
+ "PkgName": "libpng16-16",
+ "InstalledVersion": "1.6.36-6",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libpng: Stack-based buffer overflow in contrib/pngminus/pnm2png.c:get_token() potentially leading to arbitrary code execution",
+ "Description": "An issue has been found in third-party PNM decoding associated with libpng 1.6.35. It is a stack-based buffer overflow in the function get_token in pnm2png.c in pnm2png.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/fouzhe/security/tree/master/libpng#stack-buffer-overflow-in-png2pnm-in-function-get_token",
+ "https://github.com/glennrp/libpng/issues/246",
+ "https://security.gentoo.org/glsa/201908-02"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-6129",
+ "PkgName": "libpng16-16",
+ "InstalledVersion": "1.6.36-6",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libpng: memory leak of png_info struct in pngcp.c",
+ "Description": "** DISPUTED ** png_create_info_struct in png.c in libpng 1.6.36 has a memory leak, as demonstrated by pngcp. NOTE: a third party has stated \"I don't think it is libpng's job to free this buffer.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/glennrp/libpng/issues/269",
+ "https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8492",
+ "PkgName": "libpython3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: wrong backtracking in urllib.request.AbstractBasicAuthHandler allows for a ReDoS",
+ "Description": "Python 2.7 through 2.7.17, 3.5 through 3.5.9, 3.6 through 3.6.10, 3.7 through 3.7.6, and 3.8 through 3.8.1 allows an HTTP server to conduct Regular Expression Denial of Service (ReDoS) attacks against a client because of urllib.request.AbstractBasicAuthHandler catastrophic backtracking.",
+ "Severity": "HIGH",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue39503",
+ "https://github.com/python/cpython/pull/18284",
+ "https://python-security.readthedocs.io/vuln/urllib-basic-auth-regex.html",
+ "https://security.netapp.com/advisory/ntap-20200221-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17522",
+ "PkgName": "libpython3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Command injection in Lib/webbrowser.py",
+ "Description": "** DISPUTED ** Lib/webbrowser.py in Python through 3.6.3 does not validate strings before launching the program specified by the BROWSER environment variable, which might allow remote attackers to conduct argument-injection attacks via a crafted URL. NOTE: a software maintainer indicates that exploitation is impossible because the code relies on subprocess.Popen and the default shell=False setting.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/102207",
+ "https://bugs.python.org/issue32367",
+ "https://security-tracker.debian.org/tracker/CVE-2017-17522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18348",
+ "PkgName": "libpython3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: CRLF injection via the host part of the url passed to urlopen()",
+ "Description": "An issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \\r\\n (specifically in the host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.)",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.python.org/issue30458#msg347282",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1727276",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4X3HW5JRZ7GCPSR7UHJOLD7AWLTQCDVR/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JCPGLTTOBB3QEARDX4JOYURP6ELNNA2V/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M34WOYCDKTDE5KLUACE2YIEH7D37KHRX/",
+ "https://security.netapp.com/advisory/ntap-20191107-0004/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9674",
+ "PkgName": "libpython3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Nested zip file (Zip bomb) vulnerability in Lib/zipfile.py",
+ "Description": "Lib/zipfile.py in Python through 3.7.2 allows remote attackers to cause a denial of service (resource consumption) via a ZIP bomb.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue36260",
+ "https://bugs.python.org/issue36462",
+ "https://github.com/python/cpython/blob/master/Lib/zipfile.py",
+ "https://python-security.readthedocs.io/security.html#archives-and-zip-bomb",
+ "https://security.netapp.com/advisory/ntap-20200221-0003/",
+ "https://www.python.org/news/security/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8492",
+ "PkgName": "libpython3.7-stdlib",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: wrong backtracking in urllib.request.AbstractBasicAuthHandler allows for a ReDoS",
+ "Description": "Python 2.7 through 2.7.17, 3.5 through 3.5.9, 3.6 through 3.6.10, 3.7 through 3.7.6, and 3.8 through 3.8.1 allows an HTTP server to conduct Regular Expression Denial of Service (ReDoS) attacks against a client because of urllib.request.AbstractBasicAuthHandler catastrophic backtracking.",
+ "Severity": "HIGH",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue39503",
+ "https://github.com/python/cpython/pull/18284",
+ "https://python-security.readthedocs.io/vuln/urllib-basic-auth-regex.html",
+ "https://security.netapp.com/advisory/ntap-20200221-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17522",
+ "PkgName": "libpython3.7-stdlib",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Command injection in Lib/webbrowser.py",
+ "Description": "** DISPUTED ** Lib/webbrowser.py in Python through 3.6.3 does not validate strings before launching the program specified by the BROWSER environment variable, which might allow remote attackers to conduct argument-injection attacks via a crafted URL. NOTE: a software maintainer indicates that exploitation is impossible because the code relies on subprocess.Popen and the default shell=False setting.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/102207",
+ "https://bugs.python.org/issue32367",
+ "https://security-tracker.debian.org/tracker/CVE-2017-17522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18348",
+ "PkgName": "libpython3.7-stdlib",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: CRLF injection via the host part of the url passed to urlopen()",
+ "Description": "An issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \\r\\n (specifically in the host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.)",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.python.org/issue30458#msg347282",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1727276",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4X3HW5JRZ7GCPSR7UHJOLD7AWLTQCDVR/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JCPGLTTOBB3QEARDX4JOYURP6ELNNA2V/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M34WOYCDKTDE5KLUACE2YIEH7D37KHRX/",
+ "https://security.netapp.com/advisory/ntap-20191107-0004/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9674",
+ "PkgName": "libpython3.7-stdlib",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Nested zip file (Zip bomb) vulnerability in Lib/zipfile.py",
+ "Description": "Lib/zipfile.py in Python through 3.7.2 allows remote attackers to cause a denial of service (resource consumption) via a ZIP bomb.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue36260",
+ "https://bugs.python.org/issue36462",
+ "https://github.com/python/cpython/blob/master/Lib/zipfile.py",
+ "https://python-security.readthedocs.io/security.html#archives-and-zip-bomb",
+ "https://security.netapp.com/advisory/ntap-20200221-0003/",
+ "https://www.python.org/news/security/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libquadmath0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libquadmath0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20446",
+ "PkgName": "librsvg2-2",
+ "InstalledVersion": "2.44.10-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "librsvg: Resource exhaustion via crafted SVG file with nested patterns",
+ "Description": "In xml.rs in GNOME librsvg before 2.46.2, a crafted SVG file with nested patterns can cause denial of service when passed to the library for processing. The attacker constructs pattern elements so that the number of final rendered objects grows exponentially.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00024.html",
+ "https://gitlab.gnome.org/GNOME/librsvg/issues/515",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/X3B5RWJQD5LA45MYLLR55KZJOJ5NVZGP/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20446",
+ "PkgName": "librsvg2-bin",
+ "InstalledVersion": "2.44.10-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "librsvg: Resource exhaustion via crafted SVG file with nested patterns",
+ "Description": "In xml.rs in GNOME librsvg before 2.46.2, a crafted SVG file with nested patterns can cause denial of service when passed to the library for processing. The attacker constructs pattern elements so that the number of final rendered objects grows exponentially.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00024.html",
+ "https://gitlab.gnome.org/GNOME/librsvg/issues/515",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/X3B5RWJQD5LA45MYLLR55KZJOJ5NVZGP/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20446",
+ "PkgName": "librsvg2-common",
+ "InstalledVersion": "2.44.10-2.1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "librsvg: Resource exhaustion via crafted SVG file with nested patterns",
+ "Description": "In xml.rs in GNOME librsvg before 2.46.2, a crafted SVG file with nested patterns can cause denial of service when passed to the library for processing. The attacker constructs pattern elements so that the number of final rendered objects grows exponentially.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00024.html",
+ "https://gitlab.gnome.org/GNOME/librsvg/issues/515",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/X3B5RWJQD5LA45MYLLR55KZJOJ5NVZGP/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9893",
+ "PkgName": "libseccomp2",
+ "InstalledVersion": "2.3.3-4",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "libseccomp: incorrect generation of syscall filters in libseccomp",
+ "Description": "libseccomp before 2.4.0 did not correctly generate 64-bit syscall argument comparisons using the arithmetic operators (LT, GT, LE, GE), which might able to lead to bypassing seccomp filters and potential privilege escalations.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-9893.html",
+ "http://linux.oracle.com/errata/ELSA-2019-3624.html",
+ "https://github.com/seccomp/libseccomp/issues/139",
+ "https://seclists.org/oss-sec/2019/q1/179",
+ "https://security.gentoo.org/glsa/201904-18",
+ "https://usn.ubuntu.com/4001-1/",
+ "https://usn.ubuntu.com/4001-2/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11656",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: use-after-free in the ALTER TABLE implementation",
+ "Description": "In SQLite through 3.31.1, the ALTER TABLE implementation has a use-after-free, as demonstrated by an ORDER BY clause that belongs to a compound SELECT statement.",
+ "Severity": "HIGH",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20200416-0001/",
+ "https://www.sqlite.org/src/info/d09f8c3621d5f7f8",
+ "https://www3.sqlite.org/cgi/src/info/b64674919f673602"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16168",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: division by zero in whereLoopAddBtreeIndex in sqlite3.c",
+ "Description": "In SQLite through 3.29.0, whereLoopAddBtreeIndex in sqlite3.c can crash a browser or other application because of missing validation of a sqlite_stat1 sz field, aka a \"severe division by zero in the query planner.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00032.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00033.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XZARJHJJDBHI7CE5PZEBXS5HKK6HXKW2/",
+ "https://security.netapp.com/advisory/ntap-20190926-0003/",
+ "https://security.netapp.com/advisory/ntap-20200122-0003/",
+ "https://usn.ubuntu.com/4205-1/",
+ "https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg116312.html",
+ "https://www.oracle.com/security-alerts/cpujan2020.html",
+ "https://www.sqlite.org/src/info/e4598ecbdd18bd82945f6029013296690e719a62",
+ "https://www.sqlite.org/src/timeline?c=98357d8c1263920b"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19242",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: SQL injection in sqlite3ExprCodeTarget in expr.c",
+ "Description": "SQLite 3.30.1 mishandles pExpr-\u003ey.pTab, as demonstrated by the TK_COLUMN case in sqlite3ExprCodeTarget in expr.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/sqlite/sqlite/commit/57f7ece78410a8aae86aa4625fb7556897db384c",
+ "https://usn.ubuntu.com/4205-1/",
+ "https://www.oracle.com/security-alerts/cpuapr2020.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19244",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: allows a crash if a sub-select uses both DISTINCT and window functions and also has certain ORDER BY usage",
+ "Description": "sqlite3Select in select.c in SQLite 3.30.1 allows a crash if a sub-select uses both DISTINCT and window functions, and also has certain ORDER BY usage.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/sqlite/sqlite/commit/e59c562b3f6894f84c715772c4b116d7b5c01348",
+ "https://usn.ubuntu.com/4205-1/",
+ "https://www.oracle.com/security-alerts/cpuapr2020.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19603",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: mishandles certain SELECT statements with a nonexistent VIEW, leading to DoS",
+ "Description": "SQLite 3.30.1 mishandles certain SELECT statements with a nonexistent VIEW, leading to an application crash.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/sqlite/sqlite/commit/527cbd4a104cb93bf3994b3dd3619a6299a78b13",
+ "https://security.netapp.com/advisory/ntap-20191223-0001/",
+ "https://www.oracle.com/security-alerts/cpuapr2020.html",
+ "https://www.sqlite.org/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19923",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: mishandling of certain uses of SELECT DISTINCT involving a LEFT JOIN in flattenSubquery in select.c leads to a NULL pointer dereference",
+ "Description": "flattenSubquery in select.c in SQLite 3.30.1 mishandles certain uses of SELECT DISTINCT involving a LEFT JOIN in which the right-hand side is a view. This can cause a NULL pointer dereference (or incorrect results).",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19923",
+ "https://github.com/sqlite/sqlite/commit/396afe6f6aa90a31303c183e11b2b2d4b7956b35",
+ "https://security.netapp.com/advisory/ntap-20200114-0003/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19924",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: incorrect sqlite3WindowRewrite() error handling leads to mishandling certain parser-tree rewriting",
+ "Description": "SQLite 3.30.1 mishandles certain parser-tree rewriting, related to expr.c, vdbeaux.c, and window.c. This is caused by incorrect sqlite3WindowRewrite() error handling.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/sqlite/sqlite/commit/8654186b0236d556aa85528c2573ee0b6ab71be3",
+ "https://security.netapp.com/advisory/ntap-20200114-0003/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19925",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: zipfileUpdate in ext/misc/zipfile.c mishandles a NULL pathname during an update of a ZIP archive",
+ "Description": "zipfileUpdate in ext/misc/zipfile.c in SQLite 3.30.1 mishandles a NULL pathname during an update of a ZIP archive.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19925",
+ "https://github.com/sqlite/sqlite/commit/54d501092d88c0cf89bec4279951f548fb0b8618",
+ "https://security.netapp.com/advisory/ntap-20200114-0003/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19959",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: mishandles certain uses of INSERT INTO in situations involving embedded '\\0' characters in filenames",
+ "Description": "ext/misc/zipfile.c in SQLite 3.30.1 mishandles certain uses of INSERT INTO in situations involving embedded '\\0' characters in filenames, leading to a memory-management error that can be detected by (for example) valgrind.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/sqlite/sqlite/commit/1e490c4ca6b43a9cf8637d695907888349f69bec",
+ "https://github.com/sqlite/sqlite/commit/d8f2d46cbc9925e034a68aaaf60aad788d9373c1",
+ "https://security.netapp.com/advisory/ntap-20200204-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20218",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: selectExpander in select.c proceeds with WITH stack unwinding even after a parsing error",
+ "Description": "selectExpander in select.c in SQLite 3.30.1 proceeds with WITH stack unwinding even after a parsing error.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/sqlite/sqlite/commit/a6c1a71cde082e09750465d5675699062922e387",
+ "https://usn.ubuntu.com/4298-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11655",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: malformed window-function query leads to DoS",
+ "Description": "SQLite through 3.31.1 allows attackers to cause a denial of service (segmentation fault) via a malformed window-function query because the AggInfo object's initialization is mishandled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.netapp.com/advisory/ntap-20200416-0001/",
+ "https://www3.sqlite.org/cgi/src/info/4a302b42c7bf5e11",
+ "https://www3.sqlite.org/cgi/src/tktview?name=af4556bb5c"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-9327",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: NULL pointer dereference and segmentation fault because of generated column optimizations",
+ "Description": "In SQLite 3.31.1, isAuxiliaryVtabOperator allows attackers to trigger a NULL pointer dereference and segmentation fault because of generated column optimizations.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://security.gentoo.org/glsa/202003-16",
+ "https://security.netapp.com/advisory/ntap-20200313-0002/",
+ "https://usn.ubuntu.com/4298-1/",
+ "https://www.sqlite.org/cgi/src/info/4374860b29383380",
+ "https://www.sqlite.org/cgi/src/info/9d0d4ab95dc0c56e",
+ "https://www.sqlite.org/cgi/src/info/abc473fb8fb99900"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19645",
+ "PkgName": "libsqlite3-0",
+ "InstalledVersion": "3.27.2-3",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "sqlite: infinite recursion via certain types of self-referential views in conjunction with ALTER TABLE statements",
+ "Description": "alter.c in SQLite through 3.30.1 allows attackers to trigger infinite recursion via certain types of self-referential views in conjunction with ALTER TABLE statements.",
+ "Severity": "LOW",
+ "References": [
+ "https://github.com/sqlite/sqlite/commit/38096961c7cd109110ac21d3ed7dad7e0cb0ae06",
+ "https://security.netapp.com/advisory/ntap-20191223-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-13115",
+ "PkgName": "libssh2-1",
+ "InstalledVersion": "1.8.0-2.1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libssh2: integer overflow in kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c leads to out-of-bounds write",
+ "Description": "In libssh2 before 1.9.0, kex_method_diffie_hellman_group_exchange_sha256_key_exchange in kex.c has an integer overflow that could lead to an out-of-bounds read in the way packets are read from the server. A remote attacker who compromises a SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server. This is related to an _libssh2_check_length mistake, and is different from the various issues fixed in 1.8.1, such as CVE-2019-3855.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://blog.semmle.com/libssh2-integer-overflow/",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13115",
+ "https://github.com/libssh2/libssh2/compare/02ecf17...42d37aa",
+ "https://github.com/libssh2/libssh2/pull/350",
+ "https://libssh2.org/changes.html",
+ "https://lists.debian.org/debian-lts-announce/2019/07/msg00024.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-17498",
+ "PkgName": "libssh2-1",
+ "InstalledVersion": "1.8.0-2.1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "libssh2: integer overflow in SSH_MSG_DISCONNECT logic in packet.c",
+ "Description": "In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a denial of service condition on the client system when a user connects to the server.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00026.html",
+ "https://blog.semmle.com/libssh2-integer-overflow-CVE-2019-17498/",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-17498",
+ "https://github.com/kevinbackhouse/SecurityExploits/tree/8cbdbbe6363510f7d9ceec685373da12e6fc752d/libssh2/out_of_bounds_read_disconnect_CVE-2019-17498",
+ "https://github.com/libssh2/libssh2/blob/42d37aa63129a1b2644bf6495198923534322d64/src/packet.c#L480",
+ "https://github.com/libssh2/libssh2/pull/402/commits/1c6fa92b77e34d089493fe6d3e2c6c8775858b94",
+ "https://lists.debian.org/debian-lts-announce/2019/11/msg00010.html",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TY7EEE34RFKCTXTMBQQWWSLXZWSCXNDB/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-6755",
+ "PkgName": "libssl1.1",
+ "InstalledVersion": "1.1.1d-0+deb10u3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "Dual_EC_DRBG: weak pseudo random number generator",
+ "Description": "The NIST SP 800-90A default statement of the Dual Elliptic Curve Deterministic Random Bit Generation (Dual_EC_DRBG) algorithm contains point Q constants with a possible relationship to certain \"skeleton key\" values, which might allow context-dependent attackers to defeat cryptographic protection mechanisms by leveraging knowledge of those values. NOTE: this is a preliminary CVE for Dual_EC_DRBG; future research may provide additional details about point Q and associated attacks, and could potentially lead to a RECAST or REJECT of this CVE.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://arstechnica.com/security/2013/09/stop-using-nsa-influence-code-in-our-product-rsa-tells-customers/",
+ "http://blog.cryptographyengineering.com/2013/09/rsa-warns-developers-against-its-own.html",
+ "http://blog.cryptographyengineering.com/2013/09/the-many-flaws-of-dualecdrbg.html",
+ "http://rump2007.cr.yp.to/15-shumow.pdf",
+ "http://stream.wsj.com/story/latest-headlines/SS-2-63399/SS-2-332655/",
+ "http://threatpost.com/in-wake-of-latest-crypto-revelations-everything-is-suspect",
+ "http://www.securityfocus.com/bid/63657",
+ "https://www.schneier.com/blog/archives/2007/11/the_strange_sto.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-0928",
+ "PkgName": "libssl1.1",
+ "InstalledVersion": "1.1.1d-0+deb10u3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openssl: RSA authentication weakness",
+ "Description": "OpenSSL 0.9.8i on the Gaisler Research LEON3 SoC on the Xilinx Virtex-II Pro FPGA uses a Fixed Width Exponentiation (FWE) algorithm for certain signature calculations, and does not verify the signature before providing it to a caller, which makes it easier for physically proximate attackers to determine the private key via a modified supply voltage for the microprocessor, related to a \"fault-based attack.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://rdist.root.org/2010/03/08/attacking-rsa-exponentiation-with-fault-injection/",
+ "http://www.eecs.umich.edu/%7Evaleria/research/publications/DATE10RSA.pdf",
+ "http://www.networkworld.com/news/2010/030410-rsa-security-attack.html",
+ "http://www.osvdb.org/62808",
+ "http://www.theregister.co.uk/2010/03/04/severe_openssl_vulnerability/",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/56750"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1551",
+ "PkgName": "libssl1.1",
+ "InstalledVersion": "1.1.1d-0+deb10u3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openssl: Integer overflow in RSAZ modular exponentiation on x86_64",
+ "Description": "There is an overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli. No EC algorithms are affected. Analysis suggests that attacks against 2-prime RSA1024, 3-prime RSA1536, and DSA1024 as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH512 are considered just feasible. However, for an attack the target would have to re-use the DH512 private key, which is not recommended anyway. Also applications directly using the low level API BN_mod_exp may be affected if they use BN_FLG_CONSTTIME. Fixed in OpenSSL 1.1.1e (Affected 1.1.1-1.1.1d). Fixed in OpenSSL 1.0.2u (Affected 1.0.2-1.0.2t).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00030.html",
+ "http://packetstormsecurity.com/files/155754/Slackware-Security-Advisory-openssl-Updates.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1551",
+ "https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=419102400a2811582a7a3d4a4e317d72e5ce0a8f",
+ "https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=f1c5eea8a817075d31e43f5876993c6710238c98",
+ "https://github.com/openssl/openssl/pull/10575",
+ "https://seclists.org/bugtraq/2019/Dec/39",
+ "https://seclists.org/bugtraq/2019/Dec/46",
+ "https://security.netapp.com/advisory/ntap-20191210-0001/",
+ "https://www.debian.org/security/2019/dsa-4594",
+ "https://www.openssl.org/news/secadv/20191206.txt",
+ "https://www.tenable.com/security/tns-2019-09"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libstdc++-8-dev",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libstdc++-8-dev",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libstdc++6",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libstdc++6",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3843",
+ "PkgName": "libsystemd0",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: services with DynamicUser can create SUID/SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can create a SUID/SGID binary that would be allowed to run as the transient service UID/GID even after the service is terminated. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the UID/GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108116",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3843",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5JXQAKSTMABZ46EVCRMW62DHWYHTTFES/",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3844",
+ "PkgName": "libsystemd0",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: services with DynamicUser can get new privileges and create SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can get new privileges through the execution of SUID binaries, which would allow to create binaries owned by the service transient group with the setgid bit set. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108096",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3844",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1712",
+ "PkgName": "libsystemd0",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: use-after-free when asynchronous polkit queries are performed",
+ "Description": "A heap use-after-free vulnerability was found in systemd before version v245-rc1, where asynchronous Polkit queries are performed while handling dbus messages. A local unprivileged attacker can abuse this flaw to crash systemd services or potentially execute code and elevate their privileges, by sending specially crafted dbus messages.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-1712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-0575.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1712",
+ "https://github.com/systemd/systemd/commit/1068447e6954dc6ce52f099ed174c442cb89ed54",
+ "https://github.com/systemd/systemd/commit/637486261528e8aa3da9f26a4487dc254f4b7abb",
+ "https://github.com/systemd/systemd/commit/bc130b6858327b382b07b3985cf48e2aa9016b2d",
+ "https://github.com/systemd/systemd/commit/ea0d0ede03c6f18dbc5036c5e9cccf97e415ccc2",
+ "https://www.openwall.com/lists/oss-security/2020/02/05/1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-4392",
+ "PkgName": "libsystemd0",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: TOCTOU race condition when updating file permissions and SELinux security contexts",
+ "Description": "systemd, when updating file permissions, allows local users to change the permissions and SELinux security contexts for arbitrary files via a symlink attack on unspecified files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725357",
+ "http://www.openwall.com/lists/oss-security/2013/10/01/9",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=859060"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20386",
+ "PkgName": "libsystemd0",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: a memory leak was discovered in button_open in login/logind-button.c when udev events are received",
+ "Description": "An issue was discovered in button_open in login/logind-button.c in systemd before 243. When executing the udevadm trigger command, a memory leak may occur.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00014.html",
+ "https://github.com/systemd/systemd/commit/b2774a3ae692113e1f47a336a6c09bac9cfb49ad",
+ "https://security.netapp.com/advisory/ntap-20200210-0002/",
+ "https://usn.ubuntu.com/4269-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1000654",
+ "PkgName": "libtasn1-6",
+ "InstalledVersion": "4.13-3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "libtasn1: Infinite loop in _asn1_expand_object_id(ptree) leads to memory exhaustion",
+ "Description": "GNU Libtasn1-4.13 libtasn1-4.13 version libtasn1-4.13, libtasn1-4.12 contains a DoS, specifically CPU usage will reach 100% when running asn1Paser against the POC due to an issue in _asn1_expand_object_id(p_tree), after a long time, the program will be killed. This attack appears to be exploitable via parsing a crafted file.",
+ "Severity": "HIGH",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00009.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00018.html",
+ "http://www.securityfocus.com/bid/105151",
+ "https://gitlab.com/gnutls/libtasn1/issues/4"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-9117",
+ "PkgName": "libtiff5",
+ "InstalledVersion": "4.1.0+git191117-2~deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libtiff: Heap-based buffer over-read in bmp2tiff",
+ "Description": "In LibTIFF 4.0.7, the program processes BMP images without verifying that biWidth and biHeight in the bitmap-information header match the actual input, leading to a heap-based buffer over-read in bmp2tiff.",
+ "Severity": "HIGH",
+ "References": [
+ "http://bugzilla.maptools.org/show_bug.cgi?id=2690",
+ "http://www.securityfocus.com/bid/98581",
+ "https://usn.ubuntu.com/3606-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2014-8130",
+ "PkgName": "libtiff5",
+ "InstalledVersion": "4.1.0+git191117-2~deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libtiff: divide by zero in the tiffdither tool",
+ "Description": "The _TIFFmalloc function in tif_unix.c in LibTIFF 4.0.3 does not reject a zero size, which allows remote attackers to cause a denial of service (divide-by-zero error and application crash) via a crafted TIFF image that is mishandled by the TIFFWriteScanline function in tif_write.c, as demonstrated by tiffdither.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugzilla.maptools.org/show_bug.cgi?id=2483",
+ "http://linux.oracle.com/cve/CVE-2014-8130.html",
+ "http://linux.oracle.com/errata/ELSA-2016-1547.html",
+ "http://lists.apple.com/archives/security-announce/2015/Jun/msg00001.html",
+ "http://lists.apple.com/archives/security-announce/2015/Jun/msg00002.html",
+ "http://openwall.com/lists/oss-security/2015/01/24/15",
+ "http://rhn.redhat.com/errata/RHSA-2016-1546.html",
+ "http://rhn.redhat.com/errata/RHSA-2016-1547.html",
+ "http://support.apple.com/kb/HT204941",
+ "http://support.apple.com/kb/HT204942",
+ "http://www.conostix.com/pub/adv/CVE-2014-8130-LibTIFF-Division_By_Zero.txt",
+ "http://www.securityfocus.com/bid/72353",
+ "http://www.securitytracker.com/id/1032760",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1185817",
+ "https://github.com/vadz/libtiff/commit/3c5eb8b1be544e41d2c336191bc4936300ad7543",
+ "https://security.gentoo.org/glsa/201701-16"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-16232",
+ "PkgName": "libtiff5",
+ "InstalledVersion": "4.1.0+git191117-2~deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libtiff: Memory leaks in tif_open.c, tif_lzw.c, and tif_aux.c",
+ "Description": "** DISPUTED ** LibTIFF 4.0.8 has multiple memory leak vulnerabilities, which allow attackers to cause a denial of service (memory consumption), as demonstrated by tif_open.c, tif_lzw.c, and tif_aux.c. NOTE: Third parties were unable to reproduce the issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2018-01/msg00036.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2018-01/msg00041.html",
+ "http://packetstormsecurity.com/files/150896/LibTIFF-4.0.8-Memory-Leak.html",
+ "http://seclists.org/fulldisclosure/2018/Dec/32",
+ "http://seclists.org/fulldisclosure/2018/Dec/47",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/11",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/3",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/7",
+ "http://www.openwall.com/lists/oss-security/2017/11/01/8",
+ "http://www.securityfocus.com/bid/101696"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17973",
+ "PkgName": "libtiff5",
+ "InstalledVersion": "4.1.0+git191117-2~deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libtiff: heap-based use after free in tiff2pdf.c:t2p_writeproc",
+ "Description": "** DISPUTED ** In LibTIFF 4.0.8, there is a heap-based use-after-free in the t2p_writeproc function in tiff2pdf.c. NOTE: there is a third-party report of inability to reproduce this issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugzilla.maptools.org/show_bug.cgi?id=2769",
+ "http://www.securityfocus.com/bid/102331",
+ "https://bugzilla.novell.com/show_bug.cgi?id=1074318",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1530912"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-5563",
+ "PkgName": "libtiff5",
+ "InstalledVersion": "4.1.0+git191117-2~deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libtiff: Heap-buffer overflow in LZWEncode tif_lzw.c",
+ "Description": "LibTIFF version 4.0.7 is vulnerable to a heap-based buffer over-read in tif_lzw.c resulting in DoS or code execution via a crafted bmp image to tools/bmp2tiff.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugzilla.maptools.org/show_bug.cgi?id=2664",
+ "http://www.securityfocus.com/bid/95705",
+ "https://security.gentoo.org/glsa/201709-27",
+ "https://usn.ubuntu.com/3606-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-10126",
+ "PkgName": "libtiff5",
+ "InstalledVersion": "4.1.0+git191117-2~deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libtiff: NULL pointer dereference in the jpeg_fdct_16x16 function in jfdctint.c",
+ "Description": "LibTIFF 4.0.9 has a NULL pointer dereference in the jpeg_fdct_16x16 function in jfdctint.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://bugzilla.maptools.org/show_bug.cgi?id=2786"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libtsan0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libtsan0",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12886",
+ "PkgName": "libubsan1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: spilling of stack protection address in cfgexpand.c and function.c leads to stack-overflow protection bypass",
+ "Description": "stack_protect_prologue in cfgexpand.c and stack_protect_epilogue in function.c in GNU Compiler Collection (GCC) 4.1 through 8 (under certain circumstances) generate instruction sequences when targeting ARM targets that spill the address of the stack protector guard, which allows an attacker to bypass the protection of -fstack-protector, -fstack-protector-all, -fstack-protector-strong, and -fstack-protector-explicit against stack overflow by controlling what the stack canary is compared against.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/arm/arm-protos.h?revision=266379\u0026view=markup",
+ "https://www.gnu.org/software/gcc/gcc-8/changes.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15847",
+ "PkgName": "libubsan1",
+ "InstalledVersion": "8.3.0-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "gcc: POWER9 \"DARN\" RNG intrinsic produces repeated output",
+ "Description": "The POWER9 backend in GNU Compiler Collection (GCC) before version 10 could optimize multiple calls of the __builtin_darn intrinsic into a single call, thus reducing the entropy of the random number generator. This occurred because a volatile operation was not specified. For example, within a single execution of a program, the output of every __builtin_darn() call may be the same.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00056.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-10/msg00057.html",
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91481"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3843",
+ "PkgName": "libudev1",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: services with DynamicUser can create SUID/SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can create a SUID/SGID binary that would be allowed to run as the transient service UID/GID even after the service is terminated. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the UID/GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108116",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3843",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5JXQAKSTMABZ46EVCRMW62DHWYHTTFES/",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3844",
+ "PkgName": "libudev1",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: services with DynamicUser can get new privileges and create SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can get new privileges through the execution of SUID binaries, which would allow to create binaries owned by the service transient group with the setgid bit set. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108096",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3844",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1712",
+ "PkgName": "libudev1",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: use-after-free when asynchronous polkit queries are performed",
+ "Description": "A heap use-after-free vulnerability was found in systemd before version v245-rc1, where asynchronous Polkit queries are performed while handling dbus messages. A local unprivileged attacker can abuse this flaw to crash systemd services or potentially execute code and elevate their privileges, by sending specially crafted dbus messages.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-1712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-0575.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1712",
+ "https://github.com/systemd/systemd/commit/1068447e6954dc6ce52f099ed174c442cb89ed54",
+ "https://github.com/systemd/systemd/commit/637486261528e8aa3da9f26a4487dc254f4b7abb",
+ "https://github.com/systemd/systemd/commit/bc130b6858327b382b07b3985cf48e2aa9016b2d",
+ "https://github.com/systemd/systemd/commit/ea0d0ede03c6f18dbc5036c5e9cccf97e415ccc2",
+ "https://www.openwall.com/lists/oss-security/2020/02/05/1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-4392",
+ "PkgName": "libudev1",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: TOCTOU race condition when updating file permissions and SELinux security contexts",
+ "Description": "systemd, when updating file permissions, allows local users to change the permissions and SELinux security contexts for arbitrary files via a symlink attack on unspecified files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725357",
+ "http://www.openwall.com/lists/oss-security/2013/10/01/9",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=859060"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20386",
+ "PkgName": "libudev1",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "systemd: a memory leak was discovered in button_open in login/logind-button.c when udev events are received",
+ "Description": "An issue was discovered in button_open in login/logind-button.c in systemd before 243. When executing the udevadm trigger command, a memory leak may occur.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00014.html",
+ "https://github.com/systemd/systemd/commit/b2774a3ae692113e1f47a336a6c09bac9cfb49ad",
+ "https://security.netapp.com/advisory/ntap-20200210-0002/",
+ "https://usn.ubuntu.com/4269-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9085",
+ "PkgName": "libwebp6",
+ "InstalledVersion": "0.6.1-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libwebp: Several integer overflows",
+ "Description": "Multiple integer overflows in libwebp allows attackers to have unspecified impact via unknown vectors.",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/27/3",
+ "http://www.securityfocus.com/bid/93928",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1389338",
+ "https://chromium.googlesource.com/webm/libwebp/+/e2affacc35f1df6cc3b1a9fa0ceff5ce2d0cce83",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LG5Q42J7EJDKQKWTTHCO4YZMOMP74YPQ/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PTR2ZW67TMT7KC24RBENIF25KWUJ7VPD/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SH6X3MWD5AHZC5JT4625PGFHAYLR7YW7/",
+ "https://security.gentoo.org/glsa/201701-61"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9085",
+ "PkgName": "libwebpmux3",
+ "InstalledVersion": "0.6.1-2",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "libwebp: Several integer overflows",
+ "Description": "Multiple integer overflows in libwebp allows attackers to have unspecified impact via unknown vectors.",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/27/3",
+ "http://www.securityfocus.com/bid/93928",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1389338",
+ "https://chromium.googlesource.com/webm/libwebp/+/e2affacc35f1df6cc3b1a9fa0ceff5ce2d0cce83",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LG5Q42J7EJDKQKWTTHCO4YZMOMP74YPQ/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PTR2ZW67TMT7KC24RBENIF25KWUJ7VPD/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SH6X3MWD5AHZC5JT4625PGFHAYLR7YW7/",
+ "https://security.gentoo.org/glsa/201701-61"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-9318",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: XML External Entity vulnerability",
+ "Description": "libxml2 2.9.4 and earlier, as used in XMLSec 1.2.23 and earlier and other products, does not offer a flag directly indicating that the current document may be read but other files may not be opened, which makes it easier for remote attackers to conduct XML External Entity (XXE) attacks via a crafted document.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/94347",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=772726",
+ "https://github.com/lsh123/xmlsec/issues/43",
+ "https://security.gentoo.org/glsa/201711-01",
+ "https://usn.ubuntu.com/3739-1/",
+ "https://usn.ubuntu.com/3739-2/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-16932",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: Infinite recursion in parameter entities",
+ "Description": "parser.c in libxml2 before 2.9.5 does not prevent infinite recursion in parameter entities.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://xmlsoft.org/news.html",
+ "https://blog.clamav.net/2018/07/clamav-01001-has-been-released.html",
+ "https://bugzilla.gnome.org/show_bug.cgi?id=759579",
+ "https://github.com/GNOME/libxml2/commit/899a5d9f0ed13b8e32449a08a361e0de127dd961",
+ "https://github.com/sparklemotion/nokogiri/issues/1714",
+ "https://lists.debian.org/debian-lts-announce/2017/11/msg00041.html",
+ "https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-16932.html",
+ "https://usn.ubuntu.com/3739-1/",
+ "https://usn.ubuntu.com/usn/usn-3504-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-18258",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: Unrestricted memory usage in xz_head() function in xzlib.c",
+ "Description": "The xz_head function in xzlib.c in libxml2 before 2.9.6 allows remote attackers to cause a denial of service (memory consumption) via a crafted LZMA file, because the decoder functionality does not restrict memory usage to what is required for a legitimate file.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2017-18258.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1190.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-18258",
+ "https://git.gnome.org/browse/libxml2/commit/?id=e2a9122b8dde53d320750451e9907a7dcb2ca8bb",
+ "https://kc.mcafee.com/corporate/index?page=content\u0026id=SB10284",
+ "https://lists.debian.org/debian-lts-announce/2018/09/msg00035.html",
+ "https://security.netapp.com/advisory/ntap-20190719-0001/",
+ "https://usn.ubuntu.com/3739-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-14404",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: NULL pointer dereference in xmlXPathCompOpEval() function in xpath.c",
+ "Description": "A NULL pointer dereference vulnerability exists in the xpath.c:xmlXPathCompOpEval() function of libxml2 through 2.9.8 when parsing an invalid XPath expression in the XPATH_OP_AND or XPATH_OP_OR case. Applications processing untrusted XSL format inputs with the use of the libxml2 library may be vulnerable to a denial of service attack due to a crash of the application.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-14404.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1190.html",
+ "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901817",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1595985",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14404",
+ "https://github.com/sparklemotion/nokogiri/issues/1785",
+ "https://gitlab.gnome.org/GNOME/libxml2/commit/2240fbf5912054af025fb6e01e26375100275e74",
+ "https://gitlab.gnome.org/GNOME/libxml2/commit/a436374994c47b12d5de1b8b1d191a098fa23594",
+ "https://gitlab.gnome.org/GNOME/libxml2/issues/10",
+ "https://groups.google.com/forum/#!msg/ruby-security-ann/uVrmO2HjqQw/Fw3ocLI0BQAJ",
+ "https://lists.debian.org/debian-lts-announce/2018/09/msg00035.html",
+ "https://usn.ubuntu.com/3739-1/",
+ "https://usn.ubuntu.com/3739-2/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-14567",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: Infinite loop caused by incorrect error detection during LZMA decompression",
+ "Description": "libxml2 2.9.8, if --with-lzma is used, allows remote attackers to cause a denial of service (infinite loop) via a crafted XML file that triggers LZMA_MEMLIMIT_ERROR, as demonstrated by xmllint, a different vulnerability than CVE-2015-8035 and CVE-2018-9251.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-14567.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1190.html",
+ "http://www.securityfocus.com/bid/105198",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14567",
+ "https://gitlab.gnome.org/GNOME/libxml2/commit/2240fbf5912054af025fb6e01e26375100275e74",
+ "https://lists.debian.org/debian-lts-announce/2018/09/msg00035.html",
+ "https://usn.ubuntu.com/3739-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19956",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: There's a memory leak in xmlParseBalancedChunkMemoryRecover in parser.c that could result in a crash",
+ "Description": "xmlParseBalancedChunkMemoryRecover in parser.c in libxml2 before 2.9.10 has a memory leak related to newDoc-\u003eoldNs.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19956",
+ "https://gitlab.gnome.org/GNOME/libxml2/commit/5a02583c7e683896d84878bd90641d8d9b0d0549",
+ "https://lists.debian.org/debian-lts-announce/2019/12/msg00032.html",
+ "https://security.netapp.com/advisory/ntap-20200114-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20388",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: memory leak in xmlSchemaPreRun in xmlschemas.c",
+ "Description": "xmlSchemaPreRun in xmlschemas.c in libxml2 2.9.10 allows an xmlSchemaValidateStream memory leak.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://gitlab.gnome.org/GNOME/libxml2/merge_requests/68",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/545SPOI3ZPPNPX4TFRIVE4JVRTJRKULL/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-7595",
+ "PkgName": "libxml2",
+ "InstalledVersion": "2.9.4+dfsg1-7",
+ "Layer": {
+ "Digest": "sha256:81ecb6839daa3e8fbc774a09c24e2895ec6e34909e6fc23b8807ac17d8b9eeae",
+ "DiffID": "sha256:d0adf3a81fd4a0fb4bddcca9caf054716492d25fb47252c75bddf3083b66cbd6"
+ },
+ "Title": "libxml2: infinite loop in xmlStringLenDecodeEntities in some end-of-file situations",
+ "Description": "xmlStringLenDecodeEntities in parser.c in libxml2 2.9.10 has an infinite loop in a certain end-of-file situation.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/sparklemotion/nokogiri/issues/1992",
+ "https://gitlab.gnome.org/GNOME/libxml2/commit/0e1a49c89076",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/545SPOI3ZPPNPX4TFRIVE4JVRTJRKULL/",
+ "https://usn.ubuntu.com/4274-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19814",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: out-of-bounds write in __remove_dirty_segment in fs/f2fs/segment.c",
+ "Description": "In the Linux kernel 5.0.21, mounting a crafted f2fs filesystem image can cause __remove_dirty_segment slab-out-of-bounds write access because an array is bounded by the number of dirty types (8) but the array index can exceed this.",
+ "Severity": "CRITICAL",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19814",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19816",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: out-of-bounds write in __btrfs_map_block in fs/btrfs/volumes.c",
+ "Description": "In the Linux kernel 5.0.21, mounting a crafted btrfs filesystem image and performing some operations can cause slab-out-of-bounds write access in __btrfs_map_block in fs/btrfs/volumes.c, because a value of 1 for the number of data stripes is mishandled.",
+ "Severity": "CRITICAL",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19816",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-4609",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: TCP protocol vulnerabilities from Outpost24",
+ "Description": "The TCP implementation in (1) Linux, (2) platforms based on BSD Unix, (3) Microsoft Windows, (4) Cisco products, and probably other operating systems allows remote attackers to cause a denial of service (connection queue exhaustion) via multiple vectors that manipulate information in the TCP state table, as demonstrated by sockstress.",
+ "Severity": "HIGH",
+ "References": [
+ "http://blog.robertlee.name/2008/10/conjecture-speculation.html",
+ "http://insecure.org/stf/tcp-dos-attack-explained.html",
+ "http://lists.immunitysec.com/pipermail/dailydave/2008-October/005360.html",
+ "http://marc.info/?l=bugtraq\u0026m=125856010926699\u0026w=2",
+ "http://searchsecurity.techtarget.com.au/articles/27154-TCP-is-fundamentally-borked",
+ "http://www.cisco.com/en/US/products/products_security_advisory09186a0080af511d.shtml",
+ "http://www.cisco.com/en/US/products/products_security_response09186a0080a15120.html",
+ "http://www.cpni.gov.uk/Docs/tn-03-09-security-assessment-TCP.pdf",
+ "http://www.mandriva.com/security/advisories?name=MDVSA-2013:150",
+ "http://www.oracle.com/technetwork/topics/security/cpujul2012-392727.html",
+ "http://www.outpost24.com/news/news-2008-10-02.html",
+ "http://www.us-cert.gov/cas/techalerts/TA09-251A.html",
+ "https://docs.microsoft.com/en-us/security-updates/securitybulletins/2009/ms09-048",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A6340",
+ "https://www.cert.fi/haavoittuvuudet/2008/tcp-vulnerabilities.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-7445",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: memory exhaustion via crafted Graphics Execution Manager (GEM) objects",
+ "Description": "The Direct Rendering Manager (DRM) subsystem in the Linux kernel through 4.x mishandles requests for Graphics Execution Manager (GEM) objects, which allows context-dependent attackers to cause a denial of service (memory consumption) via an application that processes graphics data, as demonstrated by JavaScript code that creates many CANVAS elements for rendering by Chrome or Firefox.",
+ "Severity": "HIGH",
+ "References": [
+ "https://bugzilla.kernel.org/show_bug.cgi?id=60533"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-20669",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: missing access_ok() checks in i915_gem_execbuffer2_ioctl() results in priviledge escalation",
+ "Description": "An issue where a provided address with access_ok() is not checked was discovered in i915_gem_execbuffer2_ioctl in drivers/gpu/drm/i915/i915_gem_execbuffer.c in the Linux kernel through 4.19.13. A local attacker can craft a malicious IOCTL function call to overwrite arbitrary kernel memory, resulting in a Denial of Service or privilege escalation.",
+ "Severity": "HIGH",
+ "References": [
+ "http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/drivers/gpu/drm/i915/i915_gem_execbuffer.c",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-02/msg00042.html",
+ "http://www.openwall.com/lists/oss-security/2019/01/23/6",
+ "http://www.securityfocus.com/bid/106748",
+ "https://access.redhat.com/security/cve/cve-2018-20669",
+ "https://security.netapp.com/advisory/ntap-20190404-0002/",
+ "https://support.f5.com/csp/article/K32059550"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12456",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: double fetch in the MPT3COMMAND case in _ctl_ioctl_main in drivers/scsi/mpt3sas/mpt3sas_ctl.c",
+ "Description": "** DISPUTED ** An issue was discovered in the MPT3COMMAND case in _ctl_ioctl_main in drivers/scsi/mpt3sas/mpt3sas_ctl.c in the Linux kernel through 5.1.5. It allows local users to cause a denial of service or possibly have unspecified other impact by changing the value of ioc_number between two kernel reads of that value, aka a \"double fetch\" vulnerability. NOTE: a third party reports that this is unexploitable because the doubly fetched value is not used.",
+ "Severity": "HIGH",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00039.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00048.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1717182",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git/commit/?h=5.3/scsi-queue\u0026id=86e5aca7fa2927060839f3e3b40c8bd65a7e8d1e",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MDURACJVGIBIYBSGDZJTRDPX46H5WPZW/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OBJHGQXA4PQ5EOGCOXEH3KFDNVZ2I4X7/",
+ "https://lkml.org/lkml/2019/5/29/1164"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12615",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null pointer dereference in get_vdev_port_node_info in arch /sparc/kernel/mdesc.c",
+ "Description": "An issue was discovered in get_vdev_port_node_info in arch/sparc/kernel/mdesc.c in the Linux kernel through 5.1.6. There is an unchecked kstrdup_const of node_info-\u003evdev_port.name, which might allow an attacker to cause a denial of service (NULL pointer dereference and system crash).",
+ "Severity": "HIGH",
+ "References": [
+ "http://www.securityfocus.com/bid/108549",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc.git/commit/?id=80caf43549e7e41a695c6d1e11066286538b336f",
+ "https://security.netapp.com/advisory/ntap-20190710-0002/",
+ "https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2014901.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16229",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null pointer dereference in drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c",
+ "Description": "** DISPUTED ** drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c in the Linux kernel 5.2.14 does not check the alloc_workqueue return value, leading to a NULL pointer dereference. NOTE: The security community disputes this issues as not being serious enough to be deserving a CVE id.",
+ "Severity": "HIGH",
+ "References": [
+ "https://bugzilla.suse.com/show_bug.cgi?id=1150469#c3",
+ "https://lkml.org/lkml/2019/9/9/487",
+ "https://security.netapp.com/advisory/ntap-20191004-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16230",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null pointer dereference in drivers/gpu/drm/radeon/radeon_display.c",
+ "Description": "** DISPUTED ** drivers/gpu/drm/radeon/radeon_display.c in the Linux kernel 5.2.14 does not check the alloc_workqueue return value, leading to a NULL pointer dereference. NOTE: A third-party software maintainer states that the work queue allocation is happening during device initialization, which for a graphics card occurs during boot. It is not attacker controllable and OOM at that time is highly unlikely.",
+ "Severity": "HIGH",
+ "References": [
+ "https://bugzilla.suse.com/show_bug.cgi?id=1150468",
+ "https://lkml.org/lkml/2019/9/9/487",
+ "https://security.netapp.com/advisory/ntap-20191004-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16231",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null-pointer dereference in drivers/net/fjes/fjes_main.c",
+ "Description": "drivers/net/fjes/fjes_main.c in the Linux kernel 5.2.14 does not check the alloc_workqueue return value, leading to a NULL pointer dereference.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16231.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5533.html",
+ "https://lkml.org/lkml/2019/9/9/487",
+ "https://security.netapp.com/advisory/ntap-20191004-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16232",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null-pointer dereference in drivers/net/wireless/marvell/libertas/if_sdio.c",
+ "Description": "drivers/net/wireless/marvell/libertas/if_sdio.c in the Linux kernel 5.2.14 does not check the alloc_workqueue return value, leading to a NULL pointer dereference.",
+ "Severity": "HIGH",
+ "References": [
+ "https://lkml.org/lkml/2019/9/9/487",
+ "https://security.netapp.com/advisory/ntap-20191004-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16233",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null pointer dereference in drivers/scsi/qla2xxx/qla_os.c",
+ "Description": "drivers/scsi/qla2xxx/qla_os.c in the Linux kernel 5.2.14 does not check the alloc_workqueue return value, leading to a NULL pointer dereference.",
+ "Severity": "HIGH",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-16233.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5508.html",
+ "https://lkml.org/lkml/2019/9/9/487",
+ "https://security.netapp.com/advisory/ntap-20191004-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16234",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null pointer dereference in drivers/net/wireless/intel/iwlwifi/pcie/trans.c",
+ "Description": "drivers/net/wireless/intel/iwlwifi/pcie/trans.c in the Linux kernel 5.2.14 does not check the alloc_workqueue return value, leading to a NULL pointer dereference.",
+ "Severity": "HIGH",
+ "References": [
+ "https://lkml.org/lkml/2019/9/9/487",
+ "https://security.netapp.com/advisory/ntap-20191004-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18814",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in aa_audit_rule_init() in security/apparmor/audit.c",
+ "Description": "An issue was discovered in the Linux kernel through 5.3.9. There is a use-after-free when aa_label_parse() fails in aa_audit_rule_init() in security/apparmor/audit.c.",
+ "Severity": "HIGH",
+ "References": [
+ "https://lore.kernel.org/patchwork/patch/1142523/",
+ "https://support.f5.com/csp/article/K21561554?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19054",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: A memory leak in the cx23888_ir_probe() function in drivers/media/pci/cx23885/cx23888-ir.c allows attackers to cause a DoS",
+ "Description": "A memory leak in the cx23888_ir_probe() function in drivers/media/pci/cx23885/cx23888-ir.c in the Linux kernel through 5.3.11 allows attackers to cause a denial of service (memory consumption) by triggering kfifo_alloc() failures, aka CID-a7b2df76b42b.",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/torvalds/linux/commit/a7b2df76b42bdd026e3106cf2ba97db41345a177",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O3PSDE6PTOTVBK2YTKB2TFQP2SUBVSNF/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PY7LJMSPAGRIKABJPDKQDTXYW3L5RX2T/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19061",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: A memory leak in the adis_update_scan_mode_burst() function in drivers/iio/imu/adis_buffer.c allows for a DoS",
+ "Description": "A memory leak in the adis_update_scan_mode_burst() function in drivers/iio/imu/adis_buffer.c in the Linux kernel before 5.3.9 allows attackers to cause a denial of service (memory consumption), aka CID-9c0530e898f3.",
+ "Severity": "HIGH",
+ "References": [
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.3.9",
+ "https://github.com/torvalds/linux/commit/9c0530e898f384c5d279bfcebd8bb17af1105873",
+ "https://security.netapp.com/advisory/ntap-20191205-0001/",
+ "https://usn.ubuntu.com/4208-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19064",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: A memory leak in the fsl_lpspi_probe() function in drivers/spi/spi-fsl-lpspi.c allows for a DoS",
+ "Description": "** DISPUTED ** A memory leak in the fsl_lpspi_probe() function in drivers/spi/spi-fsl-lpspi.c in the Linux kernel through 5.3.11 allows attackers to cause a denial of service (memory consumption) by triggering pm_runtime_get_sync() failures, aka CID-057b8945f78f. NOTE: third parties dispute the relevance of this because an attacker cannot realistically control these failures at probe time.",
+ "Severity": "HIGH",
+ "References": [
+ "https://bugzilla.suse.com/show_bug.cgi?id=1157300",
+ "https://github.com/torvalds/linux/commit/057b8945f78f76d0b04eeb5c27cd9225e5e7ad86",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O3PSDE6PTOTVBK2YTKB2TFQP2SUBVSNF/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PY7LJMSPAGRIKABJPDKQDTXYW3L5RX2T/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19067",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: Four memory leaks in the acp_hw_init() function in drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c allow for a DoS",
+ "Description": "** DISPUTED ** Four memory leaks in the acp_hw_init() function in drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c in the Linux kernel before 5.3.8 allow attackers to cause a denial of service (memory consumption) by triggering mfd_add_hotplug_devices() or pm_genpd_add_device() failures, aka CID-57be09c6e874. NOTE: third parties dispute the relevance of this because the attacker must already have privileges for module loading.",
+ "Severity": "HIGH",
+ "References": [
+ "https://bugzilla.suse.com/show_bug.cgi?id=1157180",
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.3.8",
+ "https://github.com/torvalds/linux/commit/57be09c6e8747bf48704136d9e3f92bfb93f5725"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19070",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: A memory leak in the spi_gpio_probe() function in drivers/spi/spi-gpio.c allows for a DoS",
+ "Description": "** DISPUTED ** A memory leak in the spi_gpio_probe() function in drivers/spi/spi-gpio.c in the Linux kernel through 5.3.11 allows attackers to cause a denial of service (memory consumption) by triggering devm_add_action_or_reset() failures, aka CID-d3b0ffa1d75d. NOTE: third parties dispute the relevance of this because the system must have already been out of memory before the probe began.",
+ "Severity": "HIGH",
+ "References": [
+ "https://bugzilla.suse.com/show_bug.cgi?id=1157294",
+ "https://github.com/torvalds/linux/commit/d3b0ffa1d75d5305ebe34735598993afbb8a869d",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O3PSDE6PTOTVBK2YTKB2TFQP2SUBVSNF/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PY7LJMSPAGRIKABJPDKQDTXYW3L5RX2T/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19072",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: A memory leak in the predicate_parse() function in kernel/trace/trace_events_filter.c allows for a DoS",
+ "Description": "A memory leak in the predicate_parse() function in kernel/trace/trace_events_filter.c in the Linux kernel through 5.3.11 allows attackers to cause a denial of service (memory consumption), aka CID-96c5c6e6a5b6.",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/torvalds/linux/commit/96c5c6e6a5b6db592acae039fed54b5c8844cd35",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O3PSDE6PTOTVBK2YTKB2TFQP2SUBVSNF/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PY7LJMSPAGRIKABJPDKQDTXYW3L5RX2T/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19074",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: a memory leak in the ath9k management function in allows local DoS",
+ "Description": "A memory leak in the ath9k_wmi_cmd() function in drivers/net/wireless/ath/ath9k/wmi.c in the Linux kernel through 5.3.11 allows attackers to cause a denial of service (memory consumption), aka CID-728c1e2a05e4.",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/torvalds/linux/commit/728c1e2a05e4b5fc52fab3421dce772a806612a2",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O3PSDE6PTOTVBK2YTKB2TFQP2SUBVSNF/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PY7LJMSPAGRIKABJPDKQDTXYW3L5RX2T/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19813",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in __mutex_lock in kernel/locking/mutex.c",
+ "Description": "In the Linux kernel 5.0.21, mounting a crafted btrfs filesystem image, performing some operations, and then making a syncfs system call can lead to a use-after-free in __mutex_lock in kernel/locking/mutex.c. This is related to mutex_can_spin_on_owner in kernel/locking/mutex.c, __btrfs_qgroup_free_meta in fs/btrfs/qgroup.c, and btrfs_insert_delayed_items in fs/btrfs/delayed-inode.c.",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19813",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19815",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: NULL pointer dereference in f2fs_recover_fsync_data in fs/f2fs/recovery.c",
+ "Description": "In the Linux kernel 5.0.21, mounting a crafted f2fs filesystem image can cause a NULL pointer dereference in f2fs_recover_fsync_data in fs/f2fs/recovery.c. This is related to F2FS_P_SB in fs/f2fs/f2fs.h.",
+ "Severity": "HIGH",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19815",
+ "https://github.com/torvalds/linux/commit/4969c06a0d83c9c3dc50b8efcdc8eeedfce896f6#diff-41a7fa4590d2af87e82101f2b4dadb56",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1749",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: some ipv6 protocols not encrypted over ipsec tunnel.",
+ "Description": "A flaw was found in the Linux kernel's implementation of some networking protocols in IPsec, such as VXLAN and GENEVE tunnels over IPv6. When an encrypted tunnel is created between two hosts, the kernel isn't correctly routing tunneled data over the encrypted link; rather sending the data unencrypted. This would allow anyone in between the two endpoints to read the traffic unencrypted. The main threat from this vulnerability is to data confidentiality.",
+ "Severity": "HIGH"
+ },
+ {
+ "VulnerabilityID": "CVE-2004-0230",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "TCP, when using a large Window Size, makes it easier for remote attackers to guess sequence numbers and cause a denial of service (connection loss) to persistent TCP connections by repeatedly injecting a TCP RST packet, especially in protocols that use long-lived connections, such as BGP.",
+ "Severity": "MEDIUM",
+ "References": [
+ "ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2004-006.txt.asc",
+ "ftp://ftp.sco.com/pub/updates/OpenServer/SCOSA-2005.3/SCOSA-2005.3.txt",
+ "ftp://ftp.sco.com/pub/updates/OpenServer/SCOSA-2005.9/SCOSA-2005.9.txt",
+ "ftp://ftp.sco.com/pub/updates/UnixWare/SCOSA-2005.14/SCOSA-2005.14.txt",
+ "ftp://patches.sgi.com/support/free/security/advisories/20040403-01-A.asc",
+ "http://kb.juniper.net/JSA10638",
+ "http://marc.info/?l=bugtraq\u0026m=108302060014745\u0026w=2",
+ "http://marc.info/?l=bugtraq\u0026m=108506952116653\u0026w=2",
+ "http://secunia.com/advisories/11440",
+ "http://secunia.com/advisories/11458",
+ "http://secunia.com/advisories/22341",
+ "http://www.cisco.com/warp/public/707/cisco-sa-20040420-tcp-ios.shtml",
+ "http://www.kb.cert.org/vuls/id/415294",
+ "http://www.oracle.com/technetwork/topics/security/cpujan2015-1972971.html",
+ "http://www.osvdb.org/4030",
+ "http://www.securityfocus.com/archive/1/449179/100/0/threaded",
+ "http://www.securityfocus.com/bid/10183",
+ "http://www.uniras.gov.uk/vuls/2004/236929/index.htm",
+ "http://www.us-cert.gov/cas/techalerts/TA04-111A.html",
+ "http://www.vupen.com/english/advisories/2006/3983",
+ "https://docs.microsoft.com/en-us/security-updates/securitybulletins/2005/ms05-019",
+ "https://docs.microsoft.com/en-us/security-updates/securitybulletins/2006/ms06-064",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/15886",
+ "https://kc.mcafee.com/corporate/index?page=content\u0026id=SB10053",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A2689",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A270",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A3508",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A4791",
+ "https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A5711"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2005-3660",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "Linux kernel 2.4 and 2.6 allows attackers to cause a denial of service (memory exhaustion and panic) by creating a large number of connected file descriptors or socketpairs and setting a large data transfer buffer, then preventing Linux from being able to finish the transfer by causing the process to become a zombie, or closing the file descriptor without closing an associated reference.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://secunia.com/advisories/18205",
+ "http://securityreason.com/securityalert/291",
+ "http://securitytracker.com/id?1015402",
+ "http://www.idefense.com/intelligence/vulnerabilities/display.php?id=362",
+ "http://www.securityfocus.com/bid/16041",
+ "http://www.vupen.com/english/advisories/2005/3076",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/23835"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-2544",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: mounting proc readonly on a different mount point silently mounts it rw if the /proc mount is rw",
+ "Description": "No description is available for this CVE.",
+ "Severity": "MEDIUM"
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4563",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: ipv6: sniffer detection",
+ "Description": "The Linux kernel, when using IPv6, allows remote attackers to determine whether a host is sniffing the network by sending an ICMPv6 Echo Request to a multicast address and determining whether an Echo Reply is sent, as demonstrated by thcping.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://seclists.org/dailydave/2011/q2/25",
+ "http://seclists.org/fulldisclosure/2011/Apr/254"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-5321",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: v4l: videobuf: hotfix a bug on multiple calls to mmap()",
+ "Description": "Memory leak in drivers/media/video/videobuf-core.c in the videobuf subsystem in the Linux kernel 2.6.x through 4.x allows local users to cause a denial of service (memory consumption) by leveraging /dev/video access for a series of mmap calls that require new allocations, a different vulnerability than CVE-2007-6761. NOTE: as of 2016-06-18, this affects only 11 drivers that have not been updated to use videobuf2 instead of videobuf.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linuxtv.org/irc/v4l/index.php?date=2010-07-29",
+ "http://www.openwall.com/lists/oss-security/2015/02/08/4",
+ "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=827340",
+ "https://bugzilla.kernel.org/show_bug.cgi?id=120571",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=620629"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2012-4542",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: block: default SCSI command filter does not accomodate commands overlap across device classes",
+ "Description": "block/scsi_ioctl.c in the Linux kernel through 3.8 does not properly consider the SCSI device class during authorization of SCSI commands, which allows local users to bypass intended access restrictions via an SG_IO ioctl call that leverages overlapping opcodes.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2012-4542.html",
+ "http://linux.oracle.com/errata/ELSA-2013-2534.html",
+ "http://marc.info/?l=linux-kernel\u0026m=135903967015813\u0026w=2",
+ "http://marc.info/?l=linux-kernel\u0026m=135904012416042\u0026w=2",
+ "http://rhn.redhat.com/errata/RHSA-2013-0496.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0579.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0882.html",
+ "http://rhn.redhat.com/errata/RHSA-2013-0928.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=875360",
+ "https://oss.oracle.com/git/?p=redpatch.git;a=commit;h=76a274e17114abf1a77de6b651424648ce9e10c8"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2014-9892",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "The snd_compr_tstamp function in sound/core/compress_offload.c in the Linux kernel through 4.7, as used in Android before 2016-08-05 on Nexus 5 and 7 (2013) devices, does not properly initialize a timestamp data structure, which allows attackers to obtain sensitive information via a crafted application, aka Android internal bug 28770164 and Qualcomm internal bug CR568717.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://source.android.com/security/bulletin/2016-08-01.html",
+ "http://www.securityfocus.com/bid/92222",
+ "https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=591b1f455c32206704cbcf426bb30911c260c33e"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2014-9900",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: Info leak in uninitialized structure ethtool_wolinfo in ethtool_get_wol()",
+ "Description": "The ethtool_get_wol function in net/core/ethtool.c in the Linux kernel through 4.7, as used in Android before 2016-08-05 on Nexus 5 and 7 (2013) devices, does not initialize a certain data structure, which allows local users to obtain sensitive information via a crafted application, aka Android internal bug 28803952 and Qualcomm internal bug CR570754.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://source.android.com/security/bulletin/2016-08-01.html",
+ "http://www.securityfocus.com/bid/92222",
+ "https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=63c317dbee97983004dffdd9f742a20d17150071"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-10723",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "** DISPUTED ** An issue was discovered in the Linux kernel through 4.17.2. Since the page allocator does not yield CPU resources to the owner of the oom_lock mutex, a local unprivileged user can trivially lock up the system forever by wasting CPU resources from the page allocator (e.g., via concurrent page fault events) when the global OOM killer is invoked. NOTE: the software maintainer has not accepted certain proposed patches, in part because of a viewpoint that \"the underlying problem is non-trivial to handle.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://patchwork.kernel.org/patch/10395909/",
+ "https://patchwork.kernel.org/patch/9842889/",
+ "https://www.spinics.net/lists/linux-mm/msg117896.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2016-8660",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: xfs: local DoS due to a page lock order bug in the XFS seek hole/data implementation",
+ "Description": "The XFS subsystem in the Linux kernel through 4.8.2 allows local users to cause a denial of service (fdatasync failure and system hang) by using the vfs syscall group in the trinity program, related to a \"page lock order bug in the XFS seek hole/data implementation.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2016/10/13/8",
+ "http://www.securityfocus.com/bid/93558",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1384851"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-13693",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: ACPI operand cache leak in dsutils.c",
+ "Description": "The acpi_ds_create_operands() function in drivers/acpi/acpica/dsutils.c in the Linux kernel through 4.12.9 does not flush the operand cache and causes a kernel stack dump, which allows local users to obtain sensitive information from kernel memory and bypass the KASLR protection mechanism (in the kernel through 4.9) via a crafted ACPI table.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/100502",
+ "https://github.com/acpica/acpica/pull/295/commits/987a3b5cf7175916e2a4b6ea5b8e70f830dfe732",
+ "https://patchwork.kernel.org/patch/9919053/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-1121",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "procps-ng, procps: process hiding through race condition enumerating /proc",
+ "Description": "procps-ng, procps is vulnerable to a process hiding through race condition. Since the kernel's proc_pid_readdir() returns PID entries in ascending numeric order, a process occupying a high PID can use inotify events to determine when the process list is being scanned, and fork/exec to obtain a lower PID, thus avoiding enumeration. An unprivileged attacker can hide a process from procps-ng's utilities by exploiting a race condition in reading /proc/PID entries. This vulnerability affects procps and procps-ng up to version 3.3.15, newer versions might be affected also.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://seclists.org/oss-sec/2018/q2/122",
+ "http://www.securityfocus.com/bid/104214",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-1121",
+ "https://security.gentoo.org/glsa/201805-14",
+ "https://www.exploit-db.com/exploits/44806/",
+ "https://www.qualys.com/2018/05/17/procps-ng-audit-report-advisory.txt"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-12928",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: NULL pointer dereference in hfs_ext_read_extent in hfs.ko",
+ "Description": "In the Linux kernel 4.15.0, a NULL pointer dereference was discovered in hfs_ext_read_extent in hfs.ko. This can occur during a mount of a crafted hfs filesystem.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/104593",
+ "https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1763384",
+ "https://marc.info/?l=linux-fsdevel\u0026m=152407263325766\u0026w=2"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-17977",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: Mishandled interactions among XFRM Netlink messages, IPPROTO_AH packets, and IPPROTO_IP packets resulting in a denial of service",
+ "Description": "The Linux kernel 4.14.67 mishandles certain interaction among XFRM Netlink messages, IPPROTO_AH packets, and IPPROTO_IP packets, which allows local users to cause a denial of service (memory consumption and system hang) by leveraging root access to execute crafted applications, as demonstrated on CentOS 7.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/105539",
+ "https://www.openwall.com/lists/oss-security/2018/10/05/5"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-3693",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "Kernel: speculative bounds check bypass store",
+ "Description": "Systems with microprocessors utilizing speculative execution and branch prediction may allow unauthorized disclosure of information to an attacker with local user access via a speculative buffer overflow and side-channel analysis.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-3693.html",
+ "http://linux.oracle.com/errata/ELSA-2018-2390.html",
+ "https://01.org/security/advisories/intel-oss-10002",
+ "https://access.redhat.com/errata/RHSA-2018:2384",
+ "https://access.redhat.com/errata/RHSA-2018:2390",
+ "https://access.redhat.com/errata/RHSA-2018:2395",
+ "https://access.redhat.com/errata/RHSA-2019:1946",
+ "https://access.redhat.com/solutions/3523601",
+ "https://help.ecostruxureit.com/display/public/UADCE725/Security+fixes+in+StruxureWare+Data+Center+Expert+v7.6.0",
+ "https://people.csail.mit.edu/vlk/spectre11.pdf",
+ "https://security.netapp.com/advisory/ntap-20180823-0001/",
+ "https://software.intel.com/sites/default/files/managed/4e/a1/337879-analyzing-potential-bounds-Check-bypass-vulnerabilities.pdf",
+ "https://thehackernews.com/2018/07/intel-spectre-vulnerability.html",
+ "https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html",
+ "https://www.suse.com/support/kb/doc/?id=7023075"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12378",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: unchecked kmalloc of new_ra in ip6_ra_control leads to denial of service",
+ "Description": "** DISPUTED ** An issue was discovered in ip6_ra_control in net/ipv6/ipv6_sockglue.c in the Linux kernel through 5.1.5. There is an unchecked kmalloc of new_ra, which might allow an attacker to cause a denial of service (NULL pointer dereference and system crash). NOTE: This has been disputed as not an issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12378.html",
+ "http://linux.oracle.com/errata/ELSA-2019-4746.html",
+ "http://www.securityfocus.com/bid/108475",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=95baa60a0da80a0143e3ddd4d3725758b4513825",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/J36BIJTKEPUOZKJNHQBUZA47RQONUKOI/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KLGWJKLMTBBB53D5QLS4HOY2EH246WBE/",
+ "https://lkml.org/lkml/2019/5/25/229"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12379",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: memory leak in con_insert_unipair in drivers/tty/vt/consolemap.c",
+ "Description": "** DISPUTED ** An issue was discovered in con_insert_unipair in drivers/tty/vt/consolemap.c in the Linux kernel through 5.1.5. There is a memory leak in a certain case of an ENOMEM outcome of kmalloc. NOTE: This id is disputed as not being an issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108478",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git/commit/?h=tty-next\u0026id=84ecc2f6eb1cb12e6d44818f94fa49b50f06e6ac",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git/commit/?h=tty-testing\u0026id=15b3cd8ef46ad1b100e0d3c7e38774f330726820",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/J36BIJTKEPUOZKJNHQBUZA47RQONUKOI/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KLGWJKLMTBBB53D5QLS4HOY2EH246WBE/",
+ "https://security.netapp.com/advisory/ntap-20190710-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12381",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: unchecked kmalloc of new_ra in ip_ra_control leads to denial of service",
+ "Description": "An issue was discovered in ip_ra_control in net/ipv4/ip_sockglue.c in the Linux kernel through 5.1.5. There is an unchecked kmalloc of new_ra, which might allow an attacker to cause a denial of service (NULL pointer dereference and system crash).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12381.html",
+ "http://linux.oracle.com/errata/ELSA-2019-4746.html",
+ "http://www.securityfocus.com/bid/108473",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=425aa0e1d01513437668fa3d4a971168bbaa8515",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/J36BIJTKEPUOZKJNHQBUZA47RQONUKOI/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KLGWJKLMTBBB53D5QLS4HOY2EH246WBE/",
+ "https://lkml.org/lkml/2019/5/25/230"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12382",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: unchecked kstrdup of fwstr in drm_load_edid_firmware leads to denial of service",
+ "Description": "An issue was discovered in drm_load_edid_firmware in drivers/gpu/drm/drm_edid_load.c in the Linux kernel through 5.1.5. There is an unchecked kstrdup of fwstr, which might allow an attacker to cause a denial of service (NULL pointer dereference and system crash).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-12382.html",
+ "http://linux.oracle.com/errata/ELSA-2020-1016.html",
+ "http://www.securityfocus.com/bid/108474",
+ "https://cgit.freedesktop.org/drm/drm-misc/commit/?id=9f1f1a2dab38d4ce87a13565cf4dc1b73bef3a5f",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/J36BIJTKEPUOZKJNHQBUZA47RQONUKOI/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KLGWJKLMTBBB53D5QLS4HOY2EH246WBE/",
+ "https://lkml.org/lkml/2019/5/24/843"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12455",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null pointer dereference in sunxi_divs_clk_setup in drivers/clk/sunxi/clk-sunxi.c causing denial of service",
+ "Description": "** DISPUTED ** An issue was discovered in sunxi_divs_clk_setup in drivers/clk/sunxi/clk-sunxi.c in the Linux kernel through 5.1.5. There is an unchecked kstrndup of derived_name, which might allow an attacker to cause a denial of service (NULL pointer dereference and system crash). NOTE: This id is disputed as not being an issue because “The memory allocation that was not checked is part of a code that only runs at boot time, before user processes are started. Therefore, there is no possibility for an unprivileged user to control it, and no denial of service.”.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git/commit/?h=sunxi/clk-for-5.3\u0026id=fcdf445ff42f036d22178b49cf64e92d527c1330",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/J36BIJTKEPUOZKJNHQBUZA47RQONUKOI/",
+ "https://security.netapp.com/advisory/ntap-20190710-0002/",
+ "https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg2010240.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15213",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free caused by malicious USB device in drivers/media/usb/dvb-usb/dvb-usb-init.c",
+ "Description": "An issue was discovered in the Linux kernel before 5.2.3. There is a use-after-free caused by a malicious USB device in the drivers/media/usb/dvb-usb/dvb-usb-init.c driver.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-15213.html",
+ "http://linux.oracle.com/errata/ELSA-2019-4872.html",
+ "http://www.openwall.com/lists/oss-security/2019/08/20/2",
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.2.3",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6cf97230cd5f36b7665099083272595c55d72be7",
+ "https://security.netapp.com/advisory/ntap-20190905-0002/",
+ "https://syzkaller.appspot.com/bug?id=a53c9c9dd2981bfdbfbcbc1ddbd35595eda8bced"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-16089",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: Improper return check in nbd_genl_status function in drivers/block/nbd.c",
+ "Description": "An issue was discovered in the Linux kernel through 5.2.13. nbd_genl_status in drivers/block/nbd.c does not check the nla_nest_start_noflag return value.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://lore.kernel.org/patchwork/patch/1106884/",
+ "https://lore.kernel.org/patchwork/patch/1126650/",
+ "https://security.netapp.com/advisory/ntap-20191004-0001/",
+ "https://support.f5.com/csp/article/K03814795?utm_source=f5support\u0026amp;utm_medium=RSS"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19036",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: null-pointer dereference in btrfs_root_node in fs/btrfs/ctree.c",
+ "Description": "btrfs_root_node in fs/btrfs/ctree.c in the Linux kernel through 5.3.12 allows a NULL pointer dereference because rcu_dereference(root-\u003enode) can be zero.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19036",
+ "https://security.netapp.com/advisory/ntap-20191205-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19046",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: Denial Of Service in the __ipmi_bmc_register() function in drivers/char/ipmi/ipmi_msghandler.c",
+ "Description": "** DISPUTED ** A memory leak in the __ipmi_bmc_register() function in drivers/char/ipmi/ipmi_msghandler.c in the Linux kernel through 5.3.11 allows attackers to cause a denial of service (memory consumption) by triggering ida_simple_get() failure, aka CID-4aa7afb0ee20. NOTE: third parties dispute the relevance of this because an attacker cannot realistically control this failure at probe time.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00029.html",
+ "https://bugzilla.suse.com/show_bug.cgi?id=1157304",
+ "https://github.com/torvalds/linux/commit/4aa7afb0ee20a97fbf0c5bab3df028d5fb85fdab",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O3PSDE6PTOTVBK2YTKB2TFQP2SUBVSNF/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PY7LJMSPAGRIKABJPDKQDTXYW3L5RX2T/",
+ "https://usn.ubuntu.com/4302-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19082",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: memory leaks in *create_resource_pool() functions under drivers/gpu/drm/amd/display/dc leads to DoS",
+ "Description": "Memory leaks in *create_resource_pool() functions under drivers/gpu/drm/amd/display/dc in the Linux kernel through 5.3.11 allow attackers to cause a denial of service (memory consumption). This affects the dce120_create_resource_pool() function in drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c, the dce110_create_resource_pool() function in drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c, the dce100_create_resource_pool() function in drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c, the dcn10_create_resource_pool() function in drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c, and the dce112_create_resource_pool() function in drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c, aka CID-104c307147ad.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00029.html",
+ "https://github.com/torvalds/linux/commit/104c307147ad379617472dd91a5bcb368d72bd6d",
+ "https://security.netapp.com/advisory/ntap-20191205-0001/",
+ "https://usn.ubuntu.com/4258-1/",
+ "https://usn.ubuntu.com/4284-1/",
+ "https://usn.ubuntu.com/4287-1/",
+ "https://usn.ubuntu.com/4287-2/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19083",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: memory leaks in *clock_source_create() functions under drivers/gpu/drm/amd/display/dc leads to DoS",
+ "Description": "Memory leaks in *clock_source_create() functions under drivers/gpu/drm/amd/display/dc in the Linux kernel before 5.3.8 allow attackers to cause a denial of service (memory consumption). This affects the dce112_clock_source_create() function in drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c, the dce100_clock_source_create() function in drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c, the dcn10_clock_source_create() function in drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c, the dcn20_clock_source_create() function in drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c, the dce120_clock_source_create() function in drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c, the dce110_clock_source_create() function in drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c, and the dce80_clock_source_create() function in drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c, aka CID-055e547478a1.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00029.html",
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.3.8",
+ "https://github.com/torvalds/linux/commit/055e547478a11a6360c7ce05e2afc3e366968a12",
+ "https://security.netapp.com/advisory/ntap-20191205-0001/",
+ "https://usn.ubuntu.com/4208-1/",
+ "https://usn.ubuntu.com/4226-1/",
+ "https://usn.ubuntu.com/4227-1/",
+ "https://usn.ubuntu.com/4227-2/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19318",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in rwsem_down_write_slowpath in kernel/locking/rwsem.c",
+ "Description": "In the Linux kernel 5.3.11, mounting a crafted btrfs image twice can cause an rwsem_down_write_slowpath use-after-free because (in rwsem_can_spin_on_owner in kernel/locking/rwsem.c) rwsem_owner_flags returns an already freed pointer,",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19318",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19377",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in btrfs_queue_work in fs/btrfs/async-thread.c",
+ "Description": "In the Linux kernel 5.0.21, mounting a crafted btrfs filesystem image, performing some operations, and unmounting can lead to a use-after-free in btrfs_queue_work in fs/btrfs/async-thread.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19377",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19378",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: out-of-bounds write in index_rbio_pages in fs/btrfs/raid56.c",
+ "Description": "In the Linux kernel 5.0.21, mounting a crafted btrfs filesystem image can lead to slab-out-of-bounds write access in index_rbio_pages in fs/btrfs/raid56.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19378",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19448",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: mounting a crafted btrfs filesystem image, performing some operations, and then making a syncfs system call can lead to a use-after-free in try_merge_free_space in fs/btrfs/free-space-cache.c",
+ "Description": "In the Linux kernel 5.0.21 and 5.3.11, mounting a crafted btrfs filesystem image, performing some operations, and then making a syncfs system call can lead to a use-after-free in try_merge_free_space in fs/btrfs/free-space-cache.c because the pointer to a left data structure can be the same as the pointer to a right data structure.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19448",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19449",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: mounting a crafted f2fs filesystem image can lead to slab-out-of-bounds read access in f2fs_build_segment_manager in fs/f2fs/segment.c",
+ "Description": "In the Linux kernel 5.0.21, mounting a crafted f2fs filesystem image can lead to slab-out-of-bounds read access in f2fs_build_segment_manager in fs/f2fs/segment.c, related to init_min_max_mtime in fs/f2fs/segment.c (because the second argument to get_seg_entry is not validated).",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19449",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19462",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: NULL pointer dereference in relay_open in kernel/relay.c",
+ "Description": "relay_open in kernel/relay.c in the Linux kernel through 5.4.1 allows local users to cause a denial of service (such as relay blockage) by triggering a NULL alloc_percpu result.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://lore.kernel.org/lkml/20191129013745.7168-1-dja@axtens.net/",
+ "https://syzkaller-ppc64.appspot.com/bug?id=1c09906c83a8ea811a9e318c2a4f8e243becc6f8",
+ "https://syzkaller-ppc64.appspot.com/bug?id=b05b4d005191cc375cdf848c3d4d980308d50531",
+ "https://syzkaller.appspot.com/bug?id=e4265490d26d6c01cd9bc79dc915ef0a1bf15046",
+ "https://syzkaller.appspot.com/bug?id=f4d1cb4330bd3ddf4a628332b4285407b2eedd7b"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19768",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in __blk_add_trace in kernel/trace/blktrace.c",
+ "Description": "In the Linux kernel 5.4.0-rc2, there is a use-after-free (read) in the __blk_add_trace function in kernel/trace/blktrace.c (which is used to fill out a blk_io_trace structure and place it in a per-cpu sub-buffer).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-19768.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5663.html",
+ "https://bugzilla.kernel.org/show_bug.cgi?id=205711",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19770",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in debugfs_remove in fs/debugfs/inode.c",
+ "Description": "** DISPUTED ** In the Linux kernel 4.19.83, there is a use-after-free (read) in the debugfs_remove function in fs/debugfs/inode.c (which is used to remove a file or directory in debugfs that was previously created with a call to another debugfs function such as debugfs_create_file). NOTE: Linux kernel developers dispute this issue as not being an issue with debugfs, instead this is an issue with misuse of debugfs within blktrace.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugzilla.kernel.org/show_bug.cgi?id=205713",
+ "https://lore.kernel.org/linux-block/20200402000002.7442-1-mcgrof@kernel.org/",
+ "https://security.netapp.com/advisory/ntap-20200103-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10708",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: race condition in kernel/audit.c may allow low privilege users trigger kernel panic",
+ "Description": "A race condition flaw was found in the Linux kernel audit subsystem. When the system is configured to panic on events being dropped, an attacker can use this flaw to trigger an audit event that begins while the audit is in the process of starting, causing the system to panic by exploiting a race condition in the audit event handling. This attack results in a denial of service.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://www.openwall.com/lists/oss-security/2020/04/17/1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-10942",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "Kernel: vhost-net: stack overflow in get_raw_socket while checking sk_family field",
+ "Description": "In the Linux kernel before 5.5.8, get_raw_socket in drivers/vhost/net.c lacks validation of an sk_family field, which might allow attackers to trigger kernel stack corruption via crafted system calls.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-10942.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5663.html",
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.5.8",
+ "https://git.kernel.org/linus/42d84c8490f9f0931786f1623191fcab397c3d64",
+ "https://lkml.org/lkml/2020/2/15/125",
+ "https://security.netapp.com/advisory/ntap-20200403-0003/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11565",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: out-of-bounds write in mpol_parse_str function in mm/mempolicy.c",
+ "Description": "** DISPUTED ** An issue was discovered in the Linux kernel through 5.6.2. mpol_parse_str in mm/mempolicy.c has a stack-based out-of-bounds write because an empty nodelist is mishandled during mount option parsing, aka CID-aa9f7d5172fa. NOTE: Someone in the security community disagrees that this is a vulnerability because the issue “is a bug in parsing mount options which can only be specified by a privileged user, so triggering the bug does not grant any powers not already held.”.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=aa9f7d5172fac9bf1f09e678c35e287a40a7b7dd",
+ "https://github.com/torvalds/linux/commit/aa9f7d5172fac9bf1f09e678c35e287a40a7b7dd"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11609",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "An issue was discovered in the stv06xx subsystem in the Linux kernel before 5.6.1. drivers/media/usb/gspca/stv06xx/stv06xx.c and drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c mishandle invalid descriptors, as demonstrated by a NULL pointer dereference, aka CID-485b06aadb93.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.1",
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=485b06aadb933190f4bc44e006076bc27a23f205",
+ "https://github.com/torvalds/linux/commit/485b06aadb933190f4bc44e006076bc27a23f205"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11668",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: mishandles invalid descriptors in drivers/media/usb/gspca/xirlink_cit.c",
+ "Description": "In the Linux kernel before 5.6.1, drivers/media/usb/gspca/xirlink_cit.c (aka the Xirlink camera USB driver) mishandles invalid descriptors, aka CID-a246b4d54770.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.1",
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a246b4d547708f33ff4d4b9a7a5dbac741dc89d8",
+ "https://github.com/torvalds/linux/commit/a246b4d547708f33ff4d4b9a7a5dbac741dc89d8"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11669",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: powerpc: guest can cause DoS on POWER9 KVM hosts",
+ "Description": "An issue was discovered in the Linux kernel before 5.2 on the powerpc platform. arch/powerpc/kernel/idle_book3s.S does not have save/restore functionality for PNV_POWERSAVE_AMR, PNV_POWERSAVE_UAMOR, and PNV_POWERSAVE_AMOR, aka CID-53a712bae5dd.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://access.redhat.com/errata/RHSA-2019:3517",
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.2",
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=53a712bae5dd919521a58d7bad773b949358add0",
+ "https://github.com/torvalds/linux/commit/53a712bae5dd919521a58d7bad773b949358add0",
+ "https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-April/208660.html",
+ "https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-April/208661.html",
+ "https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-April/208663.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11725",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: improper handling of private_size*count multiplication due to count=info-\u003eowner typo",
+ "Description": "** DISPUTED ** snd_ctl_elem_add in sound/core/control.c in the Linux kernel through 5.6.3 has a count=info-\u003eowner line, which later affects a private_size*count multiplication for unspecified \"interesting side effects.\" NOTE: kernel engineers dispute this finding, because it could be relevant only if new callers were added that were unfamiliar with the misuse of the info-\u003eowner field to represent data unrelated to the \"owner\" concept. The existing callers, SNDRV_CTL_IOCTL_ELEM_ADD and SNDRV_CTL_IOCTL_ELEM_REPLACE, have been designed to misuse the info-\u003eowner field in a safe way.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://github.com/torvalds/linux/blob/3b2549a3740efb8af0150415737067d87e466c5b/sound/core/control.c#L1434-L1474",
+ "https://lore.kernel.org/alsa-devel/s5h4ktmlfpx.wl-tiwai@suse.de/",
+ "https://twitter.com/yabbadabbadrew/status/1248632267028582400"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-7053",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in i915_ppgtt_close in drivers/gpu/drm/i915/i915_gem_gtt.c",
+ "Description": "In the Linux kernel 4.14 longterm through 4.14.165 and 4.19 longterm through 4.19.96 (and 5.x before 5.2), there is a use-after-free (write) in the i915_ppgtt_close function in drivers/gpu/drm/i915/i915_gem_gtt.c, aka CID-7dc40713618c. This is related to i915_gem_context_destroy_ioctl in drivers/gpu/drm/i915/i915_gem_context.c.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-7053.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5569.html",
+ "https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1859522",
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.2",
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7dc40713618c884bf07c030d1ab1f47a9dc1f310",
+ "https://lore.kernel.org/stable/20200114183937.12224-1-tyhicks@canonical.com",
+ "https://security.netapp.com/advisory/ntap-20200204-0002/",
+ "https://usn.ubuntu.com/4255-1/",
+ "https://usn.ubuntu.com/4255-2/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8992",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: soft lockup via a crafted journal size in ext4_protect_reserved_inode in fs/ext4/block_validity.c",
+ "Description": "ext4_protect_reserved_inode in fs/ext4/block_validity.c in the Linux kernel through 5.5.3 allows attackers to cause a denial of service (soft lockup) via a crafted journal size.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-8992.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5663.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00021.html",
+ "https://patchwork.ozlabs.org/patch/1236118/",
+ "https://security.netapp.com/advisory/ntap-20200313-0003/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-3719",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: secretly Monopolizing the CPU Without Superuser Privileges",
+ "Description": "The process scheduler in the Linux kernel 2.6.16 gives preference to \"interactive\" processes that perform voluntary sleeps, which allows local users to cause a denial of service (CPU consumption), as described in \"Secretly Monopolizing the CPU Without Superuser Privileges.\"",
+ "Severity": "LOW",
+ "References": [
+ "http://osvdb.org/37127",
+ "http://www.cs.huji.ac.il/~dants/papers/Cheat07Security.pdf"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-4915",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "fs/proc/base.c in the Linux kernel through 3.1 allows local users to obtain sensitive keystroke information via access to /proc/interrupts.",
+ "Severity": "LOW",
+ "References": [
+ "http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201",
+ "http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a2ef990ab5a6705a356d146dd773a3b359787497",
+ "http://people.canonical.com/~ubuntu-security/cve/2011/CVE-2011-4915.html",
+ "http://www.openwall.com/lists/oss-security/2011/11/07/9",
+ "https://lkml.org/lkml/2011/11/7/340",
+ "https://seclists.org/oss-sec/2011/q4/571",
+ "https://security-tracker.debian.org/tracker/CVE-2011-4915",
+ "https://vigilance.fr/vulnerability/Linux-kernel-information-disclosure-about-keyboard-11131"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-4917",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2015-2877",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "Kernel: Cross-VM ASL INtrospection (CAIN)",
+ "Description": "** DISPUTED ** Kernel Samepage Merging (KSM) in the Linux kernel 2.6.32 through 4.x does not prevent use of a write-timing side channel, which allows guest OS users to defeat the ASLR protection mechanism on other guest OS instances via a Cross-VM ASL INtrospection (CAIN) attack. NOTE: the vendor states \"Basically if you care about this attack vector, disable deduplication.\" Share-until-written approaches for memory conservation among mutually untrusting tenants are inherently detectable for information disclosure, and can be classified as potentially misunderstood behaviors rather than vulnerabilities.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.antoniobarresi.com/files/cain_advisory.txt",
+ "http://www.kb.cert.org/vuls/id/935424",
+ "http://www.securityfocus.com/bid/76256",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1252096",
+ "https://www.kb.cert.org/vuls/id/BGAR-A2CNKG",
+ "https://www.kb.cert.org/vuls/id/BLUU-9ZAHZH",
+ "https://www.usenix.org/system/files/conference/woot15/woot15-paper-barresi.pdf"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-0630",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: Information disclosure vulnerability in kernel trace subsystem",
+ "Description": "An information disclosure vulnerability in the kernel trace subsystem could enable a local malicious application to access data outside of its permission levels. This issue is rated as Moderate because it first requires compromising a privileged process. Product: Android. Versions: Kernel-3.10, Kernel-3.18. Android ID: A-34277115.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.securityfocus.com/bid/98213",
+ "https://source.android.com/security/bulletin/2017-05-01",
+ "https://source.android.com/security/bulletin/2017-05-01#id-in-kernel-trace-subsystem"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-13694",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: ACPI node and node_ext cache leak",
+ "Description": "The acpi_ps_complete_final_op() function in drivers/acpi/acpica/psobject.c in the Linux kernel through 4.12.9 does not flush the node and node_ext caches and causes a kernel stack dump, which allows local users to obtain sensitive information from kernel memory and bypass the KASLR protection mechanism (in the kernel through 4.9) via a crafted ACPI table.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.securityfocus.com/bid/100500",
+ "https://github.com/acpica/acpica/pull/278/commits/4a0243ecb4c94e2d73510d096c5ea4d0711fc6c0",
+ "https://patchwork.kernel.org/patch/9806085/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-8043",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: NULL pointer dereference in drivers/net/phy/mdio-bcm-unimac.c:unimac_mdio_probe() can lead to denial of service",
+ "Description": "The unimac_mdio_probe function in drivers/net/phy/mdio-bcm-unimac.c in the Linux kernel through 4.15.8 does not validate certain resource availability, which allows local users to cause a denial of service (NULL pointer dereference).",
+ "Severity": "LOW",
+ "References": [
+ "http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=297a6961ffb8ff4dc66c9fbf53b924bd1dda05d5",
+ "http://linux.oracle.com/cve/CVE-2018-8043.html",
+ "http://linux.oracle.com/errata/ELSA-2019-4509.html",
+ "http://www.securitytracker.com/id/1040749",
+ "https://github.com/torvalds/linux/commit/297a6961ffb8ff4dc66c9fbf53b924bd1dda05d5",
+ "https://usn.ubuntu.com/3619-1/",
+ "https://usn.ubuntu.com/3619-2/",
+ "https://usn.ubuntu.com/3630-1/",
+ "https://usn.ubuntu.com/3630-2/",
+ "https://usn.ubuntu.com/3632-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-11191",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: race condition in load_aout_binary() allows local users to bypass ASLR on setuid a.out programs",
+ "Description": "The Linux kernel through 5.0.7, when CONFIG_IA32_AOUT is enabled and ia32_aout is loaded, allows local users to bypass ASLR on setuid a.out programs (if any exist) because install_exec_creds() is called too late in load_aout_binary() in fs/binfmt_aout.c, and thus the ptrace_may_access() check has a race condition when reading /proc/pid/stat.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2019/04/18/5",
+ "http://www.openwall.com/lists/oss-security/2019/05/22/7",
+ "http://www.securityfocus.com/bid/107887",
+ "https://usn.ubuntu.com/4006-1/",
+ "https://usn.ubuntu.com/4006-2/",
+ "https://usn.ubuntu.com/4007-1/",
+ "https://usn.ubuntu.com/4007-2/",
+ "https://usn.ubuntu.com/4008-1/",
+ "https://usn.ubuntu.com/4008-3/",
+ "https://www.openwall.com/lists/oss-security/2019/04/03/4",
+ "https://www.openwall.com/lists/oss-security/2019/04/03/4/1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-12380",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: memory allocation failure in the efi subsystem leads to denial of service",
+ "Description": "**DISPUTED** An issue was discovered in the efi subsystem in the Linux kernel through 5.1.5. phys_efi_set_virtual_address_map in arch/x86/platform/efi/efi.c and efi_call_phys_prolog in arch/x86/platform/efi/efi_64.c mishandle memory allocation failures. NOTE: This id is disputed as not being an issue because “All the code touched by the referenced commit runs only at boot, before any user processes are started. Therefore, there is no possibility for an unprivileged user to control it.”.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00039.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00040.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00048.html",
+ "http://www.securityfocus.com/bid/108477",
+ "https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=4e78921ba4dd0aca1cc89168f45039add4183f8e",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/J36BIJTKEPUOZKJNHQBUZA47RQONUKOI/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/KLGWJKLMTBBB53D5QLS4HOY2EH246WBE/",
+ "https://security.netapp.com/advisory/ntap-20190710-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18808",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: memory leak in ccp_run_sha_cmd() function in drivers/crypto/ccp/ccp-ops.c",
+ "Description": "A memory leak in the ccp_run_sha_cmd() function in drivers/crypto/ccp/ccp-ops.c in the Linux kernel through 5.3.9 allows attackers to cause a denial of service (memory consumption), aka CID-128c66429247.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00021.html",
+ "https://github.com/torvalds/linux/commit/128c66429247add5128c03dc1e144ca56f05a4e2",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LYIFGYEDQXP5DVJQQUARQRK2PXKBKQGY/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YWWOOJKZ4NQYN4RMFIVJ3ZIXKJJI3MKP/",
+ "https://security.netapp.com/advisory/ntap-20191205-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18885",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: fs/btrfs/volumes.c allows a btrfs_verify_dev_extents NULL pointer dereference",
+ "Description": "fs/btrfs/volumes.c in the Linux kernel before 5.1 allows a btrfs_verify_dev_extents NULL pointer dereference via a crafted btrfs image because fs_devices-\u003edevices is mishandled within find_device, aka CID-09ba3bc9dd15.",
+ "Severity": "LOW",
+ "References": [
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=09ba3bc9dd150457c506e4661380a6183af651c1",
+ "https://github.com/bobfuzzer/CVE-2019-18885",
+ "https://github.com/torvalds/linux/commit/09ba3bc9dd150457c506e4661380a6183af651c1",
+ "https://security.netapp.com/advisory/ntap-20191205-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19039",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: information disclosure in __btrfs_free_extent in fs/btrfs/extent-tree.c",
+ "Description": "** DISPUTED ** __btrfs_free_extent in fs/btrfs/extent-tree.c in the Linux kernel through 5.3.12 calls btrfs_print_leaf in a certain ENOENT case, which allows local users to obtain potentially sensitive information about register values via the dmesg program. NOTE: The BTRFS development team disputes this issues as not being a vulnerability because “1) The kernel provide facilities to restrict access to dmesg - dmesg_restrict=1 sysctl option. So it's really up to the system administrator to judge whether dmesg access shall be disallowed or not. 2) WARN/WARN_ON are widely used macros in the linux kernel. If this CVE is considered valid this would mean there are literally thousands CVE lurking in the kernel - something which clearly is not the case.”",
+ "Severity": "LOW",
+ "References": [
+ "https://github.com/bobfuzzer/CVE/tree/master/CVE-2019-19039"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19073",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: Memory leaks in drivers/net/wireless/ath/ath9k/htc_hst.c in the Linux kernel (DOS)",
+ "Description": "Memory leaks in drivers/net/wireless/ath/ath9k/htc_hst.c in the Linux kernel through 5.3.11 allow attackers to cause a denial of service (memory consumption) by triggering wait_for_completion_timeout() failures. This affects the htc_config_pipe_credits() function, the htc_setup_complete() function, and the htc_connect_service() function, aka CID-853acf7caf10.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2019-12/msg00029.html",
+ "https://github.com/torvalds/linux/commit/853acf7caf10b828102d92d05b5c101666a6142b",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/O3PSDE6PTOTVBK2YTKB2TFQP2SUBVSNF/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/PY7LJMSPAGRIKABJPDKQDTXYW3L5RX2T/",
+ "https://security.netapp.com/advisory/ntap-20191205-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3016",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: kvm: Information leak within a KVM guest",
+ "Description": "In a Linux KVM guest that has PV TLB enabled, a process in the guest kernel may be able to read memory locations from another process in the same guest. This problem is limit to the host running linux kernel 4.10 with a guest running linux kernel 4.16 or later. The problem mainly affects AMD processors but Intel CPUs cannot be ruled out.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-3016.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5533.html",
+ "http://packetstormsecurity.com/files/157233/Kernel-Live-Patch-Security-Notice-LSN-0065-1.html",
+ "http://www.openwall.com/lists/oss-security/2020/01/30/4",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1792167",
+ "https://git.kernel.org/linus/1eff70a9abd46f175defafd29bc17ad456f398a7",
+ "https://git.kernel.org/linus/8c6de56a42e0c657955e12b882a81ef07d1d073e",
+ "https://git.kernel.org/linus/917248144db5d7320655dbb41d3af0b8a0f3d589",
+ "https://git.kernel.org/linus/a6bd811f1209fe1c64c9f6fd578101d6436c6b6e",
+ "https://git.kernel.org/linus/b043138246a41064527cf019a3d51d9f015e9796",
+ "https://lore.kernel.org/lkml/1580407316-11391-1-git-send-email-pbonzini@redhat.com/",
+ "https://security.netapp.com/advisory/ntap-20200313-0003/",
+ "https://usn.ubuntu.com/4300-1/",
+ "https://usn.ubuntu.com/4301-1/",
+ "https://www.openwall.com/lists/oss-security/2020/01/30/4"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3874",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: SCTP socket buffer memory leak leading to denial of service",
+ "Description": "The SCTP socket buffer used by a userspace application is not accounted by the cgroups subsystem. An attacker can use this flaw to cause a denial of service attack. Kernel 3.10.x and 4.18.x branches are believed to be vulnerable.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2019-3874.html",
+ "http://linux.oracle.com/errata/ELSA-2019-3517.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3874",
+ "https://discuss.kubernetes.io/t/kubernetes-security-announcement-linux-kernel-memory-cgroups-escape-via-sctp-cve-2019-3874/5594",
+ "https://lore.kernel.org/netdev/20190401113110.GA20717@hmswarspite.think-freely.org/T/#u",
+ "https://security.netapp.com/advisory/ntap-20190411-0003/",
+ "https://usn.ubuntu.com/3979-1/",
+ "https://usn.ubuntu.com/3980-1/",
+ "https://usn.ubuntu.com/3980-2/",
+ "https://usn.ubuntu.com/3981-1/",
+ "https://usn.ubuntu.com/3981-2/",
+ "https://usn.ubuntu.com/3982-1/",
+ "https://usn.ubuntu.com/3982-2/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-0009",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "In calc_vm_may_flags of ashmem.c, there is a possible arbitrary write to shared memory due to a permissions bypass. This could lead to local escalation of privilege by corrupting memory shared between processes, with no additional execution privileges needed. User interaction is not needed for exploitation. Product: Android Versions: Android kernel Android ID: A-142938932",
+ "Severity": "LOW",
+ "References": [
+ "http://packetstormsecurity.com/files/155903/Android-ashmem-Read-Only-Bypasses.html",
+ "https://source.android.com/security/bulletin/2020-01-01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-0067",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "In f2fs_xattr_generic_list of xattr.c, there is a possible out of bounds read due to a missing bounds check. This could lead to local information disclosure with System execution privileges needed. User interaction is not required for exploitation.Product: Android. Versions: Android kernel. Android ID: A-120551147.",
+ "Severity": "LOW",
+ "References": [
+ "http://android.googlesource.com/kernel/common/+/688078e7",
+ "https://source.android.com/security/bulletin/pixel/2020-04-01"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11494",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: transmission of uninitialized data allows attackers to read sensitive information",
+ "Description": "An issue was discovered in slc_bump in drivers/net/can/slcan.c in the Linux kernel through 5.6.2. It allows attackers to read uninitialized can_frame data, potentially containing sensitive information from kernel stack memory, if the configuration lacks CONFIG_INIT_STACK_ALL, aka CID-b9258a2cece4.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-11494.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5663.html",
+ "http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00035.html",
+ "https://github.com/torvalds/linux/commit/b9258a2cece4ec1f020715fe3554bc2e360f6264"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-11608",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "An issue was discovered in the Linux kernel before 5.6.1. drivers/media/usb/gspca/ov519.c allows NULL pointer dereferences in ov511_mode_init_regs and ov518_mode_init_regs when there are zero endpoints, aka CID-998912346c0d.",
+ "Severity": "LOW",
+ "References": [
+ "https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.1",
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=998912346c0da53a6dbb71fab3a138586b596b30",
+ "https://github.com/torvalds/linux/commit/998912346c0da53a6dbb71fab3a138586b596b30"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-2732",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "Kernel: kvm: nVMX: L2 guest may trick the L0 hypervisor to access sensitive L1 resources",
+ "Description": "A flaw was discovered in the way that the KVM hypervisor handled instruction emulation for an L2 guest when nested virtualisation is enabled. Under some circumstances, an L2 guest may trick the L0 guest into accessing sensitive L1 resources that should be inaccessible to the L2 guest.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-2732.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5543.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1805135",
+ "https://git.kernel.org/linus/07721feee46b4b248402133228235318199b05ec",
+ "https://git.kernel.org/linus/35a571346a94fb93b5b3b6a599675ef3384bc75c",
+ "https://git.kernel.org/linus/e71237d3ff1abf9f3388337cfebf53b96df2020d",
+ "https://linux.oracle.com/errata/ELSA-2020-5540.html",
+ "https://linux.oracle.com/errata/ELSA-2020-5542.html",
+ "https://linux.oracle.com/errata/ELSA-2020-5543.html",
+ "https://www.openwall.com/lists/oss-security/2020/02/25/3",
+ "https://www.spinics.net/lists/kvm/msg208259.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8428",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in fs/namei.c",
+ "Description": "fs/namei.c in the Linux kernel before 5.5 has a may_create_in_sticky use-after-free, which allows local users to cause a denial of service (OOPS) or possibly obtain sensitive information from kernel memory, aka CID-d0cb50185ae9. One attack vector may be an open system call for a UNIX domain socket, if the socket is being moved to a new parent directory and its old parent directory is being removed.",
+ "Severity": "LOW",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2020/01/28/4",
+ "http://www.openwall.com/lists/oss-security/2020/02/02/1",
+ "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d0cb50185ae942b03c4327be322055d622dc79f6",
+ "https://github.com/torvalds/linux/commit/d0cb50185ae942b03c4327be322055d622dc79f6",
+ "https://www.openwall.com/lists/oss-security/2020/01/28/2"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8647",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: out-of-bounds read in in vc_do_resize function in drivers/tty/vt/vt.c",
+ "Description": "There is a use-after-free vulnerability in the Linux kernel through 5.5.2 in the vc_do_resize function in drivers/tty/vt/vt.c.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00039.html",
+ "https://bugzilla.kernel.org/show_bug.cgi?id=206359"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8648",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: use-after-free in n_tty_receive_buf_common function in drivers/tty/n_tty.c",
+ "Description": "There is a use-after-free vulnerability in the Linux kernel through 5.5.2 in the n_tty_receive_buf_common function in drivers/tty/n_tty.c.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00021.html",
+ "https://bugzilla.kernel.org/show_bug.cgi?id=206361"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8649",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: invalid read location in vgacon_invert_region function in drivers/video/console/vgacon.c",
+ "Description": "There is a use-after-free vulnerability in the Linux kernel through 5.5.2 in the vgacon_invert_region function in drivers/video/console/vgacon.c.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00039.html",
+ "https://bugzilla.kernel.org/show_bug.cgi?id=206357"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-9383",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "kernel: out-of-bounds read in set_fdc in drivers/block/floppy.c",
+ "Description": "An issue was discovered in the Linux kernel through 5.5.6. set_fdc in drivers/block/floppy.c leads to a wait_til_ready out-of-bounds read because the FDC index is not checked for errors before assigning it, aka CID-2e90ca68b0d2.",
+ "Severity": "LOW",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-9383.html",
+ "http://linux.oracle.com/errata/ELSA-2020-5663.html",
+ "https://github.com/torvalds/linux/commit/2e90ca68b0d2f5548804f22f0dd61145516171e3",
+ "https://security.netapp.com/advisory/ntap-20200313-0003/"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0000000-F7A20F",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2019-15794",
+ "PkgName": "linux-libc-dev",
+ "InstalledVersion": "4.19.98-1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Description": "Overlayfs in the Linux kernel and shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, both replace vma-\u003evm_file in their mmap handlers. On error the original value is not restored, and the reference is put for the file to which vm_file points. On upstream kernels this is not an issue, as no callers dereference vm_file following after call_mmap() returns an error. However, the aufs patchs change mmap_region() to replace the fput() using a local variable with vma_fput(), which will fput() vm_file, leading to a refcount underflow.",
+ "Severity": "UNKNOWN",
+ "References": [
+ "https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/eoan/commit/?id=270d16ae48a4dbf1c7e25e94cc3e38b4bea37635",
+ "https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/eoan/commit/?id=ef81780548d20a786cc77ed4203fca146fd81ce3",
+ "https://usn.ubuntu.com/usn/usn-4208-1",
+ "https://usn.ubuntu.com/usn/usn-4209-1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-5686",
+ "PkgName": "login",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Description": "initscripts in rPath Linux 1 sets insecure permissions for the /var/log/btmp file, which allows local users to obtain sensitive information regarding authentication attempts. NOTE: because sshd detects the insecure permissions and does not log certain events, this also prevents sshd from logging failed authentication attempts by remote attackers.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://secunia.com/advisories/27215",
+ "http://www.securityfocus.com/archive/1/482129/100/100/threaded",
+ "http://www.securityfocus.com/archive/1/482857/100/0/threaded",
+ "http://www.securityfocus.com/bid/26048",
+ "http://www.vupen.com/english/advisories/2007/3474",
+ "https://issues.rpath.com/browse/RPL-1825"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-7169",
+ "PkgName": "login",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "shadow-utils: newgidmap allows unprivileged user to drop supplementary groups potentially allowing privilege escalation",
+ "Description": "An issue was discovered in shadow 4.5. newgidmap (in shadow-utils) is setuid and allows an unprivileged user to be placed in a user namespace where setgroups(2) is permitted. This allows an attacker to remove themselves from a supplementary group, which may allow access to certain filesystem paths if the administrator has used \"group blacklisting\" (e.g., chmod g-rwx) to restrict access to paths. This flaw effectively reverts a security feature in the kernel (in particular, the /proc/self/setgroups knob) to prevent this sort of privilege escalation.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/1729357",
+ "https://security.gentoo.org/glsa/201805-09"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19882",
+ "PkgName": "login",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "shadow-utils: local users can obtain root access because setuid programs are misconfigured",
+ "Description": "shadow 4.8, in certain circumstances affecting at least Gentoo, Arch Linux, and Void Linux, allows local users to obtain root access because setuid programs are misconfigured. Specifically, this affects shadow 4.8 when compiled using --with-libpam but without explicitly passing --disable-account-tools-setuid, and without a PAM configuration suitable for use with setuid account management tools. This combination leads to account management tools (groupadd, groupdel, groupmod, useradd, userdel, usermod) that can easily be used by unprivileged local users to escalate privileges to root in multiple ways. This issue became much more relevant in approximately December 2019 when an unrelated bug was fixed (i.e., the chmod calls to suidusbins were fixed in the upstream Makefile which is now included in the release version 4.8).",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.archlinux.org/task/64836",
+ "https://bugs.gentoo.org/702252",
+ "https://github.com/shadow-maint/shadow/commit/edf7547ad5aa650be868cf2dac58944773c12d75",
+ "https://github.com/shadow-maint/shadow/pull/199",
+ "https://github.com/void-linux/void-packages/pull/17580"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-4235",
+ "PkgName": "login",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "shadow-utils: TOCTOU race conditions by copying and removing directory trees",
+ "Description": "shadow: TOCTOU (time-of-check time-of-use) race condition when copying and removing directory trees",
+ "Severity": "LOW",
+ "References": [
+ "https://access.redhat.com/security/cve/cve-2013-4235",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2013-4235",
+ "https://security-tracker.debian.org/tracker/CVE-2013-4235"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0628843-DBAD28",
+ "PkgName": "login",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2008-1687",
+ "PkgName": "m4",
+ "InstalledVersion": "1.4.18-2",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "m4: unquoted output of maketemp and mkstemp",
+ "Description": "The (1) maketemp and (2) mkstemp builtin functions in GNU m4 before 1.4.11 do not quote their output when a file is created, which might allow context-dependent attackers to trigger a macro expansion, leading to unspecified use of an incorrect filename.",
+ "Severity": "HIGH",
+ "References": [
+ "http://secunia.com/advisories/29671",
+ "http://secunia.com/advisories/29729",
+ "http://slackware.com/security/viewer.php?l=slackware-security\u0026y=2008\u0026m=slackware-security.510612",
+ "http://www.openwall.com/lists/oss-security/2008/04/07/1",
+ "http://www.openwall.com/lists/oss-security/2008/04/07/12",
+ "http://www.openwall.com/lists/oss-security/2008/04/07/3",
+ "http://www.openwall.com/lists/oss-security/2008/04/07/4",
+ "http://www.securityfocus.com/bid/28688",
+ "http://www.vupen.com/english/advisories/2008/1151/references",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/41706"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2008-1688",
+ "PkgName": "m4",
+ "InstalledVersion": "1.4.18-2",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "m4: code execution via -F argument",
+ "Description": "Unspecified vulnerability in GNU m4 before 1.4.11 might allow context-dependent attackers to execute arbitrary code, related to improper handling of filenames specified with the -F option. NOTE: it is not clear when this issue crosses privilege boundaries.",
+ "Severity": "HIGH",
+ "References": [
+ "http://osvdb.org/44272",
+ "http://secunia.com/advisories/29671",
+ "http://secunia.com/advisories/29729",
+ "http://slackware.com/security/viewer.php?l=slackware-security\u0026y=2008\u0026m=slackware-security.510612",
+ "http://www.openwall.com/lists/oss-security/2008/04/07/1",
+ "http://www.openwall.com/lists/oss-security/2008/04/07/3",
+ "http://www.securityfocus.com/bid/28688",
+ "http://www.vupen.com/english/advisories/2008/1151/references",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/41704"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-6755",
+ "PkgName": "openssl",
+ "InstalledVersion": "1.1.1d-0+deb10u3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "Dual_EC_DRBG: weak pseudo random number generator",
+ "Description": "The NIST SP 800-90A default statement of the Dual Elliptic Curve Deterministic Random Bit Generation (Dual_EC_DRBG) algorithm contains point Q constants with a possible relationship to certain \"skeleton key\" values, which might allow context-dependent attackers to defeat cryptographic protection mechanisms by leveraging knowledge of those values. NOTE: this is a preliminary CVE for Dual_EC_DRBG; future research may provide additional details about point Q and associated attacks, and could potentially lead to a RECAST or REJECT of this CVE.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://arstechnica.com/security/2013/09/stop-using-nsa-influence-code-in-our-product-rsa-tells-customers/",
+ "http://blog.cryptographyengineering.com/2013/09/rsa-warns-developers-against-its-own.html",
+ "http://blog.cryptographyengineering.com/2013/09/the-many-flaws-of-dualecdrbg.html",
+ "http://rump2007.cr.yp.to/15-shumow.pdf",
+ "http://stream.wsj.com/story/latest-headlines/SS-2-63399/SS-2-332655/",
+ "http://threatpost.com/in-wake-of-latest-crypto-revelations-everything-is-suspect",
+ "http://www.securityfocus.com/bid/63657",
+ "https://www.schneier.com/blog/archives/2007/11/the_strange_sto.html"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2010-0928",
+ "PkgName": "openssl",
+ "InstalledVersion": "1.1.1d-0+deb10u3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openssl: RSA authentication weakness",
+ "Description": "OpenSSL 0.9.8i on the Gaisler Research LEON3 SoC on the Xilinx Virtex-II Pro FPGA uses a Fixed Width Exponentiation (FWE) algorithm for certain signature calculations, and does not verify the signature before providing it to a caller, which makes it easier for physically proximate attackers to determine the private key via a modified supply voltage for the microprocessor, related to a \"fault-based attack.\"",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://rdist.root.org/2010/03/08/attacking-rsa-exponentiation-with-fault-injection/",
+ "http://www.eecs.umich.edu/%7Evaleria/research/publications/DATE10RSA.pdf",
+ "http://www.networkworld.com/news/2010/030410-rsa-security-attack.html",
+ "http://www.osvdb.org/62808",
+ "http://www.theregister.co.uk/2010/03/04/severe_openssl_vulnerability/",
+ "https://exchange.xforce.ibmcloud.com/vulnerabilities/56750"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-1551",
+ "PkgName": "openssl",
+ "InstalledVersion": "1.1.1d-0+deb10u3",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "openssl: Integer overflow in RSAZ modular exponentiation on x86_64",
+ "Description": "There is an overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli. No EC algorithms are affected. Analysis suggests that attacks against 2-prime RSA1024, 3-prime RSA1536, and DSA1024 as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH512 are considered just feasible. However, for an attack the target would have to re-use the DH512 private key, which is not recommended anyway. Also applications directly using the low level API BN_mod_exp may be affected if they use BN_FLG_CONSTTIME. Fixed in OpenSSL 1.1.1e (Affected 1.1.1-1.1.1d). Fixed in OpenSSL 1.0.2u (Affected 1.0.2-1.0.2t).",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00030.html",
+ "http://packetstormsecurity.com/files/155754/Slackware-Security-Advisory-openssl-Updates.html",
+ "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1551",
+ "https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=419102400a2811582a7a3d4a4e317d72e5ce0a8f",
+ "https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=f1c5eea8a817075d31e43f5876993c6710238c98",
+ "https://github.com/openssl/openssl/pull/10575",
+ "https://seclists.org/bugtraq/2019/Dec/39",
+ "https://seclists.org/bugtraq/2019/Dec/46",
+ "https://security.netapp.com/advisory/ntap-20191210-0001/",
+ "https://www.debian.org/security/2019/dsa-4594",
+ "https://www.openssl.org/news/secadv/20191206.txt",
+ "https://www.tenable.com/security/tns-2019-09"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2007-5686",
+ "PkgName": "passwd",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Description": "initscripts in rPath Linux 1 sets insecure permissions for the /var/log/btmp file, which allows local users to obtain sensitive information regarding authentication attempts. NOTE: because sshd detects the insecure permissions and does not log certain events, this also prevents sshd from logging failed authentication attempts by remote attackers.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://secunia.com/advisories/27215",
+ "http://www.securityfocus.com/archive/1/482129/100/100/threaded",
+ "http://www.securityfocus.com/archive/1/482857/100/0/threaded",
+ "http://www.securityfocus.com/bid/26048",
+ "http://www.vupen.com/english/advisories/2007/3474",
+ "https://issues.rpath.com/browse/RPL-1825"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-7169",
+ "PkgName": "passwd",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "shadow-utils: newgidmap allows unprivileged user to drop supplementary groups potentially allowing privilege escalation",
+ "Description": "An issue was discovered in shadow 4.5. newgidmap (in shadow-utils) is setuid and allows an unprivileged user to be placed in a user namespace where setgroups(2) is permitted. This allows an attacker to remove themselves from a supplementary group, which may allow access to certain filesystem paths if the administrator has used \"group blacklisting\" (e.g., chmod g-rwx) to restrict access to paths. This flaw effectively reverts a security feature in the kernel (in particular, the /proc/self/setgroups knob) to prevent this sort of privilege escalation.",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/1729357",
+ "https://security.gentoo.org/glsa/201805-09"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-19882",
+ "PkgName": "passwd",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "shadow-utils: local users can obtain root access because setuid programs are misconfigured",
+ "Description": "shadow 4.8, in certain circumstances affecting at least Gentoo, Arch Linux, and Void Linux, allows local users to obtain root access because setuid programs are misconfigured. Specifically, this affects shadow 4.8 when compiled using --with-libpam but without explicitly passing --disable-account-tools-setuid, and without a PAM configuration suitable for use with setuid account management tools. This combination leads to account management tools (groupadd, groupdel, groupmod, useradd, userdel, usermod) that can easily be used by unprivileged local users to escalate privileges to root in multiple ways. This issue became much more relevant in approximately December 2019 when an unrelated bug was fixed (i.e., the chmod calls to suidusbins were fixed in the upstream Makefile which is now included in the release version 4.8).",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.archlinux.org/task/64836",
+ "https://bugs.gentoo.org/702252",
+ "https://github.com/shadow-maint/shadow/commit/edf7547ad5aa650be868cf2dac58944773c12d75",
+ "https://github.com/shadow-maint/shadow/pull/199",
+ "https://github.com/void-linux/void-packages/pull/17580"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-4235",
+ "PkgName": "passwd",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "shadow-utils: TOCTOU race conditions by copying and removing directory trees",
+ "Description": "shadow: TOCTOU (time-of-check time-of-use) race condition when copying and removing directory trees",
+ "Severity": "LOW",
+ "References": [
+ "https://access.redhat.com/security/cve/cve-2013-4235",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2013-4235",
+ "https://security-tracker.debian.org/tracker/CVE-2013-4235"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0628843-DBAD28",
+ "PkgName": "passwd",
+ "InstalledVersion": "1:4.5-1.1",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2010-4651",
+ "PkgName": "patch",
+ "InstalledVersion": "2.7.6-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "patch: directory traversal flaw allows for arbitrary file creation",
+ "Description": "Directory traversal vulnerability in util.c in GNU patch 2.6.1 and earlier allows user-assisted remote attackers to create or overwrite arbitrary files via a filename that is specified with a .. (dot dot) or full pathname, a related issue to CVE-2010-1679.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://git.savannah.gnu.org/cgit/patch.git/commit/?id=685a78b6052f4df6eac6d625a545cfb54a6ac0e1",
+ "http://lists.apple.com/archives/security-announce/2011//Jun/msg00000.html",
+ "http://lists.fedoraproject.org/pipermail/package-announce/2011-March/055241.html",
+ "http://lists.fedoraproject.org/pipermail/package-announce/2011-March/055246.html",
+ "http://lists.gnu.org/archive/html/bug-patch/2010-12/msg00000.html",
+ "http://openwall.com/lists/oss-security/2011/01/05/10",
+ "http://openwall.com/lists/oss-security/2011/01/06/19",
+ "http://openwall.com/lists/oss-security/2011/01/06/20",
+ "http://openwall.com/lists/oss-security/2011/01/06/21",
+ "http://secunia.com/advisories/43663",
+ "http://secunia.com/advisories/43677",
+ "http://support.apple.com/kb/HT4723",
+ "http://www.securityfocus.com/bid/46768",
+ "http://www.vupen.com/english/advisories/2011/0600",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=667529"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-6951",
+ "PkgName": "patch",
+ "InstalledVersion": "2.7.6-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "patch: NULL pointer dereference in pch.c:intuit_diff_type() causes a crash",
+ "Description": "An issue was discovered in GNU patch through 2.7.6. There is a segmentation fault, associated with a NULL pointer dereference, leading to a denial of service in the intuit_diff_type function in pch.c, aka a \"mangled rename\" issue.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/103044",
+ "https://git.savannah.gnu.org/cgit/patch.git/commit/?id=f290f48a621867084884bfff87f8093c15195e6a",
+ "https://savannah.gnu.org/bugs/index.php?53132",
+ "https://security.gentoo.org/glsa/201904-17",
+ "https://usn.ubuntu.com/3624-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2018-6952",
+ "PkgName": "patch",
+ "InstalledVersion": "2.7.6-3+deb10u1",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "patch: Double free of memory in pch.c:another_hunk() causes a crash",
+ "Description": "A double free exists in the another_hunk function in pch.c in GNU patch through 2.7.6.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2018-6952.html",
+ "http://linux.oracle.com/errata/ELSA-2019-2033.html",
+ "http://www.securityfocus.com/bid/103047",
+ "https://savannah.gnu.org/bugs/index.php?53133",
+ "https://security.gentoo.org/glsa/201904-17"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-4116",
+ "PkgName": "perl",
+ "InstalledVersion": "5.28.1-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "perl: File::Temp insecure temporary file handling",
+ "Description": "_is_safe in the File::Temp module for Perl does not properly handle symlinks.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2011/11/04/2",
+ "http://www.openwall.com/lists/oss-security/2011/11/04/4",
+ "https://github.com/Perl-Toolchain-Gang/File-Temp/issues/14",
+ "https://rt.cpan.org/Public/Bug/Display.html?id=69106",
+ "https://seclists.org/oss-sec/2011/q4/238"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-4116",
+ "PkgName": "perl-base",
+ "InstalledVersion": "5.28.1-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "perl: File::Temp insecure temporary file handling",
+ "Description": "_is_safe in the File::Temp module for Perl does not properly handle symlinks.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2011/11/04/2",
+ "http://www.openwall.com/lists/oss-security/2011/11/04/4",
+ "https://github.com/Perl-Toolchain-Gang/File-Temp/issues/14",
+ "https://rt.cpan.org/Public/Bug/Display.html?id=69106",
+ "https://seclists.org/oss-sec/2011/q4/238"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2011-4116",
+ "PkgName": "perl-modules-5.28",
+ "InstalledVersion": "5.28.1-6",
+ "Layer": {
+ "Digest": "sha256:f8d55b89827dff29b49f86cebc978eddb06ffdf89e9675cc9e43e76939a1a3cd",
+ "DiffID": "sha256:92ae4025fb201623e7341f8351134f15dc6ea13d8426a7da22ad4e17fc21b731"
+ },
+ "Title": "perl: File::Temp insecure temporary file handling",
+ "Description": "_is_safe in the File::Temp module for Perl does not properly handle symlinks.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.openwall.com/lists/oss-security/2011/11/04/2",
+ "http://www.openwall.com/lists/oss-security/2011/11/04/4",
+ "https://github.com/Perl-Toolchain-Gang/File-Temp/issues/14",
+ "https://rt.cpan.org/Public/Bug/Display.html?id=69106",
+ "https://seclists.org/oss-sec/2011/q4/238"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8492",
+ "PkgName": "python3.7",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: wrong backtracking in urllib.request.AbstractBasicAuthHandler allows for a ReDoS",
+ "Description": "Python 2.7 through 2.7.17, 3.5 through 3.5.9, 3.6 through 3.6.10, 3.7 through 3.7.6, and 3.8 through 3.8.1 allows an HTTP server to conduct Regular Expression Denial of Service (ReDoS) attacks against a client because of urllib.request.AbstractBasicAuthHandler catastrophic backtracking.",
+ "Severity": "HIGH",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue39503",
+ "https://github.com/python/cpython/pull/18284",
+ "https://python-security.readthedocs.io/vuln/urllib-basic-auth-regex.html",
+ "https://security.netapp.com/advisory/ntap-20200221-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17522",
+ "PkgName": "python3.7",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Command injection in Lib/webbrowser.py",
+ "Description": "** DISPUTED ** Lib/webbrowser.py in Python through 3.6.3 does not validate strings before launching the program specified by the BROWSER environment variable, which might allow remote attackers to conduct argument-injection attacks via a crafted URL. NOTE: a software maintainer indicates that exploitation is impossible because the code relies on subprocess.Popen and the default shell=False setting.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/102207",
+ "https://bugs.python.org/issue32367",
+ "https://security-tracker.debian.org/tracker/CVE-2017-17522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18348",
+ "PkgName": "python3.7",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: CRLF injection via the host part of the url passed to urlopen()",
+ "Description": "An issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \\r\\n (specifically in the host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.)",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.python.org/issue30458#msg347282",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1727276",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4X3HW5JRZ7GCPSR7UHJOLD7AWLTQCDVR/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JCPGLTTOBB3QEARDX4JOYURP6ELNNA2V/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M34WOYCDKTDE5KLUACE2YIEH7D37KHRX/",
+ "https://security.netapp.com/advisory/ntap-20191107-0004/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9674",
+ "PkgName": "python3.7",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Nested zip file (Zip bomb) vulnerability in Lib/zipfile.py",
+ "Description": "Lib/zipfile.py in Python through 3.7.2 allows remote attackers to cause a denial of service (resource consumption) via a ZIP bomb.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue36260",
+ "https://bugs.python.org/issue36462",
+ "https://github.com/python/cpython/blob/master/Lib/zipfile.py",
+ "https://python-security.readthedocs.io/security.html#archives-and-zip-bomb",
+ "https://security.netapp.com/advisory/ntap-20200221-0003/",
+ "https://www.python.org/news/security/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-8492",
+ "PkgName": "python3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: wrong backtracking in urllib.request.AbstractBasicAuthHandler allows for a ReDoS",
+ "Description": "Python 2.7 through 2.7.17, 3.5 through 3.5.9, 3.6 through 3.6.10, 3.7 through 3.7.6, and 3.8 through 3.8.1 allows an HTTP server to conduct Regular Expression Denial of Service (ReDoS) attacks against a client because of urllib.request.AbstractBasicAuthHandler catastrophic backtracking.",
+ "Severity": "HIGH",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue39503",
+ "https://github.com/python/cpython/pull/18284",
+ "https://python-security.readthedocs.io/vuln/urllib-basic-auth-regex.html",
+ "https://security.netapp.com/advisory/ntap-20200221-0001/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2017-17522",
+ "PkgName": "python3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Command injection in Lib/webbrowser.py",
+ "Description": "** DISPUTED ** Lib/webbrowser.py in Python through 3.6.3 does not validate strings before launching the program specified by the BROWSER environment variable, which might allow remote attackers to conduct argument-injection attacks via a crafted URL. NOTE: a software maintainer indicates that exploitation is impossible because the code relies on subprocess.Popen and the default shell=False setting.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/102207",
+ "https://bugs.python.org/issue32367",
+ "https://security-tracker.debian.org/tracker/CVE-2017-17522"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-18348",
+ "PkgName": "python3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: CRLF injection via the host part of the url passed to urlopen()",
+ "Description": "An issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \\r\\n (specifically in the host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.)",
+ "Severity": "MEDIUM",
+ "References": [
+ "https://bugs.python.org/issue30458#msg347282",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=1727276",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4X3HW5JRZ7GCPSR7UHJOLD7AWLTQCDVR/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JCPGLTTOBB3QEARDX4JOYURP6ELNNA2V/",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M34WOYCDKTDE5KLUACE2YIEH7D37KHRX/",
+ "https://security.netapp.com/advisory/ntap-20191107-0004/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9674",
+ "PkgName": "python3.7-minimal",
+ "InstalledVersion": "3.7.3-2+deb10u1",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "python: Nested zip file (Zip bomb) vulnerability in Lib/zipfile.py",
+ "Description": "Lib/zipfile.py in Python through 3.7.2 allows remote attackers to cause a denial of service (resource consumption) via a ZIP bomb.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-03/msg00003.html",
+ "https://bugs.python.org/issue36260",
+ "https://bugs.python.org/issue36462",
+ "https://github.com/python/cpython/blob/master/Lib/zipfile.py",
+ "https://python-security.readthedocs.io/security.html#archives-and-zip-bomb",
+ "https://security.netapp.com/advisory/ntap-20200221-0003/",
+ "https://www.python.org/news/security/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3843",
+ "PkgName": "systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: services with DynamicUser can create SUID/SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can create a SUID/SGID binary that would be allowed to run as the transient service UID/GID even after the service is terminated. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the UID/GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108116",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3843",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5JXQAKSTMABZ46EVCRMW62DHWYHTTFES/",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3844",
+ "PkgName": "systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: services with DynamicUser can get new privileges and create SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can get new privileges through the execution of SUID binaries, which would allow to create binaries owned by the service transient group with the setgid bit set. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108096",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3844",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1712",
+ "PkgName": "systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: use-after-free when asynchronous polkit queries are performed",
+ "Description": "A heap use-after-free vulnerability was found in systemd before version v245-rc1, where asynchronous Polkit queries are performed while handling dbus messages. A local unprivileged attacker can abuse this flaw to crash systemd services or potentially execute code and elevate their privileges, by sending specially crafted dbus messages.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-1712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-0575.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1712",
+ "https://github.com/systemd/systemd/commit/1068447e6954dc6ce52f099ed174c442cb89ed54",
+ "https://github.com/systemd/systemd/commit/637486261528e8aa3da9f26a4487dc254f4b7abb",
+ "https://github.com/systemd/systemd/commit/bc130b6858327b382b07b3985cf48e2aa9016b2d",
+ "https://github.com/systemd/systemd/commit/ea0d0ede03c6f18dbc5036c5e9cccf97e415ccc2",
+ "https://www.openwall.com/lists/oss-security/2020/02/05/1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-4392",
+ "PkgName": "systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: TOCTOU race condition when updating file permissions and SELinux security contexts",
+ "Description": "systemd, when updating file permissions, allows local users to change the permissions and SELinux security contexts for arbitrary files via a symlink attack on unspecified files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725357",
+ "http://www.openwall.com/lists/oss-security/2013/10/01/9",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=859060"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20386",
+ "PkgName": "systemd",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: a memory leak was discovered in button_open in login/logind-button.c when udev events are received",
+ "Description": "An issue was discovered in button_open in login/logind-button.c in systemd before 243. When executing the udevadm trigger command, a memory leak may occur.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00014.html",
+ "https://github.com/systemd/systemd/commit/b2774a3ae692113e1f47a336a6c09bac9cfb49ad",
+ "https://security.netapp.com/advisory/ntap-20200210-0002/",
+ "https://usn.ubuntu.com/4269-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3843",
+ "PkgName": "systemd-sysv",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: services with DynamicUser can create SUID/SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can create a SUID/SGID binary that would be allowed to run as the transient service UID/GID even after the service is terminated. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the UID/GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108116",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3843",
+ "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/5JXQAKSTMABZ46EVCRMW62DHWYHTTFES/",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-3844",
+ "PkgName": "systemd-sysv",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: services with DynamicUser can get new privileges and create SGID binaries",
+ "Description": "It was discovered that a systemd service that uses DynamicUser property can get new privileges through the execution of SUID binaries, which would allow to create binaries owned by the service transient group with the setgid bit set. A local attacker may use this flaw to access resources that will be owned by a potentially different service in the future, when the GID will be recycled.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://www.securityfocus.com/bid/108096",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3844",
+ "https://security.netapp.com/advisory/ntap-20190619-0002/"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2020-1712",
+ "PkgName": "systemd-sysv",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: use-after-free when asynchronous polkit queries are performed",
+ "Description": "A heap use-after-free vulnerability was found in systemd before version v245-rc1, where asynchronous Polkit queries are performed while handling dbus messages. A local unprivileged attacker can abuse this flaw to crash systemd services or potentially execute code and elevate their privileges, by sending specially crafted dbus messages.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://linux.oracle.com/cve/CVE-2020-1712.html",
+ "http://linux.oracle.com/errata/ELSA-2020-0575.html",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-1712",
+ "https://github.com/systemd/systemd/commit/1068447e6954dc6ce52f099ed174c442cb89ed54",
+ "https://github.com/systemd/systemd/commit/637486261528e8aa3da9f26a4487dc254f4b7abb",
+ "https://github.com/systemd/systemd/commit/bc130b6858327b382b07b3985cf48e2aa9016b2d",
+ "https://github.com/systemd/systemd/commit/ea0d0ede03c6f18dbc5036c5e9cccf97e415ccc2",
+ "https://www.openwall.com/lists/oss-security/2020/02/05/1"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2013-4392",
+ "PkgName": "systemd-sysv",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: TOCTOU race condition when updating file permissions and SELinux security contexts",
+ "Description": "systemd, when updating file permissions, allows local users to change the permissions and SELinux security contexts for arbitrary files via a symlink attack on unspecified files.",
+ "Severity": "LOW",
+ "References": [
+ "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725357",
+ "http://www.openwall.com/lists/oss-security/2013/10/01/9",
+ "https://bugzilla.redhat.com/show_bug.cgi?id=859060"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-20386",
+ "PkgName": "systemd-sysv",
+ "InstalledVersion": "241-7~deb10u3",
+ "Layer": {
+ "Digest": "sha256:aaf8af9dabaec28a6a2a7e455b8bdd12a81c76d2d0fca3406539ddeee61c370a",
+ "DiffID": "sha256:ba46a3052ea3e0c31992225d1ac3f2fe01f806236e1186565cd2b0aeba794fa1"
+ },
+ "Title": "systemd: a memory leak was discovered in button_open in login/logind-button.c when udev events are received",
+ "Description": "An issue was discovered in button_open in login/logind-button.c in systemd before 243. When executing the udevadm trigger command, a memory leak may occur.",
+ "Severity": "LOW",
+ "References": [
+ "http://lists.opensuse.org/opensuse-security-announce/2020-02/msg00014.html",
+ "https://github.com/systemd/systemd/commit/b2774a3ae692113e1f47a336a6c09bac9cfb49ad",
+ "https://security.netapp.com/advisory/ntap-20200210-0002/",
+ "https://usn.ubuntu.com/4269-1/"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0517018-A83CE6",
+ "PkgName": "sysvinit-utils",
+ "InstalledVersion": "2.93-8",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Severity": "LOW"
+ },
+ {
+ "VulnerabilityID": "CVE-2005-2541",
+ "PkgName": "tar",
+ "InstalledVersion": "1.30+dfsg-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Description": "Tar 1.15.1 does not properly warn the user when extracting setuid or setgid files, which may allow local users or remote attackers to gain privileges.",
+ "Severity": "CRITICAL",
+ "References": [
+ "http://marc.info/?l=bugtraq\u0026m=112327628230258\u0026w=2"
+ ]
+ },
+ {
+ "VulnerabilityID": "CVE-2019-9923",
+ "PkgName": "tar",
+ "InstalledVersion": "1.30+dfsg-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Title": "tar: null-pointer dereference in pax_decode_header in sparse.c",
+ "Description": "pax_decode_header in sparse.c in GNU Tar before 1.32 had a NULL pointer dereference when parsing certain archives that have malformed extended headers.",
+ "Severity": "MEDIUM",
+ "References": [
+ "http://git.savannah.gnu.org/cgit/tar.git/commit/?id=cb07844454d8cc9fb21f53ace75975f91185a120",
+ "http://lists.opensuse.org/opensuse-security-announce/2019-04/msg00077.html",
+ "http://savannah.gnu.org/bugs/?55369",
+ "https://bugs.launchpad.net/ubuntu/+source/tar/+bug/1810241"
+ ]
+ },
+ {
+ "VulnerabilityID": "TEMP-0290435-0B57B5",
+ "PkgName": "tar",
+ "InstalledVersion": "1.30+dfsg-6",
+ "Layer": {
+ "Digest": "sha256:54fec2fa59d0a0de9cd2dec9850b36c43de451f1fd1c0a5bf8f1cf26a61a5da4",
+ "DiffID": "sha256:c2adabaecedbda0af72b153c6499a0555f3a769d52370469d8f6bd6328af9b13"
+ },
+ "Severity": "LOW"
+ }
+ ]
+ },
+ {
+ "Target": "var/www/html/extensions/CategoryTree/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/Cite/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/CiteThisPage/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/CodeEditor/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/ConfirmEdit/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/Gadgets/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/ImageMap/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/InputBox/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/Interwiki/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/LocalisationUpdate/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/MultimediaViewer/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/Nuke/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/OATHAuth/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/PageImages/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/ParserFunctions/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/PdfHandler/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/Poem/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/Renameuser/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/ReplaceText/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/Scribunto/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/SpamBlacklist/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/SyntaxHighlight_GeSHi/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/TextExtracts/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/TitleBlacklist/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/extensions/WikiEditor/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/skins/MonoBook/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/skins/Vector/package-lock.json",
+ "Vulnerabilities": null
+ },
+ {
+ "Target": "var/www/html/tests/phpunit/data/composer/composer.lock",
+ "Vulnerabilities": null
+ }
+]
\ No newline at end of file
diff --git a/integrations/trivy/parser/__testFiles__/securecodebox-amass-unstable-pinned.json b/scanner/trivy/parser/__testFiles__/securecodebox-amass-unstable-pinned.json
similarity index 100%
rename from integrations/trivy/parser/__testFiles__/securecodebox-amass-unstable-pinned.json
rename to scanner/trivy/parser/__testFiles__/securecodebox-amass-unstable-pinned.json
diff --git a/integrations/trivy/parser/__testFiles__/securecodebox-engine.json b/scanner/trivy/parser/__testFiles__/securecodebox-engine.json
similarity index 100%
rename from integrations/trivy/parser/__testFiles__/securecodebox-engine.json
rename to scanner/trivy/parser/__testFiles__/securecodebox-engine.json
diff --git a/integrations/trivy/parser/__testFiles__/securecodebox-ssh-unstable.json b/scanner/trivy/parser/__testFiles__/securecodebox-ssh-unstable.json
similarity index 100%
rename from integrations/trivy/parser/__testFiles__/securecodebox-ssh-unstable.json
rename to scanner/trivy/parser/__testFiles__/securecodebox-ssh-unstable.json
diff --git a/integrations/trivy/parser/parser.js b/scanner/trivy/parser/parser.js
similarity index 100%
rename from integrations/trivy/parser/parser.js
rename to scanner/trivy/parser/parser.js
diff --git a/integrations/trivy/parser/parser.test.js b/scanner/trivy/parser/parser.test.js
similarity index 100%
rename from integrations/trivy/parser/parser.test.js
rename to scanner/trivy/parser/parser.test.js
diff --git a/integrations/trivy/templates/trivy-parse-definition.yaml b/scanner/trivy/templates/trivy-parse-definition.yaml
similarity index 100%
rename from integrations/trivy/templates/trivy-parse-definition.yaml
rename to scanner/trivy/templates/trivy-parse-definition.yaml
diff --git a/integrations/trivy/templates/trivy-scan-type.yaml b/scanner/trivy/templates/trivy-scan-type.yaml
similarity index 100%
rename from integrations/trivy/templates/trivy-scan-type.yaml
rename to scanner/trivy/templates/trivy-scan-type.yaml
diff --git a/integrations/trivy/values.yaml b/scanner/trivy/values.yaml
similarity index 100%
rename from integrations/trivy/values.yaml
rename to scanner/trivy/values.yaml
diff --git a/scanner/wpscan/.helmignore b/scanner/wpscan/.helmignore
new file mode 100644
index 00000000..fedb362b
--- /dev/null
+++ b/scanner/wpscan/.helmignore
@@ -0,0 +1,4 @@
+.DS_Store
+
+parser/
+scanner/
\ No newline at end of file
diff --git a/scanner/wpscan/Chart.yaml b/scanner/wpscan/Chart.yaml
new file mode 100644
index 00000000..ce785e7b
--- /dev/null
+++ b/scanner/wpscan/Chart.yaml
@@ -0,0 +1,21 @@
+apiVersion: v2
+name: wpscan
+description: A Helm chart for the WordPress security Scanner that integrates with the secureCodeBox.
+
+type: application
+version: 0.1.0
+appVersion: latest
+
+keywords:
+- security
+- wpscan
+- wordpress
+- scanner
+- secureCodeBox
+home: https://www.securecodebox.io/scanner/WPScan
+icon: https://www.securecodebox.io/integrationIcons/WPScan.svg
+sources:
+- https://github.com/secureCodeBox/scanner-infrastructure-wpscan
+maintainers:
+- name: iteratec GmbH
+ email: security@iteratec.com
diff --git a/scanner/wpscan/README.md b/scanner/wpscan/README.md
new file mode 100644
index 00000000..95771a2c
--- /dev/null
+++ b/scanner/wpscan/README.md
@@ -0,0 +1,88 @@
+---
+title: 'WPScan'
+path: 'scanner/WPScan'
+category: 'scanner'
+usecase: 'Wordpress Vulnerability Scanner'
+---
+
+
+
+WPScan is a free, for non-commercial use, black box WordPress vulnerability scanner written for security professionals and blog maintainers to test the security of their sites.
+
+> NOTE: You need to provide WPSan with an API Token so that it can look up vulnerabilities infos with [https://wpvulndb.com](https://wpvulndb.com). Without the token WPScan will only identify Wordpress Core / Plugin / Theme versions but not if they are actually vulnerable. You can get a free API Token at by registering for an account at [https://wpvulndb.com](https://wpvulndb.com). Using the secureCodeBox WPScans you can specify the token via the `WPVULNDB_API_TOKEN` target attribute, see the example below.
+
+To learn more about the WPScan scanner itself visit [wpscan.org] or [wpscan.io].
+
+
+
+## Deployment
+
+The WPScan scanType can be deployed via helm.
+
+```bash
+helm upgrade --install wpscan ./scanner/wpscan/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *example.com* [scan](./examples/secureCodeBox.io/scan.yaml) and [findings](./examples/secureCodeBox.io/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [WPScan Documentation], please take a look at the original documentation for more configuration examples.
+
+* Scan all plugins with known vulnerabilities: `wpscan --url example.com -e vp --plugins-detection mixed --api-token WPVULNDB_API_TOKEN`
+* Scan all plugins in our database (could take a very long time): `wpscan --url example.com -e ap --plugins-detection mixed --api-token WPVULNDB_API_TOKEN`
+* Password brute force attack: `wpscan --url example.com -e u --passwords /path/to/password_file.txt`
+* WPScan keeps a local database of metadata that is used to output useful information, such as the latest version of a plugin. The local database can be updated with the following command: `wpscan --update`
+* When enumerating the WordPress version, installed plugins or installed themes, you can use three different "modes", which are:
+ * passive
+ * aggressive
+ * mixed
+ If you want the most results use the "mixed" mode. However, if you are worried that the server may not be able to handle a large number of requests, use the "passive" mode. The default mode is "mixed", with the exception of plugin enumeration, which is "passive". You will need to manually override the plugin detection mode, if you want to use anything other than the default, with the `--plugins-detection` option.
+* WPScan can enumerate various things from a remote WordPress applcation, such as plugins, themes, usernames, backed up files wp-config.php files, Timthumb files, database exports and more. To use WPScan's enumeration capabilities supply the `-e `option.
+```bash
+Available Choices:
+ vp | Vulnerable plugins
+ ap | All plugins
+ p | Plugins
+ vt | Vulnerable themes
+ at | All themes
+ t | Themes
+ tt | Timthumbs
+ cb | Config backups
+ dbe | Db exports
+ u | User IDs range. e.g: u1-5
+ Range separator to use: '-'
+ Value if no argument supplied: 1-10
+ m | Media IDs range. e.g m1-15
+ Note: Permalink setting must be set to "Plain" for those to be detected
+ Range separator to use: '-'
+ Value if no argument supplied: 1-100
+
+Separator to use between the values: ','
+Default: All Plugins, Config Backups
+Value if no argument supplied: vp,vt,tt,cb,dbe,u,m
+Incompatible choices (only one of each group/s can be used):
+ - vp, ap, p
+ - vt, at, t
+```
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+[wpscan.io]: https://wpscan.io/
+[wpscan.org]: https://wpscan.org/
+[WPScan Documentation]: https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation
\ No newline at end of file
diff --git a/scanner/wpscan/examples/example.com/findings.yaml b/scanner/wpscan/examples/example.com/findings.yaml
new file mode 100644
index 00000000..76fb9f2a
--- /dev/null
+++ b/scanner/wpscan/examples/example.com/findings.yaml
@@ -0,0 +1,228 @@
+{
+ "banner": {
+ "description": "WordPress Security Scanner by the WPScan Team",
+ "version": "3.8.1",
+ "authors": [
+ "@_WPScan_",
+ "@ethicalhack3r",
+ "@erwan_lr",
+ "@firefart"
+ ],
+ "sponsor": "Sponsored by Automattic - https://automattic.com/"
+ },
+ "start_time": 1591480247,
+ "start_memory": 41349120,
+ "target_url": "https://www.example.com/",
+ "target_ip": "192.168.200.100",
+ "effective_url": "https://www.example.com/",
+ "interesting_findings": [
+ {
+ "url": "https://www.example.com/",
+ "to_s": "Headers",
+ "type": "headers",
+ "found_by": "Headers (Passive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+ "Server: Apache/2.4.29 (Ubuntu)"
+ ]
+ },
+ {
+ "url": "https://www.example.com/robots.txt",
+ "to_s": "https://www.example.com/robots.txt",
+ "type": "robots_txt",
+ "found_by": "Robots Txt (Aggressive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+ "/wp-admin/",
+ "/wp-admin/admin-ajax.php"
+ ]
+ },
+ {
+ "url": "https://www.example.com/readme.html",
+ "to_s": "https://www.example.com/readme.html",
+ "type": "readme",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+
+ ]
+ },
+ {
+ "url": "https://www.example.com/wp-content/mu-plugins/",
+ "to_s": "This site has 'Must Use Plugins': https://www.example.com/wp-content/mu-plugins/",
+ "type": "mu_plugins",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 80,
+ "confirmed_by": {
+
+ },
+ "references": {
+ "url": [
+ "http://codex.wordpress.org/Must_Use_Plugins"
+ ]
+ },
+ "interesting_entries": [
+
+ ]
+ },
+ {
+ "url": "https://www.example.com/wp-cron.php",
+ "to_s": "The external WP-Cron seems to be enabled: https://www.example.com/wp-cron.php",
+ "type": "wp_cron",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 60,
+ "confirmed_by": {
+
+ },
+ "references": {
+ "url": [
+ "https://www.iplocation.net/defend-wordpress-from-ddos",
+ "https://github.com/wpscanteam/wpscan/issues/1299"
+ ]
+ },
+ "interesting_entries": [
+
+ ]
+ }
+ ],
+ "version": {
+ "number": "5.3.3",
+ "release_date": "2020-04-29",
+ "status": "latest",
+ "found_by": "Rss Generator (Passive Detection)",
+ "confidence": 100,
+ "interesting_entries": [
+ "https://www.example.com/feed/, https://wordpress.org/?v=5.3.3",
+ "https://www.example.com/comments/feed/, https://wordpress.org/?v=5.3.3"
+ ],
+ "confirmed_by": {
+
+ },
+ "vulnerabilities": [
+
+ ]
+ },
+ "main_theme": {
+ "slug": "twentyseventeen",
+ "location": "https://www.example.com/wp-content/themes/twentyseventeen/",
+ "latest_version": "2.3",
+ "last_updated": "2020-03-31T00:00:00.000Z",
+ "outdated": true,
+ "readme_url": "https://www.example.com/wp-content/themes/twentyseventeen/README.txt",
+ "directory_listing": false,
+ "error_log_url": null,
+ "style_url": "https://www.example.com/wp-content/themes/twentyseventeen/style.css?ver=5.3.3",
+ "style_name": "Twenty Seventeen",
+ "style_uri": "https://wordpress.org/themes/twentyseventeen/",
+ "description": "Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.",
+ "author": "the WordPress team",
+ "author_uri": "https://wordpress.org/",
+ "template": null,
+ "license": "GNU General Public License v2 or later",
+ "license_uri": "http://www.gnu.org/licenses/gpl-2.0.html",
+ "tags": "one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready",
+ "text_domain": "twentyseventeen",
+ "found_by": "Css Style In Homepage (Passive Detection)",
+ "confidence": 100,
+ "interesting_entries": [
+
+ ],
+ "confirmed_by": {
+ "Css Style In 404 Page (Passive Detection)": {
+ "confidence": 70,
+ "interesting_entries": [
+
+ ]
+ }
+ },
+ "vulnerabilities": [
+
+ ],
+ "version": {
+ "number": "2.2",
+ "confidence": 80,
+ "found_by": "Style (Passive Detection)",
+ "interesting_entries": [
+ "https://www.example.com/wp-content/themes/twentyseventeen/style.css?ver=5.3.3, Match: 'Version: 2.2'"
+ ],
+ "confirmed_by": {
+
+ }
+ },
+ "parents": [
+
+ ]
+ },
+ "plugins": {
+ "akismet": {
+ "slug": "akismet",
+ "location": "https://www.example.com/wp-content/plugins/akismet/",
+ "latest_version": "4.1.6",
+ "last_updated": "2020-06-04T17:21:00.000Z",
+ "outdated": false,
+ "readme_url": false,
+ "directory_listing": false,
+ "error_log_url": null,
+ "found_by": "Known Locations (Aggressive Detection)",
+ "confidence": 80,
+ "interesting_entries": [
+ "https://www.example.com/wp-content/plugins/akismet/, status: 403"
+ ],
+ "confirmed_by": {
+
+ },
+ "vulnerabilities": [
+ {
+ "title": "Akismet 2.5.0-3.1.4 - Unauthenticated Stored Cross-Site Scripting (XSS)",
+ "fixed_in": "3.1.5",
+ "references": {
+ "cve": [
+ "2015-9357"
+ ],
+ "url": [
+ "http://blog.akismet.com/2015/10/13/akismet-3-1-5-wordpress/",
+ "https://blog.sucuri.net/2015/10/security-advisory-stored-xss-in-akismet-wordpress-plugin.html"
+ ],
+ "wpvulndb": [
+ "8215"
+ ]
+ }
+ }
+ ],
+ "version": null
+ }
+ },
+ "vuln_api": {
+ "plan": "free",
+ "requests_done_during_scan": 4,
+ "requests_remaining": 18
+ },
+ "stop_time": 1591480342,
+ "elapsed": 94,
+ "requests_done": 2335,
+ "cached_requests": 9,
+ "data_sent": 631774,
+ "data_sent_humanised": "616.967 KB",
+ "data_received": 1093069,
+ "data_received_humanised": "1.042 MB",
+ "used_memory": 272867328,
+ "used_memory_humanised": "260.227 MB"
+ }
\ No newline at end of file
diff --git a/scanner/wpscan/examples/example.com/scan.yaml b/scanner/wpscan/examples/example.com/scan.yaml
new file mode 100644
index 00000000..cbc31151
--- /dev/null
+++ b/scanner/wpscan/examples/example.com/scan.yaml
@@ -0,0 +1,15 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: Scan
+metadata:
+ name: "wpscan-www.example.com"
+spec:
+ scanType: "wpscan"
+ parameters:
+ - "--url"
+ - https://www.example.com
+ - "-e"
+ - "vp"
+ - "--plugins-detection"
+ - "mixed"
+ - "--api-token"
+ - "AAAAABBBBBCCCCCDDDDEEEEEEE"
diff --git a/integrations/zap/parser/Dockerfile b/scanner/wpscan/parser/Dockerfile
similarity index 100%
rename from integrations/zap/parser/Dockerfile
rename to scanner/wpscan/parser/Dockerfile
diff --git a/scanner/wpscan/parser/__testFiles__/empty-localhost.json b/scanner/wpscan/parser/__testFiles__/empty-localhost.json
new file mode 100644
index 00000000..7a73a41b
--- /dev/null
+++ b/scanner/wpscan/parser/__testFiles__/empty-localhost.json
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/scanner/wpscan/parser/__testFiles__/example-latest.json b/scanner/wpscan/parser/__testFiles__/example-latest.json
new file mode 100644
index 00000000..76fb9f2a
--- /dev/null
+++ b/scanner/wpscan/parser/__testFiles__/example-latest.json
@@ -0,0 +1,228 @@
+{
+ "banner": {
+ "description": "WordPress Security Scanner by the WPScan Team",
+ "version": "3.8.1",
+ "authors": [
+ "@_WPScan_",
+ "@ethicalhack3r",
+ "@erwan_lr",
+ "@firefart"
+ ],
+ "sponsor": "Sponsored by Automattic - https://automattic.com/"
+ },
+ "start_time": 1591480247,
+ "start_memory": 41349120,
+ "target_url": "https://www.example.com/",
+ "target_ip": "192.168.200.100",
+ "effective_url": "https://www.example.com/",
+ "interesting_findings": [
+ {
+ "url": "https://www.example.com/",
+ "to_s": "Headers",
+ "type": "headers",
+ "found_by": "Headers (Passive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+ "Server: Apache/2.4.29 (Ubuntu)"
+ ]
+ },
+ {
+ "url": "https://www.example.com/robots.txt",
+ "to_s": "https://www.example.com/robots.txt",
+ "type": "robots_txt",
+ "found_by": "Robots Txt (Aggressive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+ "/wp-admin/",
+ "/wp-admin/admin-ajax.php"
+ ]
+ },
+ {
+ "url": "https://www.example.com/readme.html",
+ "to_s": "https://www.example.com/readme.html",
+ "type": "readme",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+
+ ]
+ },
+ {
+ "url": "https://www.example.com/wp-content/mu-plugins/",
+ "to_s": "This site has 'Must Use Plugins': https://www.example.com/wp-content/mu-plugins/",
+ "type": "mu_plugins",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 80,
+ "confirmed_by": {
+
+ },
+ "references": {
+ "url": [
+ "http://codex.wordpress.org/Must_Use_Plugins"
+ ]
+ },
+ "interesting_entries": [
+
+ ]
+ },
+ {
+ "url": "https://www.example.com/wp-cron.php",
+ "to_s": "The external WP-Cron seems to be enabled: https://www.example.com/wp-cron.php",
+ "type": "wp_cron",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 60,
+ "confirmed_by": {
+
+ },
+ "references": {
+ "url": [
+ "https://www.iplocation.net/defend-wordpress-from-ddos",
+ "https://github.com/wpscanteam/wpscan/issues/1299"
+ ]
+ },
+ "interesting_entries": [
+
+ ]
+ }
+ ],
+ "version": {
+ "number": "5.3.3",
+ "release_date": "2020-04-29",
+ "status": "latest",
+ "found_by": "Rss Generator (Passive Detection)",
+ "confidence": 100,
+ "interesting_entries": [
+ "https://www.example.com/feed/, https://wordpress.org/?v=5.3.3",
+ "https://www.example.com/comments/feed/, https://wordpress.org/?v=5.3.3"
+ ],
+ "confirmed_by": {
+
+ },
+ "vulnerabilities": [
+
+ ]
+ },
+ "main_theme": {
+ "slug": "twentyseventeen",
+ "location": "https://www.example.com/wp-content/themes/twentyseventeen/",
+ "latest_version": "2.3",
+ "last_updated": "2020-03-31T00:00:00.000Z",
+ "outdated": true,
+ "readme_url": "https://www.example.com/wp-content/themes/twentyseventeen/README.txt",
+ "directory_listing": false,
+ "error_log_url": null,
+ "style_url": "https://www.example.com/wp-content/themes/twentyseventeen/style.css?ver=5.3.3",
+ "style_name": "Twenty Seventeen",
+ "style_uri": "https://wordpress.org/themes/twentyseventeen/",
+ "description": "Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.",
+ "author": "the WordPress team",
+ "author_uri": "https://wordpress.org/",
+ "template": null,
+ "license": "GNU General Public License v2 or later",
+ "license_uri": "http://www.gnu.org/licenses/gpl-2.0.html",
+ "tags": "one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready",
+ "text_domain": "twentyseventeen",
+ "found_by": "Css Style In Homepage (Passive Detection)",
+ "confidence": 100,
+ "interesting_entries": [
+
+ ],
+ "confirmed_by": {
+ "Css Style In 404 Page (Passive Detection)": {
+ "confidence": 70,
+ "interesting_entries": [
+
+ ]
+ }
+ },
+ "vulnerabilities": [
+
+ ],
+ "version": {
+ "number": "2.2",
+ "confidence": 80,
+ "found_by": "Style (Passive Detection)",
+ "interesting_entries": [
+ "https://www.example.com/wp-content/themes/twentyseventeen/style.css?ver=5.3.3, Match: 'Version: 2.2'"
+ ],
+ "confirmed_by": {
+
+ }
+ },
+ "parents": [
+
+ ]
+ },
+ "plugins": {
+ "akismet": {
+ "slug": "akismet",
+ "location": "https://www.example.com/wp-content/plugins/akismet/",
+ "latest_version": "4.1.6",
+ "last_updated": "2020-06-04T17:21:00.000Z",
+ "outdated": false,
+ "readme_url": false,
+ "directory_listing": false,
+ "error_log_url": null,
+ "found_by": "Known Locations (Aggressive Detection)",
+ "confidence": 80,
+ "interesting_entries": [
+ "https://www.example.com/wp-content/plugins/akismet/, status: 403"
+ ],
+ "confirmed_by": {
+
+ },
+ "vulnerabilities": [
+ {
+ "title": "Akismet 2.5.0-3.1.4 - Unauthenticated Stored Cross-Site Scripting (XSS)",
+ "fixed_in": "3.1.5",
+ "references": {
+ "cve": [
+ "2015-9357"
+ ],
+ "url": [
+ "http://blog.akismet.com/2015/10/13/akismet-3-1-5-wordpress/",
+ "https://blog.sucuri.net/2015/10/security-advisory-stored-xss-in-akismet-wordpress-plugin.html"
+ ],
+ "wpvulndb": [
+ "8215"
+ ]
+ }
+ }
+ ],
+ "version": null
+ }
+ },
+ "vuln_api": {
+ "plan": "free",
+ "requests_done_during_scan": 4,
+ "requests_remaining": 18
+ },
+ "stop_time": 1591480342,
+ "elapsed": 94,
+ "requests_done": 2335,
+ "cached_requests": 9,
+ "data_sent": 631774,
+ "data_sent_humanised": "616.967 KB",
+ "data_received": 1093069,
+ "data_received_humanised": "1.042 MB",
+ "used_memory": 272867328,
+ "used_memory_humanised": "260.227 MB"
+ }
\ No newline at end of file
diff --git a/scanner/wpscan/parser/__testFiles__/example-old.json b/scanner/wpscan/parser/__testFiles__/example-old.json
new file mode 100644
index 00000000..7f927e32
--- /dev/null
+++ b/scanner/wpscan/parser/__testFiles__/example-old.json
@@ -0,0 +1,243 @@
+{
+ "banner": {
+ "description": "WordPress Security Scanner by the WPScan Team",
+ "version": "3.8.1",
+ "authors": [
+ "@_WPScan_",
+ "@ethicalhack3r",
+ "@erwan_lr",
+ "@firefart"
+ ],
+ "sponsor": "Sponsored by Automattic - https://automattic.com/"
+ },
+ "start_time": 1591480670,
+ "start_memory": 41410560,
+ "target_url": "https://www.example.com/",
+ "target_ip": "192.168.0.123",
+ "effective_url": "https://www.example.com/",
+ "interesting_findings": [
+ {
+ "url": "https://www.example.com/",
+ "to_s": "Headers",
+ "type": "headers",
+ "found_by": "Headers (Passive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+ "server: Apache",
+ "x-cache-handler: php"
+ ]
+ },
+ {
+ "url": "https://www.example.com/robots.txt",
+ "to_s": "https://www.example.com/robots.txt",
+ "type": "robots_txt",
+ "found_by": "Robots Txt (Aggressive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+ "/wp-admin/",
+ "/wp-admin/admin-ajax.php"
+ ]
+ },
+ {
+ "url": "https://www.example.com/xmlrpc.php",
+ "to_s": "XML-RPC seems to be enabled: https://www.example.com/xmlrpc.php",
+ "type": "xmlrpc",
+ "found_by": "Headers (Passive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+ "Direct Access (Aggressive Detection)": {
+ "confidence": 100
+ }
+ },
+ "references": {
+ "url": [
+ "http://codex.wordpress.org/XML-RPC_Pingback_API"
+ ],
+ "metasploit": [
+ "auxiliary/scanner/http/wordpress_ghost_scanner",
+ "auxiliary/dos/http/wordpress_xmlrpc_dos",
+ "auxiliary/scanner/http/wordpress_xmlrpc_login",
+ "auxiliary/scanner/http/wordpress_pingback_access"
+ ]
+ },
+ "interesting_entries": [
+
+ ]
+ },
+ {
+ "url": "https://www.example.com/liesmich.html",
+ "to_s": "https://www.example.com/liesmich.html",
+ "type": "readme",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 100,
+ "confirmed_by": {
+
+ },
+ "references": {
+
+ },
+ "interesting_entries": [
+
+ ]
+ },
+ {
+ "url": "https://www.example.com/wp-cron.php",
+ "to_s": "The external WP-Cron seems to be enabled: https://www.example.com/wp-cron.php",
+ "type": "wp_cron",
+ "found_by": "Direct Access (Aggressive Detection)",
+ "confidence": 60,
+ "confirmed_by": {
+
+ },
+ "references": {
+ "url": [
+ "https://www.iplocation.net/defend-wordpress-from-ddos",
+ "https://github.com/wpscanteam/wpscan/issues/1299"
+ ]
+ },
+ "interesting_entries": [
+
+ ]
+ }
+ ],
+ "version": {
+ "number": "4.8.13",
+ "release_date": "2020-04-29",
+ "status": "latest",
+ "found_by": "Style Etag (Aggressive Detection)",
+ "confidence": 100,
+ "interesting_entries": [
+ "https://www.example.com/wp-admin/load-styles.php, Match: '4.8.13'"
+ ],
+ "confirmed_by": {
+ "Query Parameter In Install Page (Aggressive Detection)": {
+ "confidence": 90,
+ "interesting_entries": [
+ "https://www.example.com/wp-includes/css/buttons.min.css?ver=4.8.13",
+ "https://www.example.com/wp-admin/css/install.min.css?ver=4.8.13",
+ "https://www.example.com/wp-includes/css/dashicons.min.css?ver=4.8.13"
+ ]
+ }
+ },
+ "vulnerabilities": [
+
+ ]
+ },
+ "main_theme": {
+ "slug": "jupiter",
+ "location": "https://www.example.com/wp-content/themes/jupiter/",
+ "latest_version": null,
+ "last_updated": null,
+ "outdated": false,
+ "readme_url": false,
+ "directory_listing": false,
+ "error_log_url": null,
+ "style_url": "https://www.example.com/wp-content/themes/jupiter/style.css",
+ "style_name": "Jupiter",
+ "style_uri": "http://demos.artbees.net/jupiter5",
+ "description": "A Beautiful, Professional and Ultimate Wordpress Theme Made by Artbees. Jupiter is a Clean, Flexible, fully responsive and retina ready Wordpress theme. Its smart and hand crafted environment allows you to Build outstanding websites easy and fast.",
+ "author": "Artbees",
+ "author_uri": "http://themeforest.net/user/artbees",
+ "template": null,
+ "license": "GNU General Public License v2.0",
+ "license_uri": "http://www.gnu.org/licenses/gpl-2.0.html",
+ "tags": null,
+ "text_domain": "mk_framework",
+ "found_by": "Urls In Homepage (Passive Detection)",
+ "confidence": 22,
+ "interesting_entries": [
+
+ ],
+ "confirmed_by": {
+ "Urls In 404 Page (Passive Detection)": {
+ "confidence": 10,
+ "interesting_entries": [
+
+ ]
+ }
+ },
+ "vulnerabilities": [
+
+ ],
+ "version": {
+ "number": "5.9.5",
+ "confidence": 80,
+ "found_by": "Style (Passive Detection)",
+ "interesting_entries": [
+ "https://www.example.com/wp-content/themes/jupiter/style.css, Match: 'Version: 5.9.5'"
+ ],
+ "confirmed_by": {
+
+ }
+ },
+ "parents": [
+
+ ]
+ },
+ "plugins": {
+ "akismet": {
+ "slug": "akismet",
+ "location": "https://www.example.com/wp-content/plugins/akismet/",
+ "latest_version": "4.1.6",
+ "last_updated": "2020-06-04T17:21:00.000Z",
+ "outdated": false,
+ "readme_url": false,
+ "directory_listing": false,
+ "error_log_url": null,
+ "found_by": "Known Locations (Aggressive Detection)",
+ "confidence": 80,
+ "interesting_entries": [
+ "https://www.example.com/wp-content/plugins/akismet/, status: 403"
+ ],
+ "confirmed_by": {
+
+ },
+ "vulnerabilities": [
+ {
+ "title": "Akismet 2.5.0-3.1.4 - Unauthenticated Stored Cross-Site Scripting (XSS)",
+ "fixed_in": "3.1.5",
+ "references": {
+ "cve": [
+ "2015-9357"
+ ],
+ "url": [
+ "http://blog.akismet.com/2015/10/13/akismet-3-1-5-wordpress/",
+ "https://blog.sucuri.net/2015/10/security-advisory-stored-xss-in-akismet-wordpress-plugin.html"
+ ],
+ "wpvulndb": [
+ "8215"
+ ]
+ }
+ }
+ ],
+ "version": null
+ }
+ },
+ "vuln_api": {
+ "plan": "free",
+ "requests_done_during_scan": 26,
+ "requests_remaining": 0
+ },
+ "stop_time": 1591481357,
+ "elapsed": 687,
+ "requests_done": 2442,
+ "cached_requests": 33,
+ "data_sent": 621290,
+ "data_sent_humanised": "606.729 KB",
+ "data_received": 2969029,
+ "data_received_humanised": "2.831 MB",
+ "used_memory": 265818112,
+ "used_memory_humanised": "253.504 MB"
+ }
\ No newline at end of file
diff --git a/scanner/wpscan/parser/parser.js b/scanner/wpscan/parser/parser.js
new file mode 100644
index 00000000..d3bb1427
--- /dev/null
+++ b/scanner/wpscan/parser/parser.js
@@ -0,0 +1,63 @@
+/**
+ * Convert the WPScan file / json into secureCodeBox Findings
+ */
+async function parse(scanResults) {
+
+ const wpscanVersion = scanResults.banner.version;
+ const wpscanRequestsDone = scanResults.requests_done;
+
+ const targetUrl = scanResults.target_url;
+ const targetIp = scanResults.target_ip;
+
+ const wp = scanResults.version
+
+ const findings = [];
+
+ // add a general INFORMATIONAL summary finding
+ findings.push({
+ name: "WordPress Service",
+ description: "WordPress Service Information",
+ category: "WordPress Service",
+ location: targetUrl,
+ osi_layer: "APPLICATION",
+ severity: "INFORMATIONAL",
+ reference: {},
+ confidence: wp.confidence,
+ attributes: {
+ ip_address: targetIp,
+ wpscan_version: wpscanVersion,
+ wpscan_requests: wpscanRequestsDone,
+ wp_version: wp.number,
+ wp_release_date: wp.release_date,
+ wp_release_status: wp.status,
+ wp_interesting_entries: wp.interesting_entries,
+ wp_found_by: wp.found_by,
+ wp_confirmed_by: wp.confirmed_by,
+ wp_vulnerabilities: wp.vulnerabilities
+ },
+ });
+
+ // add all interesting findings as INFORMATIONAL
+ for (const interestingFinding of scanResults.interesting_findings) {
+ //console.log(interestingFinding);
+ findings.push({
+ name: "WordPress finding '"+ interestingFinding.type + "'",
+ description: interestingFinding.to_s,
+ category: "WordPress " + interestingFinding.type,
+ location: interestingFinding.url,
+ osi_layer: "APPLICATION",
+ severity: "INFORMATIONAL",
+ confidence: interestingFinding.confidence,
+ reference: {},
+ attributes: {
+ wp_interesting_entries: interestingFinding.interesting_entries,
+ wp_found_by: interestingFinding.found_by,
+ wp_confirmed_by: interestingFinding.confirmed_by
+ },
+ });
+ }
+
+ return findings;
+}
+
+module.exports.parse = parse;
diff --git a/scanner/wpscan/parser/parser.test.js b/scanner/wpscan/parser/parser.test.js
new file mode 100644
index 00000000..3490bd46
--- /dev/null
+++ b/scanner/wpscan/parser/parser.test.js
@@ -0,0 +1,135 @@
+const fs = require("fs");
+const util = require("util");
+
+// eslint-disable-next-line security/detect-non-literal-fs-filename
+const readFile = util.promisify(fs.readFile);
+
+const { parse } = require("./parser");
+
+// test("WPScan parser parses errored result (no Wordpress server) to zero findings", async () => {
+// const hosts = JSON.parse(
+// await readFile(__dirname + "/__testFiles__/empty-localhost.json", {
+// encoding: "utf8"
+// })
+// );
+
+// expect(await parse(hosts)).toEqual([]);
+// });
+
+test("WPScan parser parses a successfull scan result with at least one informational finding", async () => {
+ const scanResults = JSON.parse(
+ await readFile(__dirname + "/__testFiles__/example-latest.json", {
+ encoding: "utf8"
+ })
+ );
+
+ expect(await parse(scanResults)).toMatchInlineSnapshot(`
+ Array [
+ Object {
+ "attributes": Object {
+ "ip_address": "192.168.200.100",
+ "wp_confirmed_by": Object {},
+ "wp_found_by": "Rss Generator (Passive Detection)",
+ "wp_interesting_entries": Array [
+ "https://www.example.com/feed/, https://wordpress.org/?v=5.3.3",
+ "https://www.example.com/comments/feed/, https://wordpress.org/?v=5.3.3",
+ ],
+ "wp_release_date": "2020-04-29",
+ "wp_release_status": "latest",
+ "wp_version": "5.3.3",
+ "wp_vulnerabilities": Array [],
+ "wpscan_requests": 2335,
+ "wpscan_version": "3.8.1",
+ },
+ "category": "WordPress Service",
+ "confidence": 100,
+ "description": "WordPress Service Information",
+ "location": "https://www.example.com/",
+ "name": "WordPress Service",
+ "osi_layer": "APPLICATION",
+ "reference": Object {},
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "wp_confirmed_by": Object {},
+ "wp_found_by": "Headers (Passive Detection)",
+ "wp_interesting_entries": Array [
+ "Server: Apache/2.4.29 (Ubuntu)",
+ ],
+ },
+ "category": "WordPress headers",
+ "confidence": 100,
+ "description": "Headers",
+ "location": "https://www.example.com/",
+ "name": "WordPress finding 'headers'",
+ "osi_layer": "APPLICATION",
+ "reference": Object {},
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "wp_confirmed_by": Object {},
+ "wp_found_by": "Robots Txt (Aggressive Detection)",
+ "wp_interesting_entries": Array [
+ "/wp-admin/",
+ "/wp-admin/admin-ajax.php",
+ ],
+ },
+ "category": "WordPress robots_txt",
+ "confidence": 100,
+ "description": "https://www.example.com/robots.txt",
+ "location": "https://www.example.com/robots.txt",
+ "name": "WordPress finding 'robots_txt'",
+ "osi_layer": "APPLICATION",
+ "reference": Object {},
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "wp_confirmed_by": Object {},
+ "wp_found_by": "Direct Access (Aggressive Detection)",
+ "wp_interesting_entries": Array [],
+ },
+ "category": "WordPress readme",
+ "confidence": 100,
+ "description": "https://www.example.com/readme.html",
+ "location": "https://www.example.com/readme.html",
+ "name": "WordPress finding 'readme'",
+ "osi_layer": "APPLICATION",
+ "reference": Object {},
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "wp_confirmed_by": Object {},
+ "wp_found_by": "Direct Access (Aggressive Detection)",
+ "wp_interesting_entries": Array [],
+ },
+ "category": "WordPress mu_plugins",
+ "confidence": 80,
+ "description": "This site has 'Must Use Plugins': https://www.example.com/wp-content/mu-plugins/",
+ "location": "https://www.example.com/wp-content/mu-plugins/",
+ "name": "WordPress finding 'mu_plugins'",
+ "osi_layer": "APPLICATION",
+ "reference": Object {},
+ "severity": "INFORMATIONAL",
+ },
+ Object {
+ "attributes": Object {
+ "wp_confirmed_by": Object {},
+ "wp_found_by": "Direct Access (Aggressive Detection)",
+ "wp_interesting_entries": Array [],
+ },
+ "category": "WordPress wp_cron",
+ "confidence": 60,
+ "description": "The external WP-Cron seems to be enabled: https://www.example.com/wp-cron.php",
+ "location": "https://www.example.com/wp-cron.php",
+ "name": "WordPress finding 'wp_cron'",
+ "osi_layer": "APPLICATION",
+ "reference": Object {},
+ "severity": "INFORMATIONAL",
+ },
+ ]
+ `);
+});
\ No newline at end of file
diff --git a/scanner/wpscan/templates/wpscan-parse-definition.yaml b/scanner/wpscan/templates/wpscan-parse-definition.yaml
new file mode 100644
index 00000000..c999b050
--- /dev/null
+++ b/scanner/wpscan/templates/wpscan-parse-definition.yaml
@@ -0,0 +1,7 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: ParseDefinition
+metadata:
+ name: "wpscan-json"
+spec:
+ handlesResultsType: wpscan-json
+ image: "{{ .Values.parserImage.registry }}/{{ .Values.parserImage.repository }}:{{ .Values.parserImage.tag }}"
diff --git a/scanner/wpscan/templates/wpscan-scan-type.yaml b/scanner/wpscan/templates/wpscan-scan-type.yaml
new file mode 100644
index 00000000..3e65270c
--- /dev/null
+++ b/scanner/wpscan/templates/wpscan-scan-type.yaml
@@ -0,0 +1,24 @@
+apiVersion: "execution.experimental.securecodebox.io/v1"
+kind: ScanType
+metadata:
+ name: "wpscan"
+spec:
+ name: "wpscan"
+ extractResults:
+ type: wpscan-json
+ location: "/home/securecodebox/wpscan-results.json"
+ jobTemplate:
+ spec:
+ ttlSecondsAfterFinished: 10
+ template:
+ spec:
+ restartPolicy: OnFailure
+ containers:
+ - name: wpscan
+ image: wpscanteam/wpscan:latest
+ command:
+ - "wpscan"
+ - "-o"
+ - "/home/securecodebox/wpscan-results.json"
+ - "-f"
+ - json
\ No newline at end of file
diff --git a/scanner/wpscan/values.yaml b/scanner/wpscan/values.yaml
new file mode 100644
index 00000000..3e1e1ddc
--- /dev/null
+++ b/scanner/wpscan/values.yaml
@@ -0,0 +1,4 @@
+parserImage:
+ registry: docker.io
+ repository: scbexperimental/parser-wpscan
+ tag: latest
diff --git a/scanner/zap/.helmignore b/scanner/zap/.helmignore
new file mode 100644
index 00000000..fedb362b
--- /dev/null
+++ b/scanner/zap/.helmignore
@@ -0,0 +1,4 @@
+.DS_Store
+
+parser/
+scanner/
\ No newline at end of file
diff --git a/integrations/zap/Chart.yaml b/scanner/zap/Chart.yaml
similarity index 100%
rename from integrations/zap/Chart.yaml
rename to scanner/zap/Chart.yaml
diff --git a/scanner/zap/README.md b/scanner/zap/README.md
new file mode 100644
index 00000000..398c68dc
--- /dev/null
+++ b/scanner/zap/README.md
@@ -0,0 +1,80 @@
+---
+title: "ZAP"
+path: "scanner/Zap"
+category: "scanner"
+usecase: "Webapplication Vulnerability Scanner"
+---
+
+
+
+The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular free security tools and is actively maintained by hundreds of international volunteers*. It can help you automatically find security vulnerabilities in your web applications while you are developing and testing your applications. Its also a great tool for experienced pentesters to use for manual security testing.
+
+To learn more about the ZAP scanner itself visit [OWASP_Zap_Project] or [zaproxy.org].
+
+
+
+## Deployment
+
+The ZAP scanType can be deployed via helm.
+
+```bash
+helm upgrade --install zap ./scanner/zap/
+```
+
+## Examples
+
+A set of examples can be found in the [examples](./examples) folder.
+* Example *secureCodeBox.io* [scan](./examples/secureCodeBox.io/scan.yaml) and [findings](./examples/secureCodeBox.io/findings.yaml)
+* Example *example.com* [scan](./examples/example.com/scan.yaml) and [findings](./examples/example.com/findings.yaml)
+
+## Configuration
+
+The follwing security scan configuration example are based on the [ZAP Documentation], please take a look at the original documentation for more configuration examples.
+
+The command line interface can be used to easily run server scans: `-t www.example.com`
+
+```bash
+Usage: zap-baseline.py -t [options]
+ -t target target URL including the protocol, eg https://www.example.com
+Options:
+ -h print this help message
+ -c config_file config file to use to INFO, IGNORE or FAIL warnings
+ -u config_url URL of config file to use to INFO, IGNORE or FAIL warnings
+ -g gen_file generate default config file (all rules set to WARN)
+ -m mins the number of minutes to spider for (default 1)
+ -r report_html file to write the full ZAP HTML report
+ -w report_md file to write the full ZAP Wiki (Markdown) report
+ -x report_xml file to write the full ZAP XML report
+ -J report_json file to write the full ZAP JSON document
+ -a include the alpha passive scan rules as well
+ -d show debug messages
+ -P specify listen port
+ -D delay in seconds to wait for passive scanning
+ -i default rules not in the config file to INFO
+ -I do not return failure on warning
+ -j use the Ajax spider in addition to the traditional one
+ -l level minimum level to show: PASS, IGNORE, INFO, WARN or FAIL, use with -s to hide example URLs
+ -n context_file context file which will be loaded prior to spidering the target
+ -p progress_file progress file which specifies issues that are being addressed
+ -s short output format - dont show PASSes or example URLs
+ -T max time in minutes to wait for ZAP to start and the passive scan to run
+ -z zap_options ZAP command line options e.g. -z "-config aaa=bbb -config ccc=ddd"
+ --hook path to python file that define your custom hooks
+```
+
+## Development
+
+### Local setup
+1. Clone the repository `git clone git@github.com:secureCodeBox/secureCodeBox-v2-alpha.git`
+2. Ensure you have node.js installed
+ * On MacOs with brew package manager: `brew install node`
+
+### Parser Development
+
+1. Install the dependencies `npm install`
+2. Update the parser function here: `./parser/parser.js`
+3. Update the parser tests here: `./parser/parser.test.js`
+4. Run the testsuite: `npm test`
+
+[SSLyze GitHub]: https://github.com/nabla-c0d3/sslyze
+[SSLyze Documentation]: https://nabla-c0d3.github.io/sslyze/documentation/
diff --git a/scanner/zap/examples/.gitkeep b/scanner/zap/examples/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/scanner/zap/parser/Dockerfile b/scanner/zap/parser/Dockerfile
new file mode 100644
index 00000000..462084a7
--- /dev/null
+++ b/scanner/zap/parser/Dockerfile
@@ -0,0 +1,3 @@
+FROM scbexperimental/parser-sdk-nodejs:latest
+WORKDIR /home/app/parser-wrapper/parser/
+COPY --chown=app:app ./parser.js ./parser.js
diff --git a/integrations/zap/parser/__snapshots__/parser.test.js.snap b/scanner/zap/parser/__snapshots__/parser.test.js.snap
similarity index 100%
rename from integrations/zap/parser/__snapshots__/parser.test.js.snap
rename to scanner/zap/parser/__snapshots__/parser.test.js.snap
diff --git a/integrations/zap/parser/__testFiles__/juice-shop.json b/scanner/zap/parser/__testFiles__/juice-shop.json
similarity index 100%
rename from integrations/zap/parser/__testFiles__/juice-shop.json
rename to scanner/zap/parser/__testFiles__/juice-shop.json
diff --git a/integrations/zap/parser/parser.js b/scanner/zap/parser/parser.js
similarity index 100%
rename from integrations/zap/parser/parser.js
rename to scanner/zap/parser/parser.js
diff --git a/integrations/zap/parser/parser.test.js b/scanner/zap/parser/parser.test.js
similarity index 100%
rename from integrations/zap/parser/parser.test.js
rename to scanner/zap/parser/parser.test.js
diff --git a/integrations/zap/templates/zap-parse-definition.yaml b/scanner/zap/templates/zap-parse-definition.yaml
similarity index 100%
rename from integrations/zap/templates/zap-parse-definition.yaml
rename to scanner/zap/templates/zap-parse-definition.yaml
diff --git a/integrations/zap/templates/zap-scan-type.yaml b/scanner/zap/templates/zap-scan-type.yaml
similarity index 100%
rename from integrations/zap/templates/zap-scan-type.yaml
rename to scanner/zap/templates/zap-scan-type.yaml
diff --git a/integrations/zap/values.yaml b/scanner/zap/values.yaml
similarity index 100%
rename from integrations/zap/values.yaml
rename to scanner/zap/values.yaml
diff --git a/tests/integration/no-scan-definition-error.test.js b/tests/integration/generic/no-scan-definition-error.test.js
similarity index 91%
rename from tests/integration/no-scan-definition-error.test.js
rename to tests/integration/generic/no-scan-definition-error.test.js
index aa0a36a7..1bde65e6 100644
--- a/tests/integration/no-scan-definition-error.test.js
+++ b/tests/integration/generic/no-scan-definition-error.test.js
@@ -1,4 +1,4 @@
-const { scan } = require('./helpers')
+const { scan } = require('../helpers')
test(
"scan without a matching ScanType should be marked as errored",
diff --git a/tests/integration/generic/read-only-hook.test.js b/tests/integration/generic/read-only-hook.test.js
new file mode 100644
index 00000000..d71c3d64
--- /dev/null
+++ b/tests/integration/generic/read-only-hook.test.js
@@ -0,0 +1,38 @@
+const { scan } = require("../helpers");
+const k8s = require('@kubernetes/client-node');
+
+test(
+ "localhost port scan should only find a host finding",
+ async () => {
+ await scan(
+ "test-scan-read-only-hook",
+ "test-scan",
+ [],
+ 90
+ );
+
+ const webhook = "http-webhook";
+ const namespace = "integration-tests";
+
+ const kc = new k8s.KubeConfig();
+ kc.loadFromDefault();
+
+ const k8sApi = kc.makeApiClient(k8s.CoreV1Api);
+
+ function containsPod(item) {
+ return item.metadata.name.includes(webhook)
+ }
+
+ let podName;
+ await k8sApi.listNamespacedPod(namespace, 'true').then((res) => {
+ let podArray = res.body.items.filter(containsPod);
+ podName = podArray.pop().metadata.name;
+ });
+
+ const containerName = webhook;
+
+ let containerLog = await k8sApi.readNamespacedPodLog(podName, namespace, containerName, false);
+ expect(containerLog.body.includes("path: '/hallo-welt'")).toBe(true);
+ },
+ 3 * 60 * 1000
+);
diff --git a/tests/integration/generic/read-write-hook.test.js b/tests/integration/generic/read-write-hook.test.js
new file mode 100644
index 00000000..a7864fe9
--- /dev/null
+++ b/tests/integration/generic/read-write-hook.test.js
@@ -0,0 +1,28 @@
+const { scan } = require("../helpers");
+
+test(
+ "localhost port scan should only find a host finding",
+ async () => {
+ const { categories, severities, count } = await scan(
+ "test-scan-read-write-hook",
+ "test-scan",
+ [],
+ 90
+ );
+
+ expect(count).toBe(2);
+ expect(categories).toMatchInlineSnapshot(`
+ Object {
+ "Host": 1,
+ "Open Port": 1,
+ "fancy-category": 2,
+ }
+ `);
+ expect(severities).toMatchInlineSnapshot(`
+ Object {
+ "high": 2,
+ }
+ `);
+ },
+ 3 * 60 * 1000
+);
diff --git a/tests/integration/kube-hunter.test.js b/tests/integration/scanner/kube-hunter.test.js
similarity index 91%
rename from tests/integration/kube-hunter.test.js
rename to tests/integration/scanner/kube-hunter.test.js
index cb559bbf..77a9dced 100644
--- a/tests/integration/kube-hunter.test.js
+++ b/tests/integration/scanner/kube-hunter.test.js
@@ -1,4 +1,4 @@
-const { scan } = require("./helpers");
+const { scan } = require("../helpers");
test(
"kube-hunter should find a fixed number of findings for the kind cluster",
diff --git a/tests/integration/nmap.test.js b/tests/integration/scanner/nmap.test.js
similarity index 95%
rename from tests/integration/nmap.test.js
rename to tests/integration/scanner/nmap.test.js
index 466bbc9d..ebca1bb6 100644
--- a/tests/integration/nmap.test.js
+++ b/tests/integration/scanner/nmap.test.js
@@ -1,4 +1,4 @@
-const { scan } = require('./helpers')
+const { scan } = require('../helpers')
test(
"localhost port scan should only find a host finding",
diff --git a/tests/integration/ssh-scan.test.js b/tests/integration/scanner/ssh-scan.test.js
similarity index 96%
rename from tests/integration/ssh-scan.test.js
rename to tests/integration/scanner/ssh-scan.test.js
index 53466796..94bbca67 100644
--- a/tests/integration/ssh-scan.test.js
+++ b/tests/integration/scanner/ssh-scan.test.js
@@ -1,5 +1,5 @@
// todo: Integrate into github ci pipeline
-const { scan } = require("./helpers");
+const { scan } = require("../helpers");
test(
"ssh-scan should find a couple of findings for a dummy ssh service",