{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "JSON Schema for Common Vulnerability Scoring System version 3.x",
    "$id": "https://scap.nist.gov/schema/nvd/feed/1.1/cvss-v3.x.json",
    "type": "object",
    "definitions": {
        "attackVectorType": {
            "type": "string",
            "enum": [
                "NETWORK",
                "ADJACENT_NETWORK",
                "LOCAL",
                "PHYSICAL"
            ]
        },
        "modifiedAttackVectorType": {
            "type": "string",
            "enum": [
                "NETWORK",
                "ADJACENT_NETWORK",
                "LOCAL",
                "PHYSICAL",
                "NOT_DEFINED"
            ]
        },
        "attackComplexityType": {
            "type": "string",
            "enum": [
                "HIGH",
                "LOW"
            ]
        },
        "modifiedAttackComplexityType": {
            "type": "string",
            "enum": [
                "HIGH",
                "LOW",
                "NOT_DEFINED"
            ]
        },
        "privilegesRequiredType": {
            "type": "string",
            "enum": [
                "HIGH",
                "LOW",
                "NONE"
            ]
        },
        "modifiedPrivilegesRequiredType": {
            "type": "string",
            "enum": [
                "HIGH",
                "LOW",
                "NONE",
                "NOT_DEFINED"
            ]
        },
        "userInteractionType": {
            "type": "string",
            "enum": [
                "NONE",
                "REQUIRED"
            ]
        },
        "modifiedUserInteractionType": {
            "type": "string",
            "enum": [
                "NONE",
                "REQUIRED",
                "NOT_DEFINED"
            ]
        },
        "scopeType": {
            "type": "string",
            "enum": [
                "UNCHANGED",
                "CHANGED"
            ]
        },
        "modifiedScopeType": {
            "type": "string",
            "enum": [
                "UNCHANGED",
                "CHANGED",
                "NOT_DEFINED"
            ]
        },
        "ciaType": {
            "type": "string",
            "enum": [
                "NONE",
                "LOW",
                "HIGH"
            ]
        },
        "modifiedCiaType": {
            "type": "string",
            "enum": [
                "NONE",
                "LOW",
                "HIGH",
                "NOT_DEFINED"
            ]
        },
        "exploitCodeMaturityType": {
            "type": "string",
            "enum": [
                "UNPROVEN",
                "PROOF_OF_CONCEPT",
                "FUNCTIONAL",
                "HIGH",
                "NOT_DEFINED"
            ]
        },
        "remediationLevelType": {
            "type": "string",
            "enum": [
                "OFFICIAL_FIX",
                "TEMPORARY_FIX",
                "WORKAROUND",
                "UNAVAILABLE",
                "NOT_DEFINED"
            ]
        },
        "confidenceType": {
            "type": "string",
            "enum": [
                "UNKNOWN",
                "REASONABLE",
                "CONFIRMED",
                "NOT_DEFINED"
            ]
        },
        "ciaRequirementType": {
            "type": "string",
            "enum": [
                "LOW",
                "MEDIUM",
                "HIGH",
                "NOT_DEFINED"
            ]
        },
        "scoreType": {
            "type": "number",
            "minimum": 0,
            "maximum": 10
        },
        "severityType": {
            "type": "string",
            "enum": [
                "NONE",
                "LOW",
                "MEDIUM",
                "HIGH",
                "CRITICAL"
            ]
        }
    },
    "properties": {
        "version": {
            "description": "CVSS Version",
            "type": "string",
            "enum": [
                "3.0",
                "3.1"
            ]
        },
        "vectorString": {
            "type": "string",
            "pattern": "^CVSS:3.[01]/((AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])/)*(AV:[NALP]|AC:[LH]|PR:[UNLH]|UI:[NR]|S:[UC]|[CIA]:[NLH]|E:[XUPFH]|RL:[XOTWU]|RC:[XURC]|[CIA]R:[XLMH]|MAV:[XNALP]|MAC:[XLH]|MPR:[XUNLH]|MUI:[XNR]|MS:[XUC]|M[CIA]:[XNLH])$"
        },
        "attackVector": {
            "$ref": "#/definitions/attackVectorType"
        },
        "attackComplexity": {
            "$ref": "#/definitions/attackComplexityType"
        },
        "privilegesRequired": {
            "$ref": "#/definitions/privilegesRequiredType"
        },
        "userInteraction": {
            "$ref": "#/definitions/userInteractionType"
        },
        "scope": {
            "$ref": "#/definitions/scopeType"
        },
        "confidentialityImpact": {
            "$ref": "#/definitions/ciaType"
        },
        "integrityImpact": {
            "$ref": "#/definitions/ciaType"
        },
        "availabilityImpact": {
            "$ref": "#/definitions/ciaType"
        },
        "baseScore": {
            "$ref": "#/definitions/scoreType"
        },
        "baseSeverity": {
            "$ref": "#/definitions/severityType"
        },
        "exploitCodeMaturity": {
            "$ref": "#/definitions/exploitCodeMaturityType"
        },
        "remediationLevel": {
            "$ref": "#/definitions/remediationLevelType"
        },
        "reportConfidence": {
            "$ref": "#/definitions/confidenceType"
        },
        "temporalScore": {
            "$ref": "#/definitions/scoreType"
        },
        "temporalSeverity": {
            "$ref": "#/definitions/severityType"
        },
        "confidentialityRequirement": {
            "$ref": "#/definitions/ciaRequirementType"
        },
        "integrityRequirement": {
            "$ref": "#/definitions/ciaRequirementType"
        },
        "availabilityRequirement": {
            "$ref": "#/definitions/ciaRequirementType"
        },
        "modifiedAttackVector": {
            "$ref": "#/definitions/modifiedAttackVectorType"
        },
        "modifiedAttackComplexity": {
            "$ref": "#/definitions/modifiedAttackComplexityType"
        },
        "modifiedPrivilegesRequired": {
            "$ref": "#/definitions/modifiedPrivilegesRequiredType"
        },
        "modifiedUserInteraction": {
            "$ref": "#/definitions/modifiedUserInteractionType"
        },
        "modifiedScope": {
            "$ref": "#/definitions/modifiedScopeType"
        },
        "modifiedConfidentialityImpact": {
            "$ref": "#/definitions/modifiedCiaType"
        },
        "modifiedIntegrityImpact": {
            "$ref": "#/definitions/modifiedCiaType"
        },
        "modifiedAvailabilityImpact": {
            "$ref": "#/definitions/modifiedCiaType"
        },
        "environmentalScore": {
            "$ref": "#/definitions/scoreType"
        },
        "environmentalSeverity": {
            "$ref": "#/definitions/severityType"
        }
    },
    "required": [
        "version",
        "vectorString",
        "baseScore",
        "baseSeverity"
    ]
}