Описание
PyLoad vulnerable to Path Traversal via Package Folder Name in set_package_data
Summary
No sanitization of package folder name allows writing files anywhere outside the intended download directory.
Affected Component
src/pyload/core/api/__init__.py- Function:
set_package_data()
Details
When passing a folder name in the set_package_data() API function call inside the data object with key "_folder", there is no sanitization at all, allowing a user with Perms.MODIFY to specify arbitrary directories as download locations for a package.
PoC
- Create a package, note response package ID e.g.
5
- Call set_package_data for this package ID with an arbitrary directory
- New download folder will be set without any checks
Response:
Impact
Allows Absolute Path Traversal to write in an arbitrary directory as long as the pyLoad process has write access.
Пакеты
pyload-ng
<= 0.5.0b3.dev99
0.5.0b3.dev100
Связанные уязвимости
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, when passing a folder name in the set_package_data() API function call inside the data object with key "_folder", there is no sanitization at all, allowing a user with Perms.MODIFY to specify arbitrary directories as download locations for a package. This vulnerability is fixed in 0.5.0b3.dev100.
pyLoad is a free and open-source download manager written in Python. P ...