[GSOC23] - A - Implement a fully functional CVE auditing feature based on OVAL data#7466
Merged
parlt91 merged 91 commits intouyuni-project:masterfrom Feb 20, 2024
Merged
Conversation
Contributor
Suggested tests to cover this Pull Request
|
HoussemNasri
commented
Aug 26, 2023
14c1c65 to
07d0c82
Compare
This was referenced Sep 7, 2023
3cc65de to
a5ed1ff
Compare
Co-authored-by: Pascal Arlt <parlt@suse.com>
Tip: Don't use ON CONFLICT along nextval(), because nextval will evaluate and increase the sequence value even when there was a conflict.
- Better convert them to issues instead
…r.Channels and auditServer.Erratas are not null
…nager theme is used
- Because fix_version can be null
- A CVE is considered known if it's linked to one of the metadata entries from channels or OVAL data.
Signed-off-by: Pascal Arlt <parlt@suse.com>
Signed-off-by: Pascal Arlt <parlt@suse.com>
Signed-off-by: Pascal Arlt <parlt@suse.com>
Contributor
|
@ktsamis A small testsuite change was required to make the tests pass and now review from qe is needed, could you have a quick look at it? Thank you |
ktsamis
approved these changes
Feb 20, 2024
Contributor
ktsamis
left a comment
There was a problem hiding this comment.
Looks good for the testsuite change
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR change?
This is the first pull request of my GSoC project. The primary goal of the PR is to implement and test the OVAL-based CVE auditing algorithm as described in the associated RFC. It also includes a partial (but sufficient given the OVAL files we aim to consume) implementation of the OVAL definition schema specification.
This implementation addresses OVALs produced by SUSE, RedHat, and Debian. Ubuntu will be addressed in a follow-up pull request.
Usage guide
Since the download and syncing of OVAL data will be handled in a different PR, for now, you'll need to do it manually among other steps. This is important to ensure the CVE auditing is accurate. So, here's a guide on what you need to do to test the changes in this PR.
Step 1: Download and save OVAL data to the database
SUSEVulnerablePackageExtractorfor sources to download from) and place it somewhere on the Uyuni server.<path_to_oval.xml>with the path to the OVAL file you downloaded:Step 2: Refresh package list of clients to audit
This step is required in order to acquire the newly added CPE grain and store it in the database.
TODO
log.error()withlog.debug()What is missing
These are known limitations that will be addressed in subsequent pull requests.
Useful links
GUI diff
Before
After
Documentation
Test coverage
Links
Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:
If you uncheck the checkbox after the PR is created, you will need to re-run
changelog_test(see below)Re-run a test
If you need to re-run a test, please mark the related checkbox, it will be unchecked automatically once it has re-run: