loopbackio / loopbackio/loopback-connector-rest

Potential exposure to CVE-2021-3918 - Score 9.8

Open
#158 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
JavaScript
Stars
73
Forks
82
Avg merge
2d 1h
Merged PRs (30d)
6

Description

## Steps to reproduce

1. Install loopback-connector-rest
2. run `npm ls json-schema`

## Current Behavior

The vulnerable version of json-schema is a sub-dependency of `request@2.88.2` which is the latest version of the deprecated http client.
```
└─┬ loopback-connector-rest@4.0.1
└─┬ request@2.88.2
└─┬ http-signature@1.2.0
└─┬ jsprim@1.4.1
└── json-schema@0.2.3
```

## Expected Behavior

Usage of non-deprectated package which are not exposed to security vulnerabilities.

## Additional information
https://nvd.nist.gov/vuln/detail/CVE-2021-3918
Fixes exist for `json-schema`, `jsprim` and `http-signature` but `request` does not accept `http-signature@1.3.6` which would resolve this issue:
https://github.com/joyent/node-http-signature/blob/master/CHANGES.md#136

## Related Issues
https://github.com/loopbackio/loopback-connector-rest/issues/147

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the loopback-connector-rest dependency chain shown by `npm ls json-schema`, especially `request@2.88.2`, `http-signature`, and `jsprim`. Review the related issue and the linked change history for `http-signature@1.3.6`; done means the connector no longer brings in the vulnerable `json-schema` version without introducing a deprecated dependency.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
api, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.