CVE申请过程

CVE申请的那些事

在上一篇分享《安全小白面试的那些坑》中和大家提到面试的时候可以在简历中附上提交过的原创漏洞如CVE、CNVD编号等信息,以证明自己在漏洞挖掘方面的技术经验和能力。本文将和大家分享申请CVE的方法和技巧。

什么是CVE

对于新手来说申请CVE总是摸不清门道,总觉得像这种国际化的高大上漏洞很难申请到,其实则不然,CVE的全称是“Common Vulnerabilities and Exposures”翻译成中文就是“公共漏洞和披露”可以把它理解成一个被安全从业者认可的漏洞字典,大家可以通过编号在这里查找不同应用或系统的漏洞信息。当然很多安全企业或国家机构也都会引用CVE作为其漏洞库,比如美国国家漏洞数据库(NVD)。

什么是CNA

CNA的全称是“CVE Numbering Authority”中文可以理解为“CVE编号授权机构”顾名思义就是这些CNA有权限分配和管理CVE编号,截止目前为止,共有85个CNA,覆盖14个国家。CNA包括供应商(比如苹果、谷歌等公司)和项目发起机构,漏洞研究人员、国家和行业CERT以及漏洞奖励计划组织。这些CNA可以构建CVE列表,并分配列表中的CVE编号和录入相关信息。

我们应该怎么申请CVE

通过上面的说明,你应该能猜到了,想要申请CVE编号那当然要去找CNA了,因为CVE编号都是CNA创建和维护的嘛。

虽然找到找谁了,但是85个CNA呢,咱们应该找哪个呢?

那要看我们发现的是上面漏洞了,申请CVE大致可以分为3种情况,这3种情况套哥我都尝试并成功过,下面给大家一一讲解下:

第一种:找Participating CNA要CVE编号

第二种:找Primary CNA要CVE编号

第三种:找Distributed Weakness Filing Project CNA要CVE编号

第一种:找Participating CNA要CVE编号

首先来说说这第一种找Participating CNA要CVE编号,Participating CNA的意思就是参与CNA,你可以把他们理解为参与CVE计划的公司或项目发起者,总之就是有产品拿出来让大家挖漏洞的,这些CNA有一个列表在http://cve.mitre.org/cve/request_id.html#cna_participants

CVE申请过程

如上图所示,这个列表主要有4个部分,分别是名称(Product, Vendor, or Product Category Name)、范围(Scope)、联系方式(CNA Contact Email and/or Webpage (if applicable))、CNA类型(CNA Type)。我们关注的主要是范围和联系方式。

CVE申请过程

比如你发现了Adobe产品的漏洞并且在Adobe issues的范围内,那么就可以发送邮件到psirt@adobe.com申请CVE编号,或者访问Adobe公司的安全中心页面https://helpx.adobe.com/security/alertus.html进行反馈。

第二种:找Primary CNA要CVE编号

这个第二种方式是找主CNA要编号,什么是主CNA呢?其实就是MITRE官方,细心的你可以会发现其实MITRE也是在参与CNA里面而且是第一个,区别在于如果你找到的漏洞不在参与CNA那些公司里面,但是漏洞又确实存在,那么就可以找MITRE官方来申请编号。

CVE申请过程

方法很简单通过MITRE CVE Request web form页面进行提交即可,地址是https://cveform.mitre.org/,这个页面还是很友好的,不过是英文的,我们提交漏洞也需要使用英文。在实战章节会给大家详细讲解。

第三种:找Distributed Weakness Filing Project CNA要CVE编号

这个第三种方式翻译过来是“分布式弱点申报项目”,其实主要是指不在参与CNA那些公司里面并且是开源软件或系统的漏洞,可以通过这种方式提交,可以看到联系方式有3种,第一个是邮箱、第二个是页面、第三个是github地址。

CVE申请过程

比如你在github上发现某个开源项目存在漏洞,就可以通过发邮件给cve-assign@distributedweaknessfiling.org或者通过https://iwantacve.org/页面表单提交或者访问DWF GitHub page页面提交。当然你会发现访问https://iwantacve.org/是需要*的。

而且。这种方式审批极慢!!!这种方式审批极慢!!!这种方式审批极慢!!!

那正确快捷的方法是上面呢?当然是选择前两种方法啦,其实细心的你也会发现,通过前两种方法可以完全覆盖所有的漏洞,简单来说“第一种呢是列表里的厂家的漏洞,第二种呢是除了第一种以外的所有漏洞”。下面实战讲解下具体申请流程吧,套路是“找开源CMS漏洞,用第二种方法申请CVE编号!”

实战获取CVE编号

思路:

1、在github上寻找目标找漏洞

2、在github上提交Issues

3、通过https://cveform.mitre.org/提交

下面就具体实战演示。首先在github上用关键字cms进行搜索,然后找你熟悉的编程语言(套哥我喜欢php)然后找一个看上去不那么复杂的cms作为目标。

CVE申请过程

套哥找的是一个叫“五指CMS”的php开源项目,看这个cms官网上介绍还说的是“高性能、强安全”……

确定目标后下载程序、搭建环境、上扫描器、代码审计……你们的方法肯定比我多,毕竟套哥我已经老了,跟不上现在的圈子了^_^!!!

很简单,在后台发现两个csrf,可以通过2步添加管理员,第一步csrf添加一个普通用户并激活,第二步csrf把添加的普通用户提升为管理员。你们是不是觉得没营养,其实也不完全没营养,这里面遇到一个问题,就是post包的data里有一个"submit=提交",这个在构造自动提交form的html页面时是与提交js中的"submit()"重名的,导致js中的"submit()"不会执行,开始的时候想着直接去掉这个参数应该不会有影响,但是提交后回显“参数错误”。网上百度了不少也没找到好的方法,最后群里问了下大表哥找到了方法。把这个"submit=提交"放到URL里,其他数据放在post的data里。结果当然OK啦。csrf的poc如下:

CVE申请过程

CVE申请过程

效果如下:

CVE申请过程


漏洞找到了,第二步就是到github上提交Issues。没有github账号的小伙伴请自行申请,套哥也没有github的账号,于是发大表哥帮忙提交到了wuzhicms的官方Issues,地址如下:

https://github.com/wuzhicms/wuzhicms/issues/128

把漏洞和触发条件说清楚即可,因为要提交CVE就让大表哥用英文写的Issues。

准备工作基本完毕,下面是第三步提交到mitre官方平台,页面在https://cveform.mitre.org/,按照下图填写:

CVE申请过程

CVE申请过程

CVE申请过程

填好后,填写验证码提交即可。提交后一般马上会收到官方的确认邮件。大概意思就是感谢你提交漏洞,将有CVE团队成员进行审核,如要更改、添加信息可以直接回复邮件,不要更改邮件标题等等。

CVE申请过程

可以不用理会,一般过1-2天就会有审核的结果邮件,邮件里会有你提交漏洞的信息和分配的编号。

CVE申请过程

到这里基本就已经申请完成了,漏洞将在24小时内发布到CVE官网,可以通过https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9926访问

CVE申请过程
转载至https://www.freebuf.com/news/168362.html

上一篇:中间件漏洞


下一篇:CVE-2020-26945 mybatis二级缓存反序列化的分析与复现