Skip to content

JVN fetcher does not consider CPE deprecation status #261

@kotakanbe

Description

@kotakanbe

What did you do? (required. The issue will be closed when not provided.)

Investigated JVN fetcher implementation and found that it does not consider CPE deprecation status.

What did you expect to happen?

JVN fetcher should handle CPE deprecation status appropriately, similar to NVD CPE Dictionary.

What happened instead?

JVN fetcher extracts CPEs from JVNDB vulnerability RSS feeds (Affected Configurations) and registers all of them as non-deprecated.

  • Current Output
// fetcher/jvn/jvn.go
for c, t := range cpeURIs {
    fetched.CPEs = append(fetched.CPEs, models.FetchedCPE{...})
}
// fetched.Deprecated is always empty

https://github.com/vulsio/go-cpe-dictionary/blob/master/fetcher/jvn/jvn.go#L52-L57

Problem

Data Source Source Type Deprecation Considered
NVD CPE Dictionary Official CPE Dictionary ✅ Yes
NVD CPE Match CVE Affected Configurations ❌ No
JVN JVNDB Affected Configurations ❌ No
Vuls vuls.json ❌ No (manually defined)

JVN does not provide a CPE Dictionary, so there is no way to determine deprecation status for CPEs fetched from JVN.

Possible Solutions

  1. Cross-reference with NVD CPE Dictionary - Only register JVN CPEs that exist in NVD CPE Dictionary (and use NVD's deprecation status)
  2. Mark JVN CPEs as "unknown" deprecation status - Requires schema changes
  3. Accept current behavior - Document that JVN CPEs do not have deprecation information

Related

  • #XX (CPEs from NVD CPE Match are incorrectly registered as non-deprecated)

Configuration (MUST fill this out):

  • Go version (go version):

  • Go environment (go env):

  • go-cpe-dictionary environment:

Hash : ____

  • command:
go-cpe-dictionary fetch jvn

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions