Traversée de chemin dans shiny (CVE-2026-108258)
Résumé
Traversée de chemin dans shiny (CVE-2026-108258). Risque d'opérations non autorisées ou de divulgation. Exploitable via _state_id_. Atténuation : mise à jour vers 1.6.4 ou plus.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Impact
Shiny for Python's bookmark-restore path accepted a client-supplied _state_id_
query-string value and joined it into the server-side bookmark directory
(/shiny_bookmarks/) without validating it. A value containing ..
path segments, or an absolute path, could therefore cause the server to open and
parse input.json and values.json from a directory outside the bookmark store.
On a default application the restore was attempted whenever the client supplied a
URL query string — including when bookmarking was disabled
(bookmark_store="disable") — so no opt-in configuration was required. For such
applications the impact is an unauthenticated, server-side probe for the
existence and JSON-validity of attacker-chosen paths, constrained to those two
file names.
Applications configured with bookmark_store="server" and using
ui.input_file() are affected more seriously. The file-input restore handler
copies files out of the restore directory, so the contents of an
attacker-selected file name within an attacker-selected directory could be read
into the application.
Affected versions
1.4.0 through 1.6.3. Bookmarking was introduced in 1.4.0; earlier releases do
not contain the affected code path and are not affected.
Patches
Fixed in 1.6.4. Upgrade with:
pip install --upgrade shiny
The fix validates bookmark IDs against an allowlist — a single path segment
matching [A-Za-z0-9_-]+, which cannot express a path separator, a .. parent…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
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-2026-108258 a été découverte dans shiny.
Des attaquants peuvent cibler un point d'entrée spécifique comme _state_id_ à distance pour détourner le produit.
Risque d'opérations non autorisées ou de divulgation.
Action : mettez à jour shiny vers 1.6.4 ou supérieur.
En cas de doute, contactez votre service informatique ou cherchez « shiny CVE-2026-108258 » sur le site de l'éditeur.
CVE-2026-108258 (shiny) — CWE-22
Surface d'attaque : _state_id_ / bookmark_store
Correctif : 1.6.4 — 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 traversée de chemin (CWE-22) affecte shiny. Les attaquants atteignent le code vulnérable via _state_id_.
Consultez l'avis de l'éditeur pour les versions affectées de shiny. Surface d'attaque : _state_id_ / bookmark_store.
Gravité : ?. Risque d'opérations non autorisées ou de divulgation.
Mettre à jour vers 1.6.4.
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 'shiny' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
shinyを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade shiny to 1.6.4ステージング環境で 1.6.4 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。