Back to CVE records
Medium 6.9Published Oct 9, 2026

CVE-2026-108258Shiny for Python - Path traversal in bookmark restore

Updated under an hour ago ()

Does this affect you?

It affects posit-dev py-shiny. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

Shiny for Python is a framework for building interactive web applications in Python. From 1.4.0 until 1.6.4, bookmark restore accepts a client-supplied state_id and joins it into the server-side shiny_bookmarks directory without validating that it is a single safe path segment. An unauthenticated request can use parent-directory segments or an absolute path to make the server open input.json and values.json outside the bookmark store, even when bookmark_store is set to disable. In applications configured with bookmark_store set to server and using ui.input_file(), the restore handler can additionally copy and expose an attacker-selected file from an attacker-selected directory. This issue is fixed in version 1.6.4.

CVSS
6.9 MEDIUM (v4.0, CNA)CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness (CWE)
CWE-22
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
GitHub_M
NVD analysis
Awaiting Analysis
Record last updated
Oct 13, 2026
First seen by InfoSec Signals
Oct 9, 2026

Affected products

Affected products
posit-dev py-shiny
posit_dev:py_shiny (from the name)
from 1.4.0, < 1.6.4
CNA record

References

  • x-refsource-confirm
  • x-refsource-misc
  • x-refsource-misc

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.