CVE-2026-48544 json
Taipy 4.1.1 Path Traversal via ElementLibrary.get_resource()
published 2026-05-27 5 mo ago modified 2026-11-08 18 h ago also EUVD-2026-32531 , GHSA-28gh-q3gw-pvx8 , PYSEC-2026-3081
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 44%
- public exploits
- 0
- none known
Summary
Taipy 4.1.1, fixed in commit 129fd40, contains a path traversal vulnerability in the ElementLibrary.get_resource() method in taipy/gui/extension/library.py that allows unauthenticated attackers to escape the intended module directory by exploiting an incomplete path containment check using str.startswith() without a trailing path separator. Attackers can send crafted GET requests with path traversal segments targeting a prefix-matching sibling directory on disk, bypassing the directory containment check because Flask's path converter and Werkzeug's WSGI layer preserve the traversal segments while the resolved path still satisfies the flawed startswith comparison, enabling unauthorized file access outside the intended library directory.
Patch / fix
- github.com/Avaiga/taipy@129fd40 commit
- github.com/Avaiga/taipy#2871 pull request
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.52% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/Avaiga/taipy/issues/2868 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | taipy | <=4.1.1 |
no fix listed |
Affected products
- Avaiga taipy
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/Avaiga/taipy/pull/2871
issue-tracking, patch, web
-
github.com
/Avaiga/taipy/commit/129fd407ffca49ee4ab853772c88d0c873e038dd
patch, web
-
github.com
/Avaiga/taipy/issues/2868
issue-tracking, exploit, web
-
vulncheck.com
/advisories/taipy-path-traversal-via-elementlibrary-get-resource
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-48544
advisory
-
github.com
/Avaiga/taipy
package
-
pypi.org
/project/taipy
package
-
github.com
/advisories/GHSA-28gh-q3gw-pvx8
advisory
Sources
- CVE List CVE-2026-48544
- GitHub Advisory GHSA-28gh-q3gw-pvx8
- NVD CVE-2026-48544
- OSV PYSEC-2026-3081
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.