XSS (Cross-Site Scripting) dans github.com/grafana/grafana (CVE-2023-1410)
Résumé
XSS dans github.com/grafana/grafana (CVE-2023-1410). Des informations confidentielles peuvent être exposées. Exploitable via Functions. Atténuation : mise à jour vers 9.2.15 ou plus.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Summary
When a Graphite data source is added, one can use this data source in a dashboard. This contains a feature to use Functions. Once a function is selected, a small tooltip will be shown when hovering over the name of the function. This tooltip will allow you to delete the selected Function from your query or show the Function Description. However, no sanitization is done when adding this description to the DOM. Since it is not uncommon to connect to public data sources, and attacker could host a Graphite instance with modified Function Descriptions containing XSS payloads. When the victim uses it in a query and accidentally hovers over the Function Description, an attacker controlled XSS payload will be executed. This can be used to add the attacker as an Admin for example.
Details
- Spin up your own Graphite instance. I've done this using the
make devenv sources=graphite. - Now start a terminal for your Graphite container and modify the following file
/opt/graphite/webapp/graphite/render/functions.py - Basically you can pick any function but I picked the
aggregateSeriesListsfunction. Modify its description to be">
The result would look like this:
def aggregateSeriesLists(requestContext, seriesListFirstPos, seriesListSecondPos, func, xFilesFactor=None):
"""…
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Résumé généré automatiquement
Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.
Une vulnérabilité référencée CVE-2023-1410 a été découverte dans github.com/grafana/grafana.
Des attaquants peuvent cibler un point d'entrée spécifique comme Functions à distance pour détourner le produit.
Des informations confidentielles peuvent être exposées.
Action : mettez à jour github.com/grafana/grafana vers 9.2.15 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « github.com/grafana/grafana CVE-2023-1410 » sur le site de l'éditeur.
CVE-2023-1410 (github.com/grafana/grafana) — CWE-79
Vecteur d'attaque : distant (réseau)
Surface d'attaque : Functions / aggregateSeriesLists / Explore
Correctif : 9.2.15 — appliquer immédiatement
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.
Une XSS (CWE-79) affecte github.com/grafana/grafana. Les attaquants atteignent le code vulnérable via Functions.
Consultez l'avis de l'éditeur pour les versions affectées de github.com/grafana/grafana. Surface d'attaque : Functions / aggregateSeriesLists / Explore.
Gravité : ?. Des informations confidentielles peuvent être exposées.
Mettre à jour vers 9.2.15.
En attendant le correctif : désactivez la fonctionnalité concernée, appliquez des règles WAF, ou restreignez l'accès par ACL réseau.
Recherchez dans les logs des requêtes correspondant aux IOC connus de cette CVE. Auditez les SBOM/dépendances.
Actions de réponse
Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre
-
1Identify exposure identify
grep -r 'github.com/grafana/grafana' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
github.com/grafana/grafanaを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade github.com/grafana/grafana to 9.2.15ステージング環境で 9.2.15 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Paquets affectés
Références
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web grafana.com