]> code.ossystems Code Review - openembedded-core.git/commitdiff
cve-update-db-native: skip on empty cpe23Uri
authorKonrad Weihmann <kweihmann@outlook.com>
Thu, 22 Apr 2021 16:48:27 +0000 (18:48 +0200)
committerAnuj Mittal <anuj.mittal@intel.com>
Fri, 23 Apr 2021 15:14:40 +0000 (23:14 +0800)
Recently an entry in the NVD DB appeared that looks like that
{'vulnerable': True, 'cpe_name': []}.
As besides all the vulnerable flag no data is present we would get
a KeyError exception on acccess.
Use get method on dictionary and return if no meta data is present
Also quit if the length of the array after splitting is less than 6

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 00ce2796d97de2bc376b038d0ea7969088791d34)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
meta/recipes-core/meta/cve-update-db-native.bb

index b3dc33734d6bbd3442bb241db49aff0bc338886d..b0739362982fc62c8c164ca555b23a859757054d 100644 (file)
@@ -138,7 +138,12 @@ def parse_node_and_insert(c, node, cveId):
         for cpe in node.get('cpe_match', ()):
             if not cpe['vulnerable']:
                 return
-            cpe23 = cpe['cpe23Uri'].split(':')
+            cpe23 = cpe.get('cpe23Uri')
+            if not cpe23:
+                return
+            cpe23 = cpe23.split(':')
+            if len(cpe23) < 6:
+                return
             vendor = cpe23[3]
             product = cpe23[4]
             version = cpe23[5]