diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 086ff8c0cad..9c8c68874c3 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -18,10 +18,32 @@ e-mail address [security@superset.apache.org](mailto:security@superset.apache.or More details can be found on the ASF website at [ASF vulnerability reporting process](https://apache.org/security/#reporting-a-vulnerability) -We kindly ask you to include the following information in your report: -- Apache Superset version that you are using -- A sanitized copy of your `superset_config.py` file or any config overrides -- Detailed steps to reproduce the vulnerability +**Submission Standards & AI Policy** + +To ensure engineering focus remains on verified risks and to manage high reporting volumes, all reports must meet the following criteria: +- Plain Text Format: In accordance with Apache guidelines, please provide all details in plain text within the email body. Avoid sending PDFs, Word documents, or password-protected archives. +- Mandatory AI Disclosure: If you utilized Large Language Models (LLMs) or AI tools to identify a flaw or assist in writing a report, you must disclose this in your submission so our triage team can contextualize the findings. +- Human-Verified PoC: All submissions must include a manual, step-by-step Proof of Concept (PoC) performed on a supported release. Raw AI outputs, hypothetical chat transcripts, or unverified scanner logs will be closed as Invalid. + +We kindly ask you to include the following information in your report to assist our developers in triaging and remediating issues efficiently: +- Version/Commit: The specific version of Apache Superset or the Git commit hash you are using. +- Configuration: A sanitized copy of your `superset_config.py` file or any config overrides. +- Environment: Your deployment method (e.g., Docker Compose, Helm, or source) and relevant OS/Browser details. +- Impacted Component: Identification of the affected area (e.g., Python backend, React frontend, or a specific database connector). +- Expected vs. Actual Behavior: A clear description of the intended system behavior versus the observed vulnerability. +- Detailed Reproduction Steps: Clear, manual steps to reproduce the vulnerability. + +**Out of Scope Vulnerabilities** + +To prioritize engineering efforts on genuine architectural risks, the following scenarios are explicitly out of scope and will not be issued a CVE: +- Attacks requiring Admin privileges: (e.g., CSS injection, template manipulation, dashboard ownership overrides, or modifying global system settings). Per the CVE vulnerability definition in CNA Operational Rules 4.1, a qualifying vulnerability must allow violation of a security policy. The Admin role is a fully trusted operational boundary defined by Apache Superset's security policy; actions within this boundary do not violate that policy and are therefore considered intended capabilities 'by design,' not vulnerabilities. +- Brute Force and Rate Limiting: Reports targeting a lack of resource exhaustion protections, generic rate-limiting, or volumetric Denial of Service (DoS) attempts. +- Theoretical attack vectors: Issues without a demonstrable, reproducible exploit path. +- Non-Exploitable Findings: Missing security headers, generic banner disclosures, or descriptive error messages that do not lead to a direct, documented exploit. + +**Outcome of Reports** + +Reports that are deemed out-of-scope for a CVE but represent valid security best practices or hardening opportunities may be converted into public GitHub issues. This allows the community to contribute to the general hardening of the platform even when a specific vulnerability threshold is not met. Note that Apache Superset is not responsible for any third-party dependencies that may have security issues. Any vulnerabilities found in third-party dependencies should be @@ -29,6 +51,13 @@ reported to the maintainers of those projects. Results from security scans of Ap Superset dependencies found on its official Docker image can be remediated at release time by extending the image itself. +**Vulnerability Aggregation & CVE Attribution** + +In accordance with MITRE CNA Operational Rules (4.1.10, 4.1.11, and 4.2.13), Apache Superset issues CVEs based on the underlying architectural root cause rather than the number of affected endpoints or exploit payloads. +- Aggregation: If multiple exploit vectors stem from the same programmatic failure or shared vulnerable code, they must be aggregated into a single, comprehensive report. +- Independent Fixes: Separate CVEs will only be assigned if the vulnerabilities reside in decoupled architectural modules and can be fixed independently of one another. +Reports that fail to aggregate related findings will be merged during triage to ensure an accurate and defensible CVE record. + **Your responsible disclosure and collaboration are invaluable.** ## Extra Information diff --git a/docs/admin_docs/security/security.mdx b/docs/admin_docs/security/security.mdx index cc68b1241b9..867e3f87986 100644 --- a/docs/admin_docs/security/security.mdx +++ b/docs/admin_docs/security/security.mdx @@ -24,6 +24,14 @@ A table with the permissions for these roles can be found at [/RESOURCES/STANDAR Admins have all possible rights, including granting or revoking rights from other users and altering other people’s slices and dashboards. +>#### Threat Model and Privilege Boundaries: The Admin Role +> +>Apache Superset is built with a granular permission model where users assigned the Admin role are considered fully trusted. Admins possess complete control over the application's configuration, UI rendering, and access controls. +> +>Consequently, actions performed by an Admin that alter the application's behavior or presentation—such as injecting custom CSS, modifying Jinja templates, or altering security flags—are intended administrative capabilities by design. +> +>In accordance with MITRE CNA Rule 4.1, a vulnerability must represent a violation of an explicit security policy. Because the Admin role is defined as a trusted operational boundary, actions executed with Admin privileges do not cross a security perimeter. Therefore, exploit vectors that strictly require Admin access are not classified as security vulnerabilities and are ineligible for CVE assignment. + ### Alpha Alpha users have access to all data sources, but they cannot grant or revoke access