mirror of
https://github.com/fkie-cad/nvd-json-data-feeds.git
synced 2025-07-11 16:13:34 +00:00
238 lines
11 KiB
Markdown
238 lines
11 KiB
Markdown
# nvd-json-data-feeds
|
|
|
|
[](https://github.com/fkie-cad/nvd-json-data-feeds/actions/workflows/monitor_release.yml)
|
|
[](https://github.com/fkie-cad/nvd-json-data-feeds/actions/workflows/monitor_sync.yml)
|
|
[](https://github.com/fkie-cad/nvd-json-data-feeds/actions/workflows/validate_schema.yml)
|
|
|
|
Community reconstruction of the deprecated JSON NVD Data Feeds.
|
|
[Releases](https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest) each day at 00:00 AM UTC.
|
|
Repository synchronizes with the NVD every 2 hours.
|
|
|
|
## Repository at a Glance
|
|
|
|
### Last Repository Update
|
|
|
|
```plain
|
|
2024-05-22T18:00:31.735085+00:00
|
|
```
|
|
|
|
### Most recent CVE Modification Timestamp synchronized with NVD
|
|
|
|
```plain
|
|
2024-05-22T17:16:15.957000+00:00
|
|
```
|
|
|
|
### Last Data Feed Release
|
|
|
|
Download and Changelog: [Click](https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest)
|
|
|
|
```plain
|
|
2024-05-22T00:00:20.267203+00:00
|
|
```
|
|
|
|
### Total Number of included CVEs
|
|
|
|
```plain
|
|
251490
|
|
```
|
|
|
|
### CVEs added in the last Commit
|
|
|
|
Recently added CVEs: `23`
|
|
|
|
- [CVE-2023-20239](CVE-2023/CVE-2023-202xx/CVE-2023-20239.json) (`2024-05-22T17:16:02.760`)
|
|
- [CVE-2024-20261](CVE-2024/CVE-2024-202xx/CVE-2024-20261.json) (`2024-05-22T17:16:12.873`)
|
|
- [CVE-2024-20293](CVE-2024/CVE-2024-202xx/CVE-2024-20293.json) (`2024-05-22T17:16:13.167`)
|
|
- [CVE-2024-20355](CVE-2024/CVE-2024-203xx/CVE-2024-20355.json) (`2024-05-22T17:16:13.477`)
|
|
- [CVE-2024-20361](CVE-2024/CVE-2024-203xx/CVE-2024-20361.json) (`2024-05-22T17:16:13.733`)
|
|
- [CVE-2024-20363](CVE-2024/CVE-2024-203xx/CVE-2024-20363.json) (`2024-05-22T17:16:13.950`)
|
|
- [CVE-2024-29392](CVE-2024/CVE-2024-293xx/CVE-2024-29392.json) (`2024-05-22T16:15:09.590`)
|
|
- [CVE-2024-33222](CVE-2024/CVE-2024-332xx/CVE-2024-33222.json) (`2024-05-22T16:15:09.960`)
|
|
- [CVE-2024-33223](CVE-2024/CVE-2024-332xx/CVE-2024-33223.json) (`2024-05-22T16:15:10.043`)
|
|
- [CVE-2024-33224](CVE-2024/CVE-2024-332xx/CVE-2024-33224.json) (`2024-05-22T16:15:10.140`)
|
|
- [CVE-2024-33225](CVE-2024/CVE-2024-332xx/CVE-2024-33225.json) (`2024-05-22T16:15:10.220`)
|
|
- [CVE-2024-33226](CVE-2024/CVE-2024-332xx/CVE-2024-33226.json) (`2024-05-22T16:15:10.317`)
|
|
- [CVE-2024-33227](CVE-2024/CVE-2024-332xx/CVE-2024-33227.json) (`2024-05-22T16:15:10.403`)
|
|
- [CVE-2024-33228](CVE-2024/CVE-2024-332xx/CVE-2024-33228.json) (`2024-05-22T16:15:10.490`)
|
|
- [CVE-2024-34448](CVE-2024/CVE-2024-344xx/CVE-2024-34448.json) (`2024-05-22T16:15:10.580`)
|
|
- [CVE-2024-35362](CVE-2024/CVE-2024-353xx/CVE-2024-35362.json) (`2024-05-22T16:15:10.687`)
|
|
- [CVE-2024-36077](CVE-2024/CVE-2024-360xx/CVE-2024-36077.json) (`2024-05-22T17:16:15.377`)
|
|
- [CVE-2024-4563](CVE-2024/CVE-2024-45xx/CVE-2024-4563.json) (`2024-05-22T17:16:15.730`)
|
|
- [CVE-2024-5157](CVE-2024/CVE-2024-51xx/CVE-2024-5157.json) (`2024-05-22T16:15:10.863`)
|
|
- [CVE-2024-5158](CVE-2024/CVE-2024-51xx/CVE-2024-5158.json) (`2024-05-22T16:15:10.947`)
|
|
- [CVE-2024-5159](CVE-2024/CVE-2024-51xx/CVE-2024-5159.json) (`2024-05-22T16:15:11.013`)
|
|
- [CVE-2024-5160](CVE-2024/CVE-2024-51xx/CVE-2024-5160.json) (`2024-05-22T16:15:11.087`)
|
|
- [CVE-2024-5166](CVE-2024/CVE-2024-51xx/CVE-2024-5166.json) (`2024-05-22T17:16:15.957`)
|
|
|
|
|
|
### CVEs modified in the last Commit
|
|
|
|
Recently modified CVEs: `54`
|
|
|
|
- [CVE-2023-6693](CVE-2023/CVE-2023-66xx/CVE-2023-6693.json) (`2024-05-22T17:16:09.817`)
|
|
- [CVE-2023-6816](CVE-2023/CVE-2023-68xx/CVE-2023-6816.json) (`2024-05-22T17:16:09.970`)
|
|
- [CVE-2023-6915](CVE-2023/CVE-2023-69xx/CVE-2023-6915.json) (`2024-05-22T17:16:10.197`)
|
|
- [CVE-2023-6918](CVE-2023/CVE-2023-69xx/CVE-2023-6918.json) (`2024-05-22T17:16:10.383`)
|
|
- [CVE-2023-7008](CVE-2023/CVE-2023-70xx/CVE-2023-7008.json) (`2024-05-22T17:16:10.830`)
|
|
- [CVE-2024-0229](CVE-2024/CVE-2024-02xx/CVE-2024-0229.json) (`2024-05-22T17:16:11.003`)
|
|
- [CVE-2024-0408](CVE-2024/CVE-2024-04xx/CVE-2024-0408.json) (`2024-05-22T17:16:11.160`)
|
|
- [CVE-2024-0409](CVE-2024/CVE-2024-04xx/CVE-2024-0409.json) (`2024-05-22T17:16:11.320`)
|
|
- [CVE-2024-0690](CVE-2024/CVE-2024-06xx/CVE-2024-0690.json) (`2024-05-22T17:16:11.487`)
|
|
- [CVE-2024-0841](CVE-2024/CVE-2024-08xx/CVE-2024-0841.json) (`2024-05-22T17:16:11.667`)
|
|
- [CVE-2024-1048](CVE-2024/CVE-2024-10xx/CVE-2024-1048.json) (`2024-05-22T17:16:11.850`)
|
|
- [CVE-2024-1062](CVE-2024/CVE-2024-10xx/CVE-2024-1062.json) (`2024-05-22T17:16:12.023`)
|
|
- [CVE-2024-1394](CVE-2024/CVE-2024-13xx/CVE-2024-1394.json) (`2024-05-22T17:16:12.157`)
|
|
- [CVE-2024-1481](CVE-2024/CVE-2024-14xx/CVE-2024-1481.json) (`2024-05-22T17:16:12.480`)
|
|
- [CVE-2024-1753](CVE-2024/CVE-2024-17xx/CVE-2024-1753.json) (`2024-05-22T17:16:12.620`)
|
|
- [CVE-2024-21885](CVE-2024/CVE-2024-218xx/CVE-2024-21885.json) (`2024-05-22T17:16:14.187`)
|
|
- [CVE-2024-21886](CVE-2024/CVE-2024-218xx/CVE-2024-21886.json) (`2024-05-22T17:16:14.343`)
|
|
- [CVE-2024-2307](CVE-2024/CVE-2024-23xx/CVE-2024-2307.json) (`2024-05-22T17:16:14.610`)
|
|
- [CVE-2024-2494](CVE-2024/CVE-2024-24xx/CVE-2024-2494.json) (`2024-05-22T17:16:14.740`)
|
|
- [CVE-2024-2912](CVE-2024/CVE-2024-29xx/CVE-2024-2912.json) (`2024-05-22T16:15:09.713`)
|
|
- [CVE-2024-3019](CVE-2024/CVE-2024-30xx/CVE-2024-3019.json) (`2024-05-22T17:16:15.600`)
|
|
- [CVE-2024-31080](CVE-2024/CVE-2024-310xx/CVE-2024-31080.json) (`2024-05-22T17:16:14.877`)
|
|
- [CVE-2024-31081](CVE-2024/CVE-2024-310xx/CVE-2024-31081.json) (`2024-05-22T17:16:15.070`)
|
|
- [CVE-2024-31083](CVE-2024/CVE-2024-310xx/CVE-2024-31083.json) (`2024-05-22T17:16:15.223`)
|
|
- [CVE-2024-36050](CVE-2024/CVE-2024-360xx/CVE-2024-36050.json) (`2024-05-22T16:15:10.777`)
|
|
|
|
|
|
## Download and Usage
|
|
|
|
There are several ways you can work with the data in this repository:
|
|
|
|
### 1) Release Data Feed Packages
|
|
|
|
The most straightforward approach is to obtain the latest Data Feed release packages [here](https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest).
|
|
|
|
Each day at 00:00 AM UTC we package and upload JSON files that aim to reconstruct the legacy NVD CVE Data Feeds.
|
|
Those are aggregated by the `year` part of the CVE identifier:
|
|
|
|
```
|
|
# CVE-<YEAR>.json
|
|
CVE-1999.json
|
|
CVE-2001.json
|
|
CVE-2002.json
|
|
CVE-2003.json
|
|
[...]
|
|
CVE-2023.json
|
|
CVE-2024.json
|
|
```
|
|
|
|
We also upload the well-known `Recent` and `Modified` feeds.
|
|
Furthermore, we provide the `All` feed, which contains a recent snapshot of all NVD records.
|
|
Once your local copy is synchronized and the last synchronization is no older than 8 days, you can rely on these to stay up to date:
|
|
|
|
```plain
|
|
CVE-Recent.json # CVEs that were added in the previous eight days
|
|
CVE-Modified.json # CVEs that were modified or added in the previous eight days
|
|
```
|
|
|
|
Note that all feeds are distributed in `xz`-compressed format to save storage and bandwidth.
|
|
For decompression execute:
|
|
|
|
```sh
|
|
xz -d -k <feed>.json.xz
|
|
```
|
|
|
|
#### Automation using Release Data Feed Packages
|
|
|
|
You can fetch the latest releases for each package with the following static link layout:
|
|
|
|
```sh
|
|
https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest/download/CVE-<YEAR>.json.xz
|
|
```
|
|
|
|
Example:
|
|
|
|
```sh
|
|
wget https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest/download/CVE-2024.json.xz
|
|
xz -d -k CVE-2024.json.xz
|
|
```
|
|
|
|
### 2) Clone the Repository (with Git History)
|
|
|
|
As you can see by browsing this repository, there is a slight difference between the release packages format and the repository folder structure.
|
|
This is because we want to maintain explorability of the dataset.
|
|
|
|
Each CVE gets its own JSON file, e.g., `CVE-1999-0001.json`.
|
|
Here, each file is put into a folder layout that first sorts by CVE `year` identifier part and then by `number` part.
|
|
We mask (`xx`) the last two digits to create easily navigable folders that hold a maximum of 100 CVE JSON files:
|
|
|
|
```plain
|
|
.
|
|
├── CVE-1999
|
|
│ ├── CVE-1999-00xx
|
|
│ │ ├── CVE-1999-0001.json
|
|
│ │ ├── CVE-1999-0002.json
|
|
│ │ └── [...]
|
|
│ ├── CVE-1999-01xx
|
|
│ │ ├── CVE-1999-0101.json
|
|
│ │ └── [...]
|
|
│ └── [...]
|
|
├── CVE-2000
|
|
│ ├── CVE-2000-00xx
|
|
│ ├── CVE-2000-01xx
|
|
│ └── [...]
|
|
└── [...]
|
|
```
|
|
|
|
A byproduct of managing and continuously updating this dataset via Git is that we can track changes over time through the Git history.
|
|
|
|
If you are interested in having the NVD data as organized above, including the historical data of changes, just clone this repository (large!):
|
|
|
|
```sh
|
|
git clone https://github.com/fkie-cad/nvd-json-data-feeds.git
|
|
```
|
|
|
|
#### (Optional) Meta Files
|
|
|
|
Similar to the old official feeds, we provide meta files with each release. They can be fetched for each feed via:
|
|
|
|
```sh
|
|
https://github.com/fkie-cad/nvd-json-data-feeds/releases/latest/download/CVE-<YEAR>.meta
|
|
```
|
|
|
|
The structure is as follows:
|
|
|
|
```plain
|
|
lastModifiedDate:1970-01-01T00:00:00.000+00:00 # ISO 8601 timestamp of last CVE modification
|
|
size:1000 # size of uncompressed feed (bytes)
|
|
xzSize:100 # size of lzma-compressed feed (bytes)
|
|
sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 # sha256 hexdigest of uncompressed feed
|
|
```
|
|
|
|
### 3) Clone the Repository (without Git History)
|
|
|
|
Don't need the history? Then create a shallow copy:
|
|
|
|
```sh
|
|
git clone --depth 1 -b main https://github.com/fkie-cad/nvd-json-data-feeds.git
|
|
```
|
|
|
|
|
|
## Update Timetable
|
|
|
|
* NVD Synchronization: `Bi-Hourly`, starting with `00:00:00Z`
|
|
* Release Packages: `Daily`, at `00:00:00Z`
|
|
* NVD Rebuilds: `Weekly`, at `Sun, 02:30:00Z`
|
|
|
|
|
|
## Motivation
|
|
|
|
On 2023-12-15, the NIST deprecated all [JSON-based NVD Data Feeds](https://nvd.nist.gov/vuln/data-feeds#divRetirementBanner-1).
|
|
The new [NVD CVE API 2.0](https://nvd.nist.gov/developers/vulnerabilities) is, without a doubt, a great way to obtain CVE information.
|
|
However, we from [Fraunhofer FKIE - Cyber Analysis and Defense](https://www.fkie.fraunhofer.de/en/departments/cad.html) believe that the API does not cover a variety of use cases.
|
|
|
|
The legacy NVD Data Feeds provided a convenient way to quickly obtain a complete, file-based offline database snapshot; just download the `CVE-<YEAR>.tar.gz`, decompress it, and use it as you please, e.g.:
|
|
|
|
- Put the JSON feed into a document-based database and quickly leverage upon that data in your software project, ...
|
|
- Parse and analyze it using your favorite programming language, ...
|
|
- Put it on a USB stick and transfer it to a system without internet access, or ...
|
|
- Query the file using `jq`!
|
|
|
|
Unfortunately, the new NVD API 2.0 adds complexity to this process.
|
|
We want to preserve ease of use by reconstructing these data sources.
|
|
|
|
## Non-Endorsement Clause
|
|
|
|
This project uses and redistributes data from the NVD API but is not endorsed or certified by the NVD. |