etcd is a growing community of volunteers, users, and vendors. The etcd community has adopted this security disclosures and response policy to ensure we responsibly handle critical issues.
Security vulnerabilities should be handled quickly and sometimes privately. The primary goal of this process is to reduce the total time users are vulnerable to publicly known exploits.
The PSC is responsible for organizing the entire response including internal communication and external disclosure but will need help from relevant developers and release leads to successfully run this process.
The initial PSC will consist of volunteers who have been involved in the initial discussion:
<bphilips@redhat.com>
[4096R/154343260542DF34]<spzala@us.ibm.com>
The PSC members will share various tasks as listed below:
Contact the team by sending email to security@etcd.io
The PSC should be consist of 2-4 members. New potential members to the PSC can express their interest to the PSC members. These individuals can be nominated by PSC members or etcd maintainers.
If representation changes due to job shifts then PSC members are encouraged to grow the team or replace themselves through mentoring new members.
Selection of new members will be done by lazy consensus amongst members for adding new people with fallback on majority vote.
Members may step down at any time and propose a replacement from existing active contributors of etcd.
The etcd Community asks that all suspected vulnerabilities be privately and responsibly disclosed as explained in the README.
If anyone knows of a publicly disclosed security vulnerability please IMMEDIATELY email security@etcd.io to inform the PSC about the vulnerability so they may start the patch, release, and communication process.
If possible the PSC will ask the person making the public report if the issue can be handled via a private disclosure process. If the reporter denies the PSC will move swiftly with the fix and release process. In extreme cases GitHub can be asked to delete the issue but this generally isn't necessary and is unlikely to make a public disclosure less damaging.
For each vulnerability, the PSC members will coordinate to create the fix and release, and sending email to the rest of the community.
All of the timelines below are suggestions and assume a Private Disclosure. The PSC drives the schedule using their best judgment based on severity, development time, and release work. If the PSC is dealing with a Public Disclosure all timelines become ASAP. If the fix relies on another upstream project's disclosure timeline, that will adjust the process as well. We will work with the upstream project to fit their timeline and best protect etcd users.
These steps should be completed within the first 24 hours of Disclosure.
These steps should be completed within the 1-7 days of Disclosure.
If the CVSS score is under ~4.0 (a low severity score) or the assessed risk is low the Fix Team can decide to slow the release process down in the face of holidays, developer bandwidth, etc.
Note: CVSS is convenient but imperfect. Ultimately, the PSC has discretion on classifying the severity of a vulnerability.
The severity of the bug and related handling decisions must be discussed on the security@etcd.io mailing list.
With the Fix Development underway, the PSC needs to come up with an overall communication plan for the wider community. This Disclosure process should begin after the Fix Team has developed a Fix or mitigation so that a realistic timeline can be communicated to users.
Fix Release Day (Completed within 1-21 days of Disclosure)
lgtm
and approve
.These steps should be completed 1-3 days after the Release Date. The retrospective process should be blameless.