我现在也是github上7k+ star项目的贡献者之一了(滑稽
作为Tsmart-IMChecker小组副组长,我们发现了openssl项目源代码中一些潜在缺陷,打算申请CVEID,在这记录下申请CVEID和给openssl纠错时出现的一些事。
申请CVEID
访问cveform,在1处选择
Request a CVE ID
;在2处填入邮箱;下面的PGP Key是用于加密的,可以不填选择需要申请的ID数目;在3处点选复选框;在4处选择缺陷类型;在5处填写受影响的厂商以及产品版本
选择该缺陷是否已被厂商确认,一般不影响结果;选择攻击类型,一般为Remote;选择影响,我们小组发现的问题一般都是DoS;填写受影响的组件,一般为出错的文件;填写攻击方式,一般为poc,可以不填
填写描述,描述应该尽可能地描述“在哪?什么后果?为什么?”;填写发现者;填写ref,可以放上github issue链接;填写其他信息
填写验证码,提交
至此,申请CVEID的步骤已经结束,提交完表单之后,CVE会对你的申请进行审核,然后给你的邮箱发送一封邮件,里面可能包含修改意见等,如果需要修改,直接回复邮件即可(不要改邮件主题)。
但是CVE官方对我们说,OpenSSL有权发CVEID,叫我们直接跟他们商量,而OpenSSL叫我们提交pull request,也就是帮他们顺手把缺陷给修复了。。。
给OpenSSL发pull request
OpenSSL官网说所有贡献者做出non-trival
的贡献之前要签署一份CLA(Contributor License Agreement)协议,个人贡献者需要签署ICLA协议,将协议写好之后直接将协议发送给legal@opensslfoundation.org,审核通过之后即可对OpenSSL做出贡献。
修改步骤就是一般的pull request步骤
- 发issue(这步在前面申请CVEID的时候已经做过了)
- fork openssl/openssl
- 将代码clone到本地
- 修改
- push
- pull request
有几点需要注意
要遵守openssl的编码规范
修改的commit message需要一定的说明:
12345[path/to/file]: [changes content]more specific descriptionFixes #xxxx
步骤命令:
|
|
(如果需要修改最近一次commit的message,可以用git commit --amend
修改完成后用git push -f
)
提交了pull request之后注意一下reviewer反馈的信息就好了。