DependencyTrack / DependencyTrack/dependency-track

Reporting "is the latest version vulnerable?"

Open
#358 2 comments 2 reactions 0 assignees View on GitHub
enhancement p2
Dominant language
Java
Stars
4.2k
Forks
811
Avg merge
8h 39m
Merged PRs (30d)
237

Description

### Current Behavior:

Using jackson-databind 2.9.8 to illustrate

`pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.9.8?type=jar`

With DT 3.4.1, uploading a BOM that contains this component results in the identification of a single threat CVE-2019-12086 (well, single threat as of June 5th 2019)

DT also correctly identifies that the component is outdated and that the latest version is 2.9.9

If one were analyse 2.9.9, one would see that this version has zero threats... ie, no CVE-2019-12086.

The problem/challenge is that:
* DT wont tell you this latter info until a BOM containing jackson-databind 2.9.9 is uploaded
* At such time that 2.9.9 does get analysed, then there is no direct linkage between these "bits of knowledge"

### Proposed Behavior:
1) When a vulnerable component is also outdated AND the latest version is unknown to DT then perform analysis of the latest version. eg OSS Index query for:

`pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.9.8?type=jar`

2) Display "latest version" analysis info on DT vulnerability page (CVE-2019-12086). Note that this provides the opportunity for the sharp-eyed to spot those occasions where the overview/description of the vulnerability does not match up with the OSS Index info.

3) Display a hint when in Audit mode:
* Latest version is vulnerable: Suggest that EXPLOITABLE might be suitable Analysis State
* Latest version is NOT vulnerable: Suggest that UPDATE might be suitable Analysis State ( or 'Remediation Guidance' / 'Risk Response' if/when #357 is implemented).

4) Additional tweaks that would help the above:
* Display latest version icon/info on Project Audit Screen
* Display latest version icon/info on Components Screen (subject to permissions).

Contributor guide

Open the contributing guide

Research direction

Start with the jackson-databind 2.9.8 versus 2.9.9 example and read the existing latest-version detection and OSS Index analysis flows; no implementation files or tests are named. Review the vulnerability page, Project Audit Screen, Components Screen, and related proposal #357. Done means unknown latest versions are analyzed and their vulnerability status informs the requested displays and audit hints, respecting component-screen permissions.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, frontend, security
Issue type
Feature
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.