Skip to content

Commit

Permalink
Create rule S7161: Tableau secrets should not be disclosed (#4497)
Browse files Browse the repository at this point in the history
* Create rule S7161

* Add text

* Apply suggestions from code review

Co-authored-by: Jamie Anderson <[email protected]>

---------

Co-authored-by: loris-s-sonarsource <[email protected]>
Co-authored-by: Loris Sierra <[email protected]>
Co-authored-by: Loris S. <[email protected]>
Co-authored-by: Jamie Anderson <[email protected]>
  • Loading branch information
5 people authored Nov 15, 2024
1 parent 21cc340 commit 8d1152d
Show file tree
Hide file tree
Showing 5 changed files with 119 additions and 5 deletions.
8 changes: 3 additions & 5 deletions rules/S6762/secrets/rule.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 2 additions & 0 deletions rules/S7161/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
}
56 changes: 56 additions & 0 deletions rules/S7161/secrets/metadata.json
Original file line number Diff line number Diff line change
@@ -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"
}
46 changes: 46 additions & 0 deletions rules/S7161/secrets/rule.adoc
Original file line number Diff line number Diff line change
@@ -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[]

12 changes: 12 additions & 0 deletions shared_content/secrets/impact/dataviz_takeover.adoc
Original file line number Diff line number Diff line change
@@ -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.

0 comments on commit 8d1152d

Please sign in to comment.