Skip to content

JSON values: float vs int #319

@jayjacobs

Description

@jayjacobs

I am not convinced this is something we should fix in the JSON schema, or even if we want to be bothered with it.

But strongly typed languages interpret "1" and "1.0" differently and can cause errors when combining values across CVE records with different types. This is heavily debated in the JSON Schema definition: json-schema/json-schema#27

There are several fields in CVE records, specifically in the CVSS (metrics) section, that have different data types when parsing in python, but I am not sure if this is something we need to tackle at the data storage/validation step.

  • containers.cna.metrics.cvssV2_0.baseScore : [{"float": 2215}, {"int": 1111}]
  • containers.cna.metrics.cvssV3_0.baseScore : [{"float": 14945}, {"int": 802}]
  • containers.cna.metrics.cvssV3_1.baseScore : [{"float": 41590}, {"int": 2224}]
  • containers.cna.metrics.cvssV4_0.baseScore : [{"float": 236}, {"int": 4}]
  • containers.cna.metrics.cvssV3_0.temporalScore : [{"float": 2272}, {"int": 42}]
  • containers.cna.metrics.cvssV3_1.temporalScore : [{"float": 1077}, {"int": 52}]
  • containers.cna.metrics.other.content.baseScore : [{"float": 30}, {"int": 6}]
  • containers.cna.metrics.other.content.version : [{"str": 3}, {"float": 25}] << this is different

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs DiscussionDiscuss in a future QWG meeting or on mailing listenhancementNew feature or requestsection:metricsSchema location is metrics

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions