Closed MaineK00n closed 11 months ago
Thanks a lot. Tested OK with some basic tests. :+1:
One question though: shouldn't there be some API key parameter somewhere on the CLI?
Beginning six months after the release of the API keys, users transmitting requests without a key will see a reduction in the number of requests they can make in a rolling 60 second window. Users transmitting requests that include their API key will see no change in service and may continue to make requests at the current rate.
From API-Key-Announcement Keys can be obtained here: Request an API Key
I have such a key ready to be used (a bit more difficult to actually test).
I'll do my best to do further tests this week, but in the course of these tests and deployment I'll need to switch from v0.5.6 from 2020 I currently use to up to date v0.9.0, and probably re-initiate the MySQL DB is use for custom queries.
(Note that of course, the API key support could as well be added later on, as another enhancement. As for me, I already have a lot to test here... Again, thanks for your work last weekend. :100: )
Since we are not fetching directly from the NVD API, an API KEY is not required. This time, the results of the NVD API are saved in this repository(https://github.com/vulsio/vuls-data-raw-nvd-api-cve), and go-cve-dictionary uses that repository.
I tested this successfully in a MySQL setup and my custom client application. :+1:
I don't know Go, so this is a functional test only, not a code review, sorry for that.
The next step for me will be to update my production server to v0.9.0, to be ready for the next version with this new development. Thanks again!
Hi, is it related to https://nvd.nist.gov/vuln/data-feeds ? "On December 15th, 2023, the NVD plans to retire all legacy data feeds while guiding any remaining data feed users to updated application-programming interfaces (APIs)." https://nvd.nist.gov/General/News/change-timeline: The NVD plans to retire the remaining legacy data feeds as well as all 1.0 APIs on December 15th. Which is the go-cve-dictionary version which starts to be compliant with this breaking change for fetching datas ?
Best regards
@fredericg78
Although the version has not been clearly determined, go-cve-dictionary built after this PR was merged will use the results of the NVD API.
Let me report v0.10.0 roughly. I use server-mode with php. In my code, two update was required, but almost no problem.
@witchcraze This was changed because there may be multiple CVSSv2 and CVSSv3.
Ah, OK. In this case, two CVSS 3.x was registered. (But we can not judje which is NVD's one) https://nvd.nist.gov/vuln/detail/CVE-2023-20254
$ curl -s http://127.0.0.1:1323/cves/CVE-2023-20254 | jq ".Nvds[].Cvss3"
[
{
"VectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"AttackVector": "NETWORK",
"AttackComplexity": "LOW",
"PrivilegesRequired": "LOW",
"UserInteraction": "NONE",
"Scope": "UNCHANGED",
"ConfidentialityImpact": "HIGH",
"IntegrityImpact": "HIGH",
"AvailabilityImpact": "HIGH",
"BaseScore": 8.8,
"BaseSeverity": "HIGH",
"ExploitabilityScore": 2.8,
"ImpactScore": 5.9
},
{
"VectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
"AttackVector": "NETWORK",
"AttackComplexity": "LOW",
"PrivilegesRequired": "HIGH",
"UserInteraction": "NONE",
"Scope": "UNCHANGED",
"ConfidentialityImpact": "HIGH",
"IntegrityImpact": "HIGH",
"AvailabilityImpact": "HIGH",
"BaseScore": 7.2,
"BaseSeverity": "HIGH",
"ExploitabilityScore": 1.2,
"ImpactScore": 5.9
}
]
As for the original data, depending on the source, you can tell whether it is evaluated by NVD or another vendor...... https://github.com/vulsio/vuls-data-raw-nvd-api-cve/blob/main/2023/CVE-2023-20254.json
What did you implement:
Fixes #272
Type of change
How Has This Been Tested?
Checklist:
You don't have to satisfy all of the following.
make fmt
make test
Is this ready for review?: YES
Reference