104 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Security Policy
 | 
						|
 | 
						|
This document provides an overview of security concerns related to nginx
 | 
						|
deployments, focusing on confidentiality, integrity, availability, and the
 | 
						|
implications of configurations and misconfigurations.
 | 
						|
 | 
						|
## Reporting a Vulnerability
 | 
						|
 | 
						|
Please report any vulnerabilities via one of the following methods
 | 
						|
(in order of preference):
 | 
						|
 | 
						|
1. [Report a vulnerability](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability)
 | 
						|
within this repository. We are using the GitHub workflow that allows us to
 | 
						|
manage vulnerabilities in a private manner and interact with reporters
 | 
						|
securely.
 | 
						|
 | 
						|
2. [Report directly to F5](https://www.f5.com/services/support/report-a-vulnerability).
 | 
						|
 | 
						|
3. Report via email to security-alert@nginx.org.
 | 
						|
This method will be deprecated in the future.
 | 
						|
 | 
						|
### Vulnerability Disclosure and Fix Process
 | 
						|
 | 
						|
The nginx team expects that all suspected vulnerabilities be reported
 | 
						|
privately via the
 | 
						|
[Reporting a Vulnerability](SECURITY.md#reporting-a-vulnerability) guidelines.
 | 
						|
If a publicly released vulnerability is reported, we
 | 
						|
may request to handle it according to the private disclosure process.
 | 
						|
If the reporter agrees, we will follow the private disclosure process.
 | 
						|
 | 
						|
Security fixes will be applied to all supported stable releases, as well
 | 
						|
as the mainline version, as applicable. We recommend using the most recent
 | 
						|
mainline or stable release of nginx. Fixes are created and tested by the core
 | 
						|
team using a GitHub private fork for security. If necessary, the reporter
 | 
						|
may be invited to contribute to the fork and assist with the solution.
 | 
						|
 | 
						|
The nginx team is committed to responsible information disclosure with
 | 
						|
sufficient detail, such as the CVSS score and vector. Privately disclosed
 | 
						|
vulnerabilities are embargoed by default until the fix is released.
 | 
						|
Communications and fixes remain private until made public. As nginx is
 | 
						|
supported by F5, we generally follow the
 | 
						|
[F5 security vulnerability response policy](https://my.f5.com/manage/s/article/K4602).
 | 
						|
 | 
						|
### Vulnerability Disclosure and Fix Service Level Objectives
 | 
						|
 | 
						|
- We will acknowledge all vulnerability reports within 1 to 3 days.
 | 
						|
- Fixes will be developed and released within 90 days from the date of
 | 
						|
disclosure. If an extension is needed, we will work with the disclosing person.
 | 
						|
- Publicly disclosed (i.e., Zero-Day vulnerabilities) will be addressed ASAP.
 | 
						|
 | 
						|
## Confidentiality, Integrity, and Availability
 | 
						|
 | 
						|
### Confidentiality and Integrity
 | 
						|
 | 
						|
Vulnerabilities compromising data confidentiality or integrity are considered
 | 
						|
the highest priority. Any issue leading to unauthorized data access, leaks, or
 | 
						|
manipulation will trigger the security release process.
 | 
						|
 | 
						|
### Availability
 | 
						|
 | 
						|
Availability issues must meet the following criteria to trigger the security
 | 
						|
release process:
 | 
						|
- Is present in a standard module included with nginx.
 | 
						|
- Arises from traffic that the module is designed to handle.
 | 
						|
- Resource exhaustion issues are not mitigated by existing timeout, rate
 | 
						|
limiting, or buffer size configurations, or applying changes is impractical.
 | 
						|
- Results in highly asymmetric, extreme resource consumption.
 | 
						|
 | 
						|
Availability issues excluded from the security release process:
 | 
						|
- Local file content or upstream response content resulting only in worker
 | 
						|
process termination.
 | 
						|
- Issues with experimental features which result only in availability impact.
 | 
						|
 | 
						|
## Trusted Configurations and Misconfigurations
 | 
						|
 | 
						|
In nginx, configuration files, modules, certificate/key pairs, nginx JavaScript,
 | 
						|
and local file content are considered trusted sources. Issues arising from
 | 
						|
loading or execution of these trusted components are not considered
 | 
						|
vulnerabilities. Operators are responsible for securing and maintaining the
 | 
						|
integrity of these sources. Misconfigurations can create vulnerabilities, and
 | 
						|
operators should implement configurations according to best practices, review
 | 
						|
them regularly, and apply security updates.
 | 
						|
 | 
						|
## Data Plane vs. Control Plane
 | 
						|
 | 
						|
The data plane handles traffic through nginx, directly interacting with user
 | 
						|
data. nginx inherently trusts the content and instructions from upstream
 | 
						|
servers. The control plane governs configuration, management, and orchestration.
 | 
						|
Misconfigurations or vulnerabilities in the control plane can cause improper
 | 
						|
behavior in the data plane.
 | 
						|
 | 
						|
## Modules Under Scope
 | 
						|
 | 
						|
The policy applies to all nginx modules included in this repository. Security
 | 
						|
considerations and attack vectors for each module will be identified, with
 | 
						|
recommended configurations to mitigate risks.
 | 
						|
 | 
						|
## Debug Logging and Core Files
 | 
						|
 | 
						|
Debug logs and core files produced by nginx may contain un-sanitized data,
 | 
						|
including sensitive information like client requests, server configurations,
 | 
						|
and private key material. These artifacts must be handled carefully to avoid
 | 
						|
exposing confidential data.
 |