写在前面
接上文 「从虚假的XSS到放弃RCE再到Self-RCE」提到的,这次讲一讲我代发现漏洞的白帽子(cc7v@校长) 申请 CVE ID 的过程。
申请CVE的方式其实挺多的,邮件、Web表单、CNA等等,具体可以去查看 CVE 网站的说明。AntSword 整个软件生态都是托管在 GitHub 上的,刚好 GitHub 是 CVE 的 CNA,我们直接用 GitHub 上面的安全面板,就可以申请 CVE 了。
不过有一说一,官方代替白帽子去申请CVE,速度确实挺快的
正文
第 1 步,创建安全公告草稿
在仓库的 Security 选项卡下面,选择 Security Advisories (安全建议),然后点击「New draft security advisory」 (创建安全建议草稿)
第 2 步,按照表单填写信息
需要注意的是,漏洞等级这块,可以用 低/中/高/严重,也可以使用 CVSS 来打分:
CWE ID 这块,意思就是你要选个漏洞分类,这个你按CWE的标准去找就完事了
CVE identifier 这个选项里,如果选择 「Request CVE ID later」意思就是一会儿申请CVE ID
填写完了保存,我们进行下一步
第三步,编辑「安全建议」
有细心的同学就发现了,CVE申请的时候,是需要填「漏洞发现人」的,第2步的时候貌似没有?莫急,我们点「Edit advisory」按钮
又回到第 2 步的表格了,但是多了一个 「Credits」项,在这一项里,我们就可以选择在这个漏洞生命周期里做出贡献的白帽子了。
当然,因为我们是用 GitHub 来管理漏洞的,这里只能选择已经在 GitHub 上注册的用户
之后我们保存
第 4 步,申请分配 CVE / 发布安全公告
保存完之后,可以看到安全公告草稿下方有个绿色的按钮,这里可以有两个选择
1. 「Request CVE」,申请CVE。选了这个之后,GitHub 的工作人员会在 72 小时内审核,审核通过之后,会预分配一个 CVE编号给你。
为什么是预分配,这是因为CVE要求的每一个CVE编号****必须要能找到对应的厂商针对这个漏洞公开发布的信息,我们的安全公告现在还是草稿,除了相关人员能看到,其它人是看不到的,所以此时去搜索这个CVE编号的时候,状态是 「RESERVED」,等安全公告发布之后,这个CVE就会更改为公开状态了。
2. 「Publish advisory」,发布安全公告。没啥说的,就是字面意思。点阅读原文可以跳转到公告页面
之后我们就只需要等待 GitHub 官方去更新 CVE 编号的状态就行了。
文章写的时候是周末,大家都不上班,所以最后的 CVE 公开之后的图,我就不补了,过几天了有兴趣了再去搜一下。
写在最后
有个坑点需要说一下,申请CVE的GitHub仓库,必须是原始仓库。一开始我是用 AntSword-Store/AS_Redis 这个仓库去申请的,结果被驳回了,理由是不是官方仓库
后来我以为是因为我软件生态填的是 AntSword,所以要去 AntSword 下申请。然后他告诉我,你不是官方仓库,所以不行。喵?喵?喵?
最后想明白了,AntSword-Store 的仓库是 Fork 过来的,得去最原始的仓库申请
最后,感谢大家的努力,让AntSword生态更加安全。发现漏洞请联系开发团队 :)
吐槽两句: 插件也能申请 CVE 这是我都没想到的,不过WordPress的插件能申请CVE,AntSword 的插件申请CVE好像也没什么不对的?
不如关注一波再走?