diff options
author | Yoann Congal <yoann.congal@smile.fr> | 2024-03-15 01:20:19 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-03-15 07:36:14 +0000 |
commit | c698cf6723f344ddb1a755b4a2a0996aefa851f4 (patch) | |
tree | 74ddbfc9a2b5360ffe4d227ef6c062d94825e962 /meta/recipes-core | |
parent | 50e17197c6fe10408d7dab6e48c9df713ca8eab7 (diff) | |
download | poky-c698cf6723f344ddb1a755b4a2a0996aefa851f4.tar.gz |
cve-update-nvd2-native: Fix CVE configuration update
When a CVE is created, it often has no precise version information and
this is stored as "-" (matching any version). After an update, version
information is added. The previous "-" must be removed, otherwise, the
CVE is still "Unpatched" for cve-check.
(From OE-Core rev: 641ae3f36e09af9932dc33043a0a5fbfce62122e)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r-- | meta/recipes-core/meta/cve-update-nvd2-native.bb | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/recipes-core/meta/cve-update-nvd2-native.bb b/meta/recipes-core/meta/cve-update-nvd2-native.bb index 5bba2219d6..4b8d01fe84 100644 --- a/meta/recipes-core/meta/cve-update-nvd2-native.bb +++ b/meta/recipes-core/meta/cve-update-nvd2-native.bb | |||
@@ -357,6 +357,10 @@ def update_db(conn, elt): | |||
357 | [cveId, cveDesc, cvssv2, cvssv3, date, accessVector, vectorString]).close() | 357 | [cveId, cveDesc, cvssv2, cvssv3, date, accessVector, vectorString]).close() |
358 | 358 | ||
359 | try: | 359 | try: |
360 | # Remove any pre-existing CVE configuration. Even for partial database | ||
361 | # update, those will be repopulated. This ensures that old | ||
362 | # configuration is not kept for an updated CVE. | ||
363 | conn.execute("delete from PRODUCTS where ID = ?", [cveId]).close() | ||
360 | for config in elt['cve']['configurations']: | 364 | for config in elt['cve']['configurations']: |
361 | # This is suboptimal as it doesn't handle AND/OR and negate, but is better than nothing | 365 | # This is suboptimal as it doesn't handle AND/OR and negate, but is better than nothing |
362 | for node in config["nodes"]: | 366 | for node in config["nodes"]: |