]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
cve-update-nvd2-native: Fix CVE configuration update
authorYoann Congal <yoann.congal@smile.fr>
Mon, 18 Mar 2024 02:21:51 +0000 (16:21 -1000)
committerSteve Sakoman <steve@sakoman.com>
Mon, 18 Mar 2024 21:44:32 +0000 (11:44 -1000)
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.

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 641ae3f36e09af9932dc33043a0a5fbfce62122e)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-core/meta/cve-update-nvd2-native.bb

index a703b68aac0178d80143c9d3561d8439d2135eb6..0044529b7d50c0368f89391c277e80e2e553b3e4 100644 (file)
@@ -352,6 +352,10 @@ def update_db(conn, elt):
                 [cveId, cveDesc, cvssv2, cvssv3, date, accessVector]).close()
 
     try:
+        # Remove any pre-existing CVE configuration. Even for partial database
+        # update, those will be repopulated. This ensures that old
+        # configuration is not kept for an updated CVE.
+        conn.execute("delete from PRODUCTS where ID = ?", [cveId]).close()
         for config in elt['cve']['configurations']:
             # This is suboptimal as it doesn't handle AND/OR and negate, but is better than nothing
             for node in config["nodes"]: