---
id: CVE-2026-48544
aliases:
  - GHSA-28gh-q3gw-pvx8
title: Taipy contains a path traversal vulnerability
summary: Taipy contains a path traversal vulnerability
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'
vendor: taipy
product: taipy
ecosystem: pip
affected:
  - taipy <= 4.1.1
published: '2026-05-27'
updated: '2026-07-01'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-28gh-q3gw-pvx8'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-48544'
  - url: 'https://github.com/Avaiga/taipy/issues/2868'
  - url: 'https://github.com/Avaiga/taipy/pull/2871'
  - url: >-
      https://github.com/Avaiga/taipy/commit/129fd407ffca49ee4ab853772c88d0c873e038dd
  - url: 'https://github.com/Avaiga/taipy'
  - url: >-
      https://www.vulncheck.com/advisories/taipy-path-traversal-via-elementlibrary-get-resource
tags:
  - osv
  - pip
epss: 0.00409
epssPercentile: 0.34883
ingestedAt: '2026-07-08T18:25:44.185Z'
---

## Overview

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.

## Affected packages

- `taipy <= 4.1.1`

## Remediation

Refer to the advisory for the patched release.
