This is a Controlled Document
Inline with GitLab's regulatory obligations, changes to controlled documents must be approved or merged by a code owner. All contributions are welcome and encouraged.
Please read this procedure in its entirety and reach out to @dedicated_compliance
in # sec-assurance
channel if you have any questions.
In accordance with expectations set by the FedRAMP Authorization Act and FedRAMP Program Management Office (PMO), GitLab must follow a formal process to track and request approval (risk acceptance) from our sponsoring Agency Authorizing Official (AO) for any vulnerabilities that cannot be remediated within SLAs due to scenarios described in the Scope section below. These are called vulnerability Deviation Requests (DRs) and are formally reported to our AO every month using GitLab's Plan of Action & Milestones (POA&M) (internal only). Deviation requests for risk adjustments (severity downgrades), false positives, and operational requirements require Authorizing Official (AO) approval.
All vulnerabilities (CVEs) impactful to the FedRAMP production environment (authorization boundary), including 3rd party vulnerabilities (vendor dependencies), in the following categories:
See DR issue template definitions below.
Only the assets and scan types listed here are in-scope. Do not submit a DR for a scan type (e.g. SAST) or asset not included within the production authorization boundary.
Vulnerabilities in-scope for FedRAMP get the FedRAMP::Vulnerability
label applied. See AppSec's FedRAMP Vulnerability Scanning and Triage Process for more details, as well as standard vulnerability labels.
Role | Responsibility |
---|---|
GitLab Team Members | Submit the completed DR using the appropriate GitLab issue template, provide evidence |
Security (Vulnerability Management) | Complete technical review and approval of DR |
ISSO (Dedicated Compliance) | Complete compliance review of DR and upgrade to POA&M if approved |
Authorizing official (AO) | Approve or deny DR (ultimate decision maker) |
Anyone at GitLab can submit a deviation request (DR) via a GitLab issue in this private project. DRs must be submitted in a timely manner and should never be used as a method to avoid late SLAs. All DRs are reviewed and approved by security, compliance, and our AO and they must meet the definitions and critieria defined within the issue templates.
To open a DR the applicable issue template must be selected and all information must be completed prior to submitting the issue for internal review. Each DR will undergo three rounds of review:
If denied, a remediation plan must be developed and this item will remain on the POA&M.
If approved, the ISSO will notify all involved parties via the GitLab issue with any additional instructions (like updating scanners).
The following definitions were adopted from the FedRAMP PMO and all 3 have issue templates for submitting DR requests:
Vulnerability::Vendor Package::Fix Unavailable
presents, from a compliance/reporting perspective that is okay as long as we are monitoring for when a fix does eventually become available.Vulnerability::Vendor Base Container::Fix Unavailable
label on the vulnerability issues until this is automated.Vendor Dependency vulnerabilities, in which GitLab is dependent on a 3rd party vendor or open source project to remediate a vulnerability, can technically fall into any of the categories above. These vulnerability issues must always be identifed using the Vulnerability::Vendor Base Container::Fix Unavailable
label (or Vulnerability::Vendor Package::Fix Unavailable
if not part of a container base image). Special handling is required for Critical and High severity vendor dependencies so that risk can be mitigated to an acceptable level.
Step | Description | Label applied to the Vulnerability Issue | Label applied to the Deviation Request Issue |
---|---|---|---|
1 | Discover a deviation request is required for a FedRAMP-applicable vulnerability issue | workflow::verification , FedRAMP::DR Status::Open |
n/a |
2 | Submit a Deviation Request using the appropriate issue template for review by security engineer | label remains unchanged | FedRAMP::DR Status::Ready for review (applied automatically using the issue templates) |
3 | Security (Vulnerability Management team) performs a technical review of the vulnerability and classification/justification provided in the Deviation Request | If approved, label remains unchanged or if denied, FedRAMP::DR Status::Denied |
If approved FedRAMP::DR Status::Compliance review or if denied FedRAMP::DR Status::Denied |
4 | Security Compliance reviews and if approved, tracks vulnerability deviation on POA&M and discusses with Authorizing Official during next monthly meeting | If approved label remains unchanged or if denied FedRAMP::DR Status::Denied |
If approved FedRAMP::DR Status::AO review ; If denied FedRAMP::DR Status::Denied |
5 | Security Compliance seeks Authorizing Official approval during next monthly meeting | If approved FedRAMP::DR Status::Approved ; If denied FedRAMP::DR Status::Denied |
If approved FedRAMP::DR Status::Approved ; If denied FedRAMP::DR Status::Denied |
6 | The DR may no longer be needed once a patch is made available and applied. | If remediated, close the issue and apply FedRAMP::DR Status::Vuln Remediated |
If remediated, close the issue and apply FedRAMP::DR Status::Vuln Remediated |
Vulnerability Issues should remain open unless the vulnerability has been remediated. This allows Security Compliance to keep track of DRs that still impact the FedRAMP environment.
Multiple CVEs can be grouped in a single DR if all of the following criteria are met:
Deviation requests are often not permanent as patches are eventually made available by vendors or deployed according to risk adjusted SLAs. Patches can also be released in the middle of the DR approval process. If a patch has been released and deployed, please provide evidence in the deviation request issue comments indicating that the vulnerability is fixed in production. Once provided, the issue can be closed. Acceptable evidence can include:
Please note that the patch / fix must be in production in order to close a DR issue, not just scheduled for release.
Once the vulnerability is remediated, apply the label FedRAMP::DR Status::Vuln Remediated
to both the vulnerability issue and the DR issue.
For issues with label Vulnerability::Vendor Package::Will Not Be Fixed
, they shall remain open indefinitely or no longer detected by the scanner. Keeping these issues open is important for providing the SSOT of vulnerabilities that are present.
There are no exceptions allowed to this procedure.