Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Security Vulnerability Management Process for SONiC Community #1654

Merged
merged 3 commits into from
May 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# **Security Vulnerability Management Process for SONiC Community**
This document outlines SONiC vulnerability reporting and management process. SONiC is a popular choice of cloud providers, enterprises, telecom providers, web service providers and others to build their digital infrastructure. The security of SONiC is vital for the safety and reliability of our digital transformation. The strong and active cooperation among SONiC community members is key to securing SONiC. This process will be shared through https://github.com/sonic-net/SONiC/SECURITY.md file after TSC approval. The diagram below illustrates the high-level workflow:
![](./images/security-process/security.png)
## 1.Report SONiC Vulnerability
As a SONiC community member, it is your responsibility to report the discovered vulnerabilities before public disclosure. If you want to report a vulnerability, please use the template suggested by SONiC security committee, encrypt your email and privately send it to [email protected]. Only SONiC security committee members can access the information in this security mailing list, and they also watch over this mailing list. When someone reports a new vulnerability, SONiC security committee will assist with the vulnerability assessment, coordinate on the mitigation and fix. If you have a suggested fix or mitigation, please include it in your report. Exploit instruction is very useful and will be kept confidential unless it is already public (published to the CVE® database or other publicly accessible websites and mail lists). SONiC security committee may seek help from SONiC repo maintainers or other domain experts to look into the vulnerability and prepare a mitigation/fix. The collaboration and communication will be private.
We appreciate security researchers and SONiC users that report vulnerabilities to the SONiC Open Source Community. All reports will be investigated thoroughly by the SONiC security committee.
## 2.Vulnerability Disclosure
Once a mitigation/fix is reviewed and approved by SONiC security committee, the vulnerability disclosure process starts.
zhangyanzhao marked this conversation as resolved.
Show resolved Hide resolved
Mitigation/fix for public known vulnerabilities will be released right away once approved by SONiC security committee. Fix/mitigation for non-public vulnerabilities should also come out as soon as possible, but we may postpone them if the reporter or an affected party request so. However, the delay should be no more than 90 days from when a mitigation/fix is ready. The SONiC security committee should create a template for disclosing vulnerability.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depends on the severity, 90 days may be too long for critical CVE, committee should come up with a timeline for each severity

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issues open by security researcher are usually more time sensitive since tey want to publish their findings, so such issue need to prioritized. also need to understand if 90 day is acceptable in such cases ( it may be far shorter like 0/60 days)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issues in open code packages is different than sonic code issues, so i think we need to handle that differently
first such issues may have being fixed in later versions
i think we need to set a policy to work with open code

  1. we need to score any open code package - based on security / frequency of fix / known issues ..
  2. new open code can only used if "security" score is better that a predefine level
  3. as part of sonic release need to update to last stable any open code with security issues

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

regrading security issues with hw , i believe it should be handled by odm , with the exception of kernel related fixed that apply to Debian

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one additional note is that on optional feature possible mitigation an be to disable the functionality

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depends on the severity, 90 days may be too long for critical CVE, committee should come up with a timeline for each severity

The 90 days is the longest waiting time from when a mitigation/fix is ready to provide enough buffer to patch their system whoever is concerned. Committee can further refine that timeline based on severity.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issues in open code packages is different than sonic code issues, so i think we need to handle that differently first such issues may have being fixed in later versions i think we need to set a policy to work with open code

  1. we need to score any open code package - based on security / frequency of fix / known issues ..
  2. new open code can only used if "security" score is better that a predefine level
  3. as part of sonic release need to update to last stable any open code with security issues

@marvellgit can you please elaborate a bit on "open code packages"? I do not quite understand your comments.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

like frr or other linux project we use in sonic

zhangyanzhao marked this conversation as resolved.
Show resolved Hide resolved
The vulnerability and fix will be published to [email protected] and [email protected] mailing list and a dedicated wiki page hosted in [https://github.com/sonic-net/SONiC](https://github.com/sonic-net/SONiC) repo.
Our focus is on getting vulnerability mitigated as soon as possible. All other information submitted to the security list and any follow-up discussions of the report are treated confidentially even after the embargo has been lifted, in perpetuity.

## 3.SONiC Security Committee
The SONiC security committee is the group that can view the reported vulnerability information, assign investigators for the vulnerability, coordinate the mitigation/fix preparation and approve the final mitigation/fix. The security committee also defines the SONiC security strategy.
Each TSC member can nominate a representative to initiate the security committee. Subsequent requests to join the security committee require review and approval by existing members. If a company loses their TSC membership, its representative should also be removed from the security committee. The security committee has a chairman and nominated by the TSC chair. The chairman will coordinate the vulnerability triage, mitigation preparation and security strategy documentation.
The security committee meets regularly to discuss the current security status of SONiC, review any pending vulnerabilities, and plan for future security improvements. The security committee reports to the TSC on a quarterly basis, the details of undisclosed vulnerability will not be reported.
## 4.CVE Assignment
SONiC security committee does not issue CVEs. Reporters should figure out their own way to issue CVE, but the CVE should not be made public before the SONiC security committee discloses the vulnerability. However, SONiC security committee will not postpone a patch update to wait for a CVE published.

Binary file added images/security-process/security.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.