在研发软件安全、应用安全等产品时,当我们在获得漏洞数据时,不管数据来自于github、CVD、CNNVD、OSV等安全漏洞数据库,还是来自于开源项目中的json文件分析,都需要对漏洞数据进行大量的补充完善,因为不同的来源,其漏洞描述元数据不太相同,且很多操作系统等厂商,在描述漏洞,尤其是影响版本、修复版本时,其中有一些特定的表示,需要我们开发人员理解和处理。下面我列举一些例子。
第1种情况:
影响版本:{"omero-web":["0"]},这表示omero-web/项目表示项目修复版本之前的所有版本都存在漏洞,结合修复版本使用,例如下面
修复版本:{"omero-web":["5.26.0"]},表示上面低于5.26.0版本都存在漏洞,修复版本是5.26.0
第2种情况:
影响版本 {"org.jetbrains.kotlin:kotlin-stdlib":["0","<= 1.5.32"],"kotlin":["1.6.0"]}
修复版本 {"org.jetbrains.kotlin:kotlin-stdlib":["1.6.0"]}
其影响版本是小于等于1.5.32的所有版本,在1.6.0版本修复
第3种情况:
影响版本 {"gitea":["1.4.3"],"github.com/go-gitea/gitea":["0"]}
修复版本 {"gitea":["1.4.3"],"github.com/go-gitea/gitea":["1.4.3"]}
影响版本是小于等于1.4.3
项目/组件名称为/后面的字符串,机构或组织为/前面的字符串,不包括github.com,例如:go-gitea/gitea
第4种情况:
影响版本 {"vufind/vufind":["2.4"]} ,组件/项目名称取/后面的为名称
第5种情况:
{"gstreamer":["e68eccff103ab0e91e6d77a892f57131b33902f5"]}
这个字符串是commit时,git创建的提交ID,如果设定了版本,则通过下面命令是可以返回版本号的。
在项目目录下执行git describe e68eccff103ab0e91e6d77a892f57131b33902f5
得到版本信息:1.24.0-448-ge68eccff10
第6种情况:
影响版本 {"github.com/argoproj/argo-cd, github.com/argoproj/argo-cd/v2":["0","2.9.0-rc1","2.10.0-rc1","2.11.0-rc1","0"]}
修复版本 {"github.com/argoproj/argo-cd, github.com/argoproj/argo-cd/v2":["2.8.19","2.9.15","2.10.10","2.11.1"],"argo-cd":["2.8.19","2.9.15","2.10.10","2.11.1","1.8.7"]}
argoproj/argo-cd/v2
<2.8.9 2.9.0-rc1<=affected verions <2.9.15 2.10.0-rc1<= affected versions < 2.10.10 2.11.0-rc1 <= affected versions < 2.11.1
argo-cd
<1.8.7 2.9.0-rc1<=affected verions <2.9.15 2.10.0-rc1<= affected versions < 2.10.10 2.11.0-rc1 <= affected versions < 2.11.1
这种情况还没有完全掌握规则,需要人工处理
第7种情况:
影响版本
{"nocodb":["0.202.6","<= 0.202.9"]}
表示 0.202.6<= affected versions <=0.202.9
第8种情况:
影响版本 {"react-pdf":["0","8.0.0"]}
修复版本 {"react-pdf":["7.7.3","8.0.2"]}
影响版本表示 0 < affected versions <7.7.3 8.0.0 < affected versions <8.0.2
第9种情况:
影响版本: {"Werkzeug":["0"],"mingw-python-werkzeug":["3.0.3-1.fc40"]}
修复版本: {"Werkzeug":["3.0.3"]}
影响版本表示 0 < affected versions < 3.0.3
第10种情况:
影响版本: {"limdu":["0","<= 0.9.4","0.9.5"]}
修复版本: {"limdu":["0.9.5"]}
影响版本表示 0< affected versions <=0.9.4