Every CVE Search/ Get API key

CVE-2026-29778

pyLoad: Arbitrary File Write via Path Traversal in edit_package()

7.1 HighFix available

pyLoad is a free and open-source download manager written in Python. From version 0.5.0b3.dev13 to 0.5.0b3.dev96, the edit_package() function implements insufficient sanitization for the pack_folder parameter. The current protection relies on a single-pass string replacement of "../", which can be bypassed using crafted recursive traversal sequences. This issue has been patched in version 0.5.0b3.dev97.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
Low

Exploit likelihood

0.57%Up 0.5 points since Mar 8, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.1

pyLoad: Arbitrary File Write via Path Traversal in edit_package()

pyLoad is a free and open-source download manager written in Python. From version 0.5.0b3.dev13 to 0.5.0b3.dev96, the edit_package() function implements insufficient sanitization for the pack_folder parameter. The current protection relies on a single-pass string replacement of "../", which can be bypassed using crafted recursive traversal sequences. This issue has been patched in version 0.5.0b3.dev97.

Record
CVE-2026-29778
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Weakness
CWE-23
Updated
2026-11-02
EUVDEUVD-2026-10162 7.1

pyLoad is a free and open-source download manager written in Python. From version 0.5.0b3.dev13 to 0.5.0b3.dev96, the edit_package() function implements insufficient sanitization for the pack_folder parameter. The current protection relies on a single-pass string replacement of "../", which can be bypassed using crafted recursive traversal sequences. This issue has been patched in version 0.5.0b3.dev97.

Record
EUVD-2026-10162
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-6px9-j4qr-xfjw 7.1

pyLoad has an Arbitrary File Write via Path Traversal in edit_package()

The edit_package() function implements insufficient sanitization for the pack_folder parameter. The current protection relies on a single-pass string replacement of "../", which can be bypassed using crafted recursive traversal sequences.

Exploitation

An authenticated user with MODIFY permission can bypass the sanitization by submitting a payload such as: pack_folder=..././..././..././tmp

After the single-pass replacement, this becomes: ../../../tmp

Because the traversal sequences are not properly validated, the resulting normalized path escapes the intended storage directory and writes files to /tmp or other locations.

Record
GHSA-6px9-j4qr-xfjw
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Weakness
CWE-23
Updated
2026-11-02
NVD 7.1

pyLoad is a free and open-source download manager written in Python. From version 0.5.0b3.dev13 to 0.5.0b3.dev96, the edit_package() function implements insufficient sanitization for the pack_folder parameter. The current protection relies on a single-pass string replacement of "../", which can be bypassed using crafted recursive traversal sequences. This issue has been patched in version 0.5.0b3.dev97.

Record
CVE-2026-29778
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-23
Updated
2026-11-02
OSVGHSA-6px9-j4qr-xfjw 7.1

pyLoad has an Arbitrary File Write via Path Traversal in edit_package()

The edit_package() function implements insufficient sanitization for the pack_folder parameter. The current protection relies on a single-pass string replacement of "../", which can be bypassed using crafted recursive traversal sequences.

Exploitation

An authenticated user with MODIFY permission can bypass the sanitization by submitting a payload such as: pack_folder=..././..././..././tmp

After the single-pass replacement, this becomes: ../../../tmp

Because the traversal sequences are not properly validated, the resulting normalized path escapes the intended storage directory and writes files to /tmp or other locations.

Record
GHSA-6px9-j4qr-xfjw
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Weakness
CWE-23
Updated
2026-11-02
OSVPYSEC-2026-121 6.5

pyLoad is a free and open-source download manager written in Python. From version 0.5.0b3.dev13 to 0.5.0b3.dev96, the edit_package() function implements insufficient sanitization for the pack_folder parameter. The current protection relies on a single-pass string replacement of "../", which can be bypassed using crafted recursive traversal sequences. This issue has been patched in version 0.5.0b3.dev97.

Record
PYSEC-2026-121
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
pyload-ng
PyPI
0.5.0b3.dev13 to 0.5.0b3.dev96
0.5.0b3.dev97
pyload-ng
PyPI
0.5.0b3.dev13 up to 0.5.0b3.dev97, plus listed versions
0.5.0b3.dev140.5.0b3.dev170.5.0b3.dev180.5.0b3.dev190.5.0b3.dev20
Show 45 moreShow less
0.5.0b3.dev210.5.0b3.dev220.5.0b3.dev240.5.0b3.dev260.5.0b3.dev270.5.0b3.dev280.5.0b3.dev290.5.0b3.dev300.5.0b3.dev310.5.0b3.dev320.5.0b3.dev330.5.0b3.dev340.5.0b3.dev350.5.0b3.dev380.5.0b3.dev390.5.0b3.dev400.5.0b3.dev410.5.0b3.dev420.5.0b3.dev430.5.0b3.dev440.5.0b3.dev450.5.0b3.dev460.5.0b3.dev470.5.0b3.dev480.5.0b3.dev490.5.0b3.dev500.5.0b3.dev510.5.0b3.dev520.5.0b3.dev530.5.0b3.dev540.5.0b3.dev570.5.0b3.dev600.5.0b3.dev620.5.0b3.dev640.5.0b3.dev650.5.0b3.dev660.5.0b3.dev670.5.0b3.dev680.5.0b3.dev690.5.0b3.dev700.5.0b3.dev710.5.0b3.dev720.5.0b3.dev730.5.0b3.dev740.5.0b3.dev75
0.5.0b3.dev97

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-29778 is a high vulnerability (CVSS 7.1) in Pyload, published March 5, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.57%, the 47th percentile. Fixed in pyload-ng 0.5.0b3.dev97.

References

This page doesn't list everything

Left out here: 18 versions. The JSON record has them.

MoveEnter Open