From 8d1152d4500f0b984b851ad0bd8b3998c8ad9575 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 16:56:28 +0100 Subject: [PATCH] Create rule S7161: Tableau secrets should not be disclosed (#4497) * Create rule S7161 * Add text * Apply suggestions from code review Co-authored-by: Jamie Anderson <127742609+jamie-anderson-sonarsource@users.noreply.github.com> --------- Co-authored-by: loris-s-sonarsource Co-authored-by: Loris Sierra Co-authored-by: Loris S. <91723853+loris-s-sonarsource@users.noreply.github.com> Co-authored-by: Jamie Anderson <127742609+jamie-anderson-sonarsource@users.noreply.github.com> --- rules/S6762/secrets/rule.adoc | 8 +-- rules/S7161/metadata.json | 2 + rules/S7161/secrets/metadata.json | 56 +++++++++++++++++++ rules/S7161/secrets/rule.adoc | 46 +++++++++++++++ .../secrets/impact/dataviz_takeover.adoc | 12 ++++ 5 files changed, 119 insertions(+), 5 deletions(-) create mode 100644 rules/S7161/metadata.json create mode 100644 rules/S7161/secrets/metadata.json create mode 100644 rules/S7161/secrets/rule.adoc create mode 100644 shared_content/secrets/impact/dataviz_takeover.adoc diff --git a/rules/S6762/secrets/rule.adoc b/rules/S6762/secrets/rule.adoc index eace6babd21..f19db1d306e 100644 --- a/rules/S6762/secrets/rule.adoc +++ b/rules/S6762/secrets/rule.adoc @@ -10,13 +10,11 @@ If an attacker gains access to a Grafana personal access token or Granafa Cloud Depending on the permissions given to the secret, the impact might range from the compromise of the data of some dashboards to a full takeover of the Grafana environment. -include::../../../shared_content/secrets/impact/data_compromise.adoc[] - -==== Application takeover +:service_name: Grafana -With control over the Grafana application, the attacker can modify dashboards, alter data sources, or inject malicious code. This can result in the manipulation of displayed data, misleading visualizations, or even the introduction of backdoors for further exploitation. +include::../../../shared_content/secrets/impact/data_compromise.adoc[] -The attacker may even attempt to escalate their privileges within the Grafana environment. By gaining administrative access or higher-level permissions, they can perform more significant actions, such as modifying access controls, adding or deleting users, or changing system configurations. +include::../../../shared_content/secrets/impact/dataviz_takeover.adoc[] == How to fix it diff --git a/rules/S7161/metadata.json b/rules/S7161/metadata.json new file mode 100644 index 00000000000..2c63c085104 --- /dev/null +++ b/rules/S7161/metadata.json @@ -0,0 +1,2 @@ +{ +} diff --git a/rules/S7161/secrets/metadata.json b/rules/S7161/secrets/metadata.json new file mode 100644 index 00000000000..3b6e609727c --- /dev/null +++ b/rules/S7161/secrets/metadata.json @@ -0,0 +1,56 @@ +{ + "title": "Tableau secrets should not be disclosed", + "type": "VULNERABILITY", + "code": { + "impacts": { + "SECURITY": "HIGH" + }, + "attribute": "TRUSTWORTHY" + }, + "status": "ready", + "remediation": { + "func": "Constant\/Issue", + "constantCost": "30min" + }, + "tags": [ + "cwe", + "cert" + ], + "defaultSeverity": "Blocker", + "ruleSpecification": "RSPEC-7161", + "sqKey": "S7161", + "scope": "All", + "securityStandards": { + "CWE": [ + 798, + 259 + ], + "OWASP": [ + "A3" + ], + "CERT": [ + "MSC03-J." + ], + "OWASP Top 10 2021": [ + "A7" + ], + "PCI DSS 3.2": [ + "6.5.10" + ], + "PCI DSS 4.0": [ + "6.2.4" + ], + "ASVS 4.0": [ + "2.10.4", + "3.5.2", + "6.4.1" + ], + "STIG ASD_V5R3": [ + "V-222642" + ] + }, + "defaultQualityProfiles": [ + "Sonar way" + ], + "quickfix": "unknown" +} diff --git a/rules/S7161/secrets/rule.adoc b/rules/S7161/secrets/rule.adoc new file mode 100644 index 00000000000..f525725c372 --- /dev/null +++ b/rules/S7161/secrets/rule.adoc @@ -0,0 +1,46 @@ + +include::../../../shared_content/secrets/description.adoc[] + +== Why is this an issue? + +include::../../../shared_content/secrets/rationale.adoc[] + +=== What is the potential impact? + +Tableau secrets scopes depend on the type of secret. From the most impactful to +the least: + +1. Account passwords +2. Personal access tokens (PAT) +3. "Credentials token", received after a SignIn request + +Their scopes vary in terms of lifetime, access, and privileges. + +Below are some real-world scenarios that illustrate some impacts of an attacker +exploiting the secret. + +:secret_type: secret +:service_name: Tableau + +include::../../../shared_content/secrets/impact/data_compromise.adoc[] + +include::../../../shared_content/secrets/impact/dataviz_takeover.adoc[] + +== How to fix it + +include::../../../shared_content/secrets/fix/revoke.adoc[] + +include::../../../shared_content/secrets/fix/vault.adoc[] + +=== Code examples + +:example_secret: FMWBZfscS96flnAPXVY06w|QQsOzThG6hqNvZcd6OPIpZs88lgcYTcb|77bfee95-c689-4fd1-a7e0-2cf050adbbb2 +:example_name: tableau-auth +:example_env: TABLEAU_AUTH + +include::../../../shared_content/secrets/examples.adoc[] + +== Resources + +include::../../../shared_content/secrets/resources/standards.adoc[] + diff --git a/shared_content/secrets/impact/dataviz_takeover.adoc b/shared_content/secrets/impact/dataviz_takeover.adoc new file mode 100644 index 00000000000..deb4efcf309 --- /dev/null +++ b/shared_content/secrets/impact/dataviz_takeover.adoc @@ -0,0 +1,12 @@ +==== Data visualization corruption and takeover + +With control over the {service_name} application, the attacker can modify +dashboards, alter data sources, or inject malicious code. This can result in the +manipulation of displayed data, misleading visualizations, or even the +introduction of backdoors for further exploitation. + +The attacker may even attempt to escalate their privileges within the +{service_name} environment. By gaining administrative access or higher-level +permissions, they can perform more significant actions, such as modifying access +controls, adding or deleting users, or changing system configurations. +