NVD
App · Compliance & Security · 21 actions
Search the US government's National Vulnerability Database, run by NIST. Look up a CVE and get its description, CVSS scores, CWE weakness types, affected product versions and references; find every vulnerability in a product by its CPE; filter by severity, weakness or CVSS vector; list what was published or rescored in a date range; and pull the CVEs CISA confirms are being exploited right now. Also covers the CPE product dictionary, the match criteria behind a CVE's affected-version ranges, every recorded change to a CVE record, and the organizations that supply the data. No account is needed; a free NIST API key raises the rate limit.
Actions
| Action | What it does |
|---|---|
| Find CVEs affecting a product | Find every vulnerability that affects a piece of software or hardware, named by its CPE. |
| Find CVEs by severity | Find vulnerabilities by how bad they are: a CVSS severity band, a CVSS vector (whole or partial, e.g. AV:N for network reachable), or both. |
| Get a CVE | Look up one vulnerability by its CVE ID and get everything the NVD holds on it: the description, CVSS scores and severity, CWE weakness types, affected products, references, and whether CISA lists it as actively exploited. |
| Get a CVE's change history | List every change ever made to one CVE record, oldest first: when it was received, analyzed, rescored, retagged or rejected, who made each change and exactly which values moved. |
| Get a data source | Look up one data-supplying organization and get its contact address, every identifier it publishes under, and its CVSS and CWE acceptance levels. |
| Get a match criterion | Get one match criterion by its ID, with its version bounds and every CPE name it resolves to. |
| Get a product | Get one product record from the CPE dictionary by its ID, including its titles, vendor references, and whether it has been deprecated in favour of another CPE. |
| Get several CVEs | Look up as many as 100 CVEs in a single request, instead of one step each. |
| List a CVE's match criteria | List the product ranges one CVE is tied to, each with the CPE names it covers. |
| List actively exploited CVEs (CISA KEV) | List the vulnerabilities in CISA's Known Exploited Vulnerabilities catalog, the ones confirmed to be under attack in the wild. |
| List CVE changes in a date range | List changes made across all CVEs inside a window of up to 120 days, optionally only one kind of change. |
| List CVEs changed in a date range | List the vulnerabilities whose records changed inside a window of up to 120 days, including ones published long ago that were rescored or reanalyzed. |
| List CVEs published in a date range | List the vulnerabilities first published inside a window of up to 120 days. |
| List data sources | List the organizations that supply the NVD its data, with the identifiers their CVE records are published under and how far NVD trusts each one's scores. |
| List data sources changed in a date range | List the data-supplying organizations whose records changed inside a window of up to 120 days, which is how a new CVE Numbering Authority or a changed acceptance level shows up. |
| List match criteria changed in a date range | List the match criteria added or changed inside a window of up to 120 days. |
| List products changed in a date range | List the CPE product records added or changed inside a window of up to 120 days. |
| List the products a match criterion covers | Expand one match criterion into the actual product versions it resolves to. |
| Search CVEs | Search the NVD by keyword and by the flags on a record: weakness type, assigning source, analysis status, tag, and whether it is in CISA's Known Exploited Vulnerabilities catalog. |
| Search match criteria | Find the match criteria whose CPE fits a match string, for example every criterion that mentions log4j. |
| Search products | Search the NVD's product dictionary for the CPE name of a piece of software or hardware. |
Find CVEs affecting a product
Find every vulnerability that affects a piece of software or hardware, named by its CPE. Give an exact CPE name to ask about one version, or a match string with '*' in the version field to ask about the product as a whole, optionally narrowed to a version range. Use 'Search products' first if you do not know the CPE.
Inputs
- Exact CPE name
cpe_nametext - One fully specified product version. Fill in this or the match string, not both.
- CPE match string
match_stringtext - A partial CPE covering a whole product or vendor, with '*' in the fields you are not pinning down. Fill in this or the exact CPE name, not both.
- Only where this product is the vulnerable one
vulnerable_onlytrue/false - A CVE's configuration also lists products that merely have to be present (an operating system, say). Turn this on to skip those. Needs an exact CPE name.Default:
false. - From version
version_starttext - The bottom of a version range to narrow the match string to. The match string's own version field must be '*' when you use this.
- From version is
version_start_typetext - Whether the 'from' version is itself affected.One of:
including(Including this version),excluding(Excluding this version). Default:including. - To version
version_endtext - The top of a version range to narrow the match string to, typically the release that fixed the flaw.
- To version is
version_end_typetext - Whether the 'to' version is itself affected. Choose 'excluding' when it is the fixed release.One of:
including(Including this version),excluding(Excluding this version). Default:excluding. - Hide rejected CVEs
exclude_rejectedtrue/false - Leave out CVE IDs that were withdrawn after being assigned. On is usually what you want: a rejected record describes nothing.Default:
true. - Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 2,000. Defaults to 20.From 1 to 2000. Default:
20. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
cveslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"cves": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 15
}Find CVEs by severity
Find vulnerabilities by how bad they are: a CVSS severity band, a CVSS vector (whole or partial, e.g. AV:N for network reachable), or both. Pick which CVSS generation to filter on; the NVD scores most modern CVEs with v3.x.
Inputs
- Severity
severitytext - The severity band to return. Critical exists only in CVSS v3.x and v4.0; v2.0 stops at High.One of:
CRITICAL,HIGH,MEDIUM,LOW. - CVSS version
cvss_versiontext - Which generation of CVSS score the severity and vector apply to. v3.x covers both v3.0 and v3.1. Defaults to v3.x, which is what most current CVEs are scored with.One of:
4.0(CVSS v4.0),3.x(CVSS v3.x),2.0(CVSS v2.0). Default:3.x. - CVSS vector
cvss_vectortext - A full or partial CVSS vector to match. A partial one filters on just those dimensions, so AV:N/PR:N finds anything reachable over the network with no privileges needed.
- Search phrase
keyword_searchtext - Optional words the CVE description must also contain, to narrow the band to one product or technology.
- Hide rejected CVEs
exclude_rejectedtrue/false - Leave out CVE IDs that were withdrawn after being assigned. On is usually what you want: a rejected record describes nothing.Default:
true. - Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 2,000. Defaults to 20.From 1 to 2000. Default:
20. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
cveslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"cves": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 30573
}Get a CVE
Look up one vulnerability by its CVE ID and get everything the NVD holds on it: the description, CVSS scores and severity, CWE weakness types, affected products, references, and whether CISA lists it as actively exploited.
Inputs
- CVE ID
cve_idtextRequired - The vulnerability to look up. A pasted nvd.nist.gov link works too.
Outputs
cveobject
Example output
{
"cve": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
}Get a CVE's change history
List every change ever made to one CVE record, oldest first: when it was received, analyzed, rescored, retagged or rejected, who made each change and exactly which values moved.
Inputs
- CVE ID
cve_idtextRequired - The vulnerability whose history you want.
- Only this kind of change
event_nametext - Narrow the history to one kind of event. Leave blank for all of them.One of:
CVE Received,Initial Analysis,Reanalysis,CVE Modified,Modified Analysis,CVE Translated,Vendor Comment,CVE Source Update,CPE Deprecation Remap,CWE Remap, and 6 more. - Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 5,000. Defaults to 50.From 1 to 5000. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
changeslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"changes": [
{
"change_id": "BBAEE5EE-DF18-4452-90D7-BCAA175D51B0",
"created": "2021-12-14T18:49:04Z",
"cve_id": "CVE-2021-44228",
"detail_count": 1,
"details": [
{
"action": "Added",
"new_value": "NIST AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)",
"old_value": null,
"type": "CVSS V3.1"
}
],
"event_name": "Initial Analysis",
"source_identifier": "nvd@nist.gov"
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 27
}Get a data source
Look up one data-supplying organization and get its contact address, every identifier it publishes under, and its CVSS and CWE acceptance levels.
Inputs
- Data source
source_identifiertextRequired - The organization to look up, picked from the sources the NVD publishes.
Outputs
sourceobject
Example output
{
"source": {
"contact_email": "cve@mitre.org",
"created": "2019-09-09T16:18:45Z",
"cwe_acceptance_level": {
"description": "Provider",
"last_modified": "2025-07-08T00:00:00Z"
},
"last_modified": "2019-09-09T16:18:45Z",
"name": "MITRE",
"source_identifiers": [
"cve@mitre.org",
"8254265b-2729-46b6-b9e3-3dfca2d5bfca"
],
"v2_acceptance_level": null,
"v3_acceptance_level": {
"description": "Contributor",
"last_modified": "2025-08-18T00:00:26Z"
}
}
}Get a match criterion
Get one match criterion by its ID, with its version bounds and every CPE name it resolves to.
Inputs
- Match criteria ID
match_criteria_idtextRequired - The UUID of the criterion.
Outputs
match_criterionobject
Example output
{
"match_criterion": {
"cpe_last_modified": "2019-07-22T16:37:38Z",
"created": "2019-06-17T09:16:33Z",
"criteria": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"last_modified": "2022-08-05T15:15:43Z",
"match_count": 1,
"match_criteria_id": "B773ED91-1D39-42E6-9C52-D02210DE1A94",
"matches": [
{
"cpe_name": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"cpe_name_id": "02E4C368-978E-4818-9ED1-A7C665A25351"
}
],
"status": "Active",
"version_end_excluding": null,
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": null
}
}Get a product
Get one product record from the CPE dictionary by its ID, including its titles, vendor references, and whether it has been deprecated in favour of another CPE.
Inputs
- CPE name ID
cpe_name_idtextRequired - The UUID of the product record. 'Search products' returns it as cpe_name_id.
Outputs
productobject
Example output
{
"product": {
"cpe_name": "cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*",
"cpe_name_id": "9CF4F1C0-3E4D-4A2A-8CFF-8C1B0F1C1C77",
"created": "2021-06-24T14:00:00Z",
"deprecated": false,
"deprecated_by": [],
"deprecates": [],
"last_modified": "2021-12-14T14:35:56Z",
"references": [
{
"type": "Product",
"url": "https://logging.apache.org/log4j/2.x/"
}
],
"title": "Apache Log4j 2.14.1",
"titles": [
{
"lang": "en",
"value": "Apache Log4j 2.14.1"
}
]
}
}Get several CVEs
Look up as many as 100 CVEs in a single request, instead of one step each. Any ID the NVD does not know is listed under 'not found' rather than failing the step.
Inputs
- CVE IDs
cve_idslistRequired - The vulnerabilities to look up, up to 100 at a time.
Outputs
cveslisthas_moretrue/false- Whether there are further pages to fetch.
not_foundlistrequested_countnumber- How many IDs were asked for.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"cves": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
],
"has_more": false,
"not_found": [],
"requested_count": 1,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 1
}List a CVE's match criteria
List the product ranges one CVE is tied to, each with the CPE names it covers. This is the full, expanded answer to 'exactly which versions does this vulnerability affect?'.
Inputs
- CVE ID
cve_idtextRequired - The vulnerability whose product ranges you want.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 500. Defaults to 50.From 1 to 500. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
match_criterialistresult_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": true,
"match_criteria": [
{
"cpe_last_modified": "2019-07-22T16:37:38Z",
"created": "2019-06-17T09:16:33Z",
"criteria": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"last_modified": "2022-08-05T15:15:43Z",
"match_count": 1,
"match_criteria_id": "B773ED91-1D39-42E6-9C52-D02210DE1A94",
"matches": [
{
"cpe_name": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"cpe_name_id": "02E4C368-978E-4818-9ED1-A7C665A25351"
}
],
"status": "Active",
"version_end_excluding": null,
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": null
}
],
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 147
}List actively exploited CVEs (CISA KEV)
List the vulnerabilities in CISA's Known Exploited Vulnerabilities catalog, the ones confirmed to be under attack in the wild. Leave the dates blank for the whole catalog, or set them to see only what CISA added in a window of up to 120 days.
Inputs
- Added to the catalog after
added_afterdate and time - Optional. When set, the 'added before' date is required too and must be within 120 days.
- Added to the catalog before
added_beforedate and time - Optional. Required whenever 'added after' is set.
- Search phrase
keyword_searchtext - Optional words the CVE description must contain, to narrow the catalog to one product or technology.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 2,000. Defaults to 20.From 1 to 2000. Default:
20. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
cveslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"cves": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 1338
}List CVE changes in a date range
List changes made across all CVEs inside a window of up to 120 days, optionally only one kind of change. Use it to watch for rescorings or KEV updates as they happen, rather than polling one CVE at a time.
Inputs
- Changed after
changed_afterdate and timeRequired - The start of the window to look at. Required, and no more than 120 days before the end: the NVD caps a changed range at that.
- Changed before
changed_beforedate and timeRequired - The end of the window to look at. Required, and no more than 120 days after the start.
- Only this kind of change
event_nametext - Narrow the window to one kind of event. Leave blank for all of them.One of:
CVE Received,Initial Analysis,Reanalysis,CVE Modified,Modified Analysis,CVE Translated,Vendor Comment,CVE Source Update,CPE Deprecation Remap,CWE Remap, and 6 more. - Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 5,000. Defaults to 50.From 1 to 5000. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
changeslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"changes": [
{
"change_id": "BBAEE5EE-DF18-4452-90D7-BCAA175D51B0",
"created": "2021-12-14T18:49:04Z",
"cve_id": "CVE-2021-44228",
"detail_count": 1,
"details": [
{
"action": "Added",
"new_value": "NIST AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)",
"old_value": null,
"type": "CVSS V3.1"
}
],
"event_name": "Initial Analysis",
"source_identifier": "nvd@nist.gov"
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 9814
}List CVEs changed in a date range
List the vulnerabilities whose records changed inside a window of up to 120 days, including ones published long ago that were rescored or reanalyzed. This is what the NVD asks you to poll to keep a local copy in step.
Inputs
- Changed after
modified_afterdate and timeRequired - The start of the window to look at. Required, and no more than 120 days before the end: the NVD caps a modified range at that.
- Changed before
modified_beforedate and timeRequired - The end of the window to look at. Required, and no more than 120 days after the start.
- Search phrase
keyword_searchtext - Optional words the CVE description must contain, to narrow the window to one product or technology.
- Hide rejected CVEs
exclude_rejectedtrue/false - Leave out CVE IDs that were withdrawn after being assigned. On is usually what you want: a rejected record describes nothing.Default:
true. - Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 2,000. Defaults to 20.From 1 to 2000. Default:
20. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
cveslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"cves": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 5127
}List CVEs published in a date range
List the vulnerabilities first published inside a window of up to 120 days. This is the one to run on a schedule to see what is new.
Inputs
- Published after
published_afterdate and timeRequired - The start of the window to look at. Required, and no more than 120 days before the end: the NVD caps a published range at that.
- Published before
published_beforedate and timeRequired - The end of the window to look at. Required, and no more than 120 days after the start.
- Search phrase
keyword_searchtext - Optional words the CVE description must contain, to narrow the window to one product or technology.
- Hide rejected CVEs
exclude_rejectedtrue/false - Leave out CVE IDs that were withdrawn after being assigned. On is usually what you want: a rejected record describes nothing.Default:
true. - Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 2,000. Defaults to 20.From 1 to 2000. Default:
20. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
cveslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"cves": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 2841
}List data sources
List the organizations that supply the NVD its data, with the identifiers their CVE records are published under and how far NVD trusts each one's scores. These identifiers are what a CVE's 'source identifier' field holds.
Inputs
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 1,000. Defaults to 100.From 1 to 1000. Default:
100. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
sourcesliststart_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"sources": [
{
"contact_email": "cve@mitre.org",
"created": "2019-09-09T16:18:45Z",
"cwe_acceptance_level": {
"description": "Provider",
"last_modified": "2025-07-08T00:00:00Z"
},
"last_modified": "2019-09-09T16:18:45Z",
"name": "MITRE",
"source_identifiers": [
"cve@mitre.org",
"8254265b-2729-46b6-b9e3-3dfca2d5bfca"
],
"v2_acceptance_level": null,
"v3_acceptance_level": {
"description": "Contributor",
"last_modified": "2025-08-18T00:00:26Z"
}
}
],
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 499
}List data sources changed in a date range
List the data-supplying organizations whose records changed inside a window of up to 120 days, which is how a new CVE Numbering Authority or a changed acceptance level shows up.
Inputs
- Changed after
modified_afterdate and timeRequired - The start of the window to look at. Required, and no more than 120 days before the end: the NVD caps a modified range at that.
- Changed before
modified_beforedate and timeRequired - The end of the window to look at. Required, and no more than 120 days after the start.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 1,000. Defaults to 100.From 1 to 1000. Default:
100. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
sourcesliststart_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"sources": [
{
"contact_email": "cve@mitre.org",
"created": "2019-09-09T16:18:45Z",
"cwe_acceptance_level": {
"description": "Provider",
"last_modified": "2025-07-08T00:00:00Z"
},
"last_modified": "2019-09-09T16:18:45Z",
"name": "MITRE",
"source_identifiers": [
"cve@mitre.org",
"8254265b-2729-46b6-b9e3-3dfca2d5bfca"
],
"v2_acceptance_level": null,
"v3_acceptance_level": {
"description": "Contributor",
"last_modified": "2025-08-18T00:00:26Z"
}
}
],
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 12
}List match criteria changed in a date range
List the match criteria added or changed inside a window of up to 120 days. A criterion changing is how the set of versions a CVE applies to gets corrected.
Inputs
- Changed after
modified_afterdate and timeRequired - The start of the window to look at. Required, and no more than 120 days before the end: the NVD caps a modified range at that.
- Changed before
modified_beforedate and timeRequired - The end of the window to look at. Required, and no more than 120 days after the start.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 500. Defaults to 50.From 1 to 500. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
match_criterialistresult_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": true,
"match_criteria": [
{
"cpe_last_modified": "2019-07-22T16:37:38Z",
"created": "2019-06-17T09:16:33Z",
"criteria": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"last_modified": "2022-08-05T15:15:43Z",
"match_count": 1,
"match_criteria_id": "B773ED91-1D39-42E6-9C52-D02210DE1A94",
"matches": [
{
"cpe_name": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"cpe_name_id": "02E4C368-978E-4818-9ED1-A7C665A25351"
}
],
"status": "Active",
"version_end_excluding": null,
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": null
}
],
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 863
}List products changed in a date range
List the CPE product records added or changed inside a window of up to 120 days. Poll it to keep a local copy of the product dictionary in step.
Inputs
- Changed after
modified_afterdate and timeRequired - The start of the window to look at. Required, and no more than 120 days before the end: the NVD caps a modified range at that.
- Changed before
modified_beforedate and timeRequired - The end of the window to look at. Required, and no more than 120 days after the start.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 10,000. Defaults to 50.From 1 to 10000. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
productslistresult_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": true,
"products": [
{
"cpe_name": "cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*",
"cpe_name_id": "9CF4F1C0-3E4D-4A2A-8CFF-8C1B0F1C1C77",
"created": "2021-06-24T14:00:00Z",
"deprecated": false,
"deprecated_by": [],
"deprecates": [],
"last_modified": "2021-12-14T14:35:56Z",
"references": [
{
"type": "Product",
"url": "https://logging.apache.org/log4j/2.x/"
}
],
"title": "Apache Log4j 2.14.1",
"titles": [
{
"lang": "en",
"value": "Apache Log4j 2.14.1"
}
]
}
],
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 1204
}List the products a match criterion covers
Expand one match criterion into the actual product versions it resolves to. A CVE says 'log4j from 2.0 up to 2.15.0'; this turns that into the list of concrete CPE names.
Inputs
- Match criteria ID
match_criteria_idtextRequired - The UUID of the criterion. A CVE's cpe_matches entries carry it as match_criteria_id.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 10,000. Defaults to 50.From 1 to 10000. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
productslistresult_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": false,
"products": [
{
"cpe_name": "cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*",
"cpe_name_id": "9CF4F1C0-3E4D-4A2A-8CFF-8C1B0F1C1C77",
"created": "2021-06-24T14:00:00Z",
"deprecated": false,
"deprecated_by": [],
"deprecates": [],
"last_modified": "2021-12-14T14:35:56Z",
"references": [
{
"type": "Product",
"url": "https://logging.apache.org/log4j/2.x/"
}
],
"title": "Apache Log4j 2.14.1",
"titles": [
{
"lang": "en",
"value": "Apache Log4j 2.14.1"
}
]
}
],
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 1
}Search CVEs
Search the NVD by keyword and by the flags on a record: weakness type, assigning source, analysis status, tag, and whether it is in CISA's Known Exploited Vulnerabilities catalog. The keyword is matched against the CVE descriptions, and every word given has to appear.
Inputs
- Search phrase
keyword_searchtext - Words to look for in the CVE descriptions. Every word given has to appear, in any order.
- Match the phrase exactly
keyword_exact_matchtrue/false - Off (the default) matches records containing every word in the phrase, anywhere. On matches only records containing the phrase itself, word for word.Default:
false. - Weakness (CWE) ID
cwe_idtext - Return only CVEs of this weakness type, e.g. CWE-79 for cross-site scripting.
- Data source
source_identifiertext - Return only CVEs assigned by this organization, picked from the sources the NVD publishes.
- Analysis status
vuln_statusestext - Return only CVEs in these stages of the NVD's analysis workflow. Choose as many as you like; leaving it empty covers every status.One or more of:
Received(Received (not yet analyzed)),AwaitingAnalysis(Awaiting analysis),UndergoingAnalysis(Undergoing analysis),Analyzed,Modified(Modified since analysis),Deferred,Rejected. - Tag
cve_tagtext - Return only CVEs carrying this tag.One of:
disputed(Disputed by the vendor),unsupported-when-assigned(Product was already unsupported),exclusively-hosted-service(Affects a hosted service only). - In CISA's exploited-vulnerabilities catalog
has_kevtrue/false - Return only vulnerabilities CISA has confirmed are being exploited in the wild.Default:
false. - Hide rejected CVEs
exclude_rejectedtrue/false - Leave out CVE IDs that were withdrawn after being assigned. On is usually what you want: a rejected record describes nothing.Default:
true. - Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 2,000. Defaults to 20.From 1 to 2000. Default:
20. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
cveslisthas_moretrue/false- Whether there are further pages to fetch.
result_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"cves": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"configurations": [
{
"nodes": [
{
"cpe_match": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": null
}
],
"cpe_matches": [
{
"criteria": "cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*",
"match_criteria_id": "1AB5AC5B-2C34-4A03-9E4D-6B5E9C4F0D8A",
"version_end_excluding": "2.15.0",
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": "2.0",
"vulnerable": true
}
],
"cvss": {
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
},
"cwe_ids": [
"CWE-917",
"CWE-20"
],
"description": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints.",
"descriptions": [
{
"lang": "en",
"value": "Apache Log4j2 2.0-beta9 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints."
}
],
"evaluator_comment": null,
"evaluator_impact": null,
"evaluator_solution": null,
"id": "CVE-2021-44228",
"in_kev": true,
"kev": {
"action_due": "2021-12-24",
"date_added": "2021-12-10",
"required_action": "For all affected software assets for which updates exist, the only acceptable remediation actions are: 1) Apply updates; OR 2) remove affected assets from agency networks.",
"vulnerability_name": "Apache Log4j2 Remote Code Execution Vulnerability"
},
"last_modified": "2025-04-03T01:03:51Z",
"metrics": [
{
"base_score": 10.0,
"base_severity": "CRITICAL",
"exploitability_score": 3.9,
"impact_score": 6.0,
"source": "nvd@nist.gov",
"type": "Primary",
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
],
"published": "2021-12-10T10:15:09Z",
"references": [
{
"source": "security@apache.org",
"tags": [
"Vendor Advisory"
],
"url": "https://logging.apache.org/log4j/2.x/security.html"
}
],
"source_identifier": "security@apache.org",
"ssvc": [
{
"options": {
"automatable": "yes",
"exploitation": "active",
"technicalImpact": "total"
},
"role": "CISA Coordinator",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"timestamp": "2025-02-04T14:25:34Z",
"version": "2.0.3"
}
],
"tags": [],
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
"vendor_comments": [],
"vuln_status": "Analyzed",
"weaknesses": [
{
"cwe_ids": [
"CWE-917"
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
],
"has_more": true,
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 42
}Search match criteria
Find the match criteria whose CPE fits a match string, for example every criterion that mentions log4j. Each one names the version range and the products inside it.
Inputs
- CPE match string
match_stringtextRequired - A CPE, whole or partial, with '*' in the fields you are not pinning down.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 500. Defaults to 50.From 1 to 500. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
match_criterialistresult_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": true,
"match_criteria": [
{
"cpe_last_modified": "2019-07-22T16:37:38Z",
"created": "2019-06-17T09:16:33Z",
"criteria": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"last_modified": "2022-08-05T15:15:43Z",
"match_count": 1,
"match_criteria_id": "B773ED91-1D39-42E6-9C52-D02210DE1A94",
"matches": [
{
"cpe_name": "cpe:2.3:a:apache:log4j:2.0:rc1:*:*:*:*:*:*",
"cpe_name_id": "02E4C368-978E-4818-9ED1-A7C665A25351"
}
],
"status": "Active",
"version_end_excluding": null,
"version_end_including": null,
"version_start_excluding": null,
"version_start_including": null
}
],
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 147
}Search products
Search the NVD's product dictionary for the CPE name of a piece of software or hardware. Run this first when you know a product by name and need the CPE that 'Find CVEs affecting a product' takes.
Inputs
- Search phrase
keyword_searchtext - Words to look for in the product titles and reference links, e.g. 'apache log4j'.
- Match the phrase exactly
keyword_exact_matchtrue/false - Off (the default) matches records containing every word in the phrase, anywhere. On matches only records containing the phrase itself, word for word.Default:
false. - CPE match string
match_stringtext - A partial CPE to list the products under it, with '*' in the fields you are not pinning down. Use this instead of, or alongside, a search phrase.
- Number of results
results_per_pagenumber - How many records to return in one step, from 1 to 10,000. Defaults to 50.From 1 to 10000. Default:
50. - Start at result
start_indexnumber - Zero-based offset into the full result set, for paging. Leave blank for the first page; to get the next one, add the previous step's Number of results to its Start at result.At least 0. Default:
0.
Outputs
has_moretrue/false- Whether there are further pages to fetch.
productslistresult_countnumber- How many records this step returned.
results_per_pagenumber- The page size the NVD used.
start_indexnumber- The offset this page starts at.
timestamptext- When the NVD generated this response.
total_resultsnumber- How many records match in total.
Example output
{
"has_more": true,
"products": [
{
"cpe_name": "cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*",
"cpe_name_id": "9CF4F1C0-3E4D-4A2A-8CFF-8C1B0F1C1C77",
"created": "2021-06-24T14:00:00Z",
"deprecated": false,
"deprecated_by": [],
"deprecates": [],
"last_modified": "2021-12-14T14:35:56Z",
"references": [
{
"type": "Product",
"url": "https://logging.apache.org/log4j/2.x/"
}
],
"title": "Apache Log4j 2.14.1",
"titles": [
{
"lang": "en",
"value": "Apache Log4j 2.14.1"
}
]
}
],
"result_count": 1,
"results_per_page": 1,
"start_index": 0,
"timestamp": "2026-08-23T18:50:34Z",
"total_results": 78
}