# CVE-2026-34978: Path traversal in cups

> Remote attackers can exploit path traversal in CUPS RSS notifier to write files outside the cache directory, potentially corrupting job state and causing denial of service.

- **Severity:** Medium 6.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 3 Apr 2026
- **Updated:** 6 Apr 2026
- **Also known as:** ALPINE-CVE-2026-34978, AZL-81819, BELL-CVE-2026-34978, DEBIAN-CVE-2026-34978, ECHO-6ed2-4f33-7d2a, GHSA-f53q-7mxp-9gcr, ROOT-OS-DEBIAN-12-CVE-2026-34978, ROOT-OS-DEBIAN-13-CVE-2026-34978, UBUNTU-CVE-2026-34978

## What is CVE-2026-34978?

CVE-2026-34978 is a medium-severity path traversal vulnerability in OpenPrinting cups, published on 3 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. In versions 2.4.16 and prior, the RSS notifier allows .. path traversal in notify-recipient-uri (e.g., rss:///../job.cache), letting a remote IPP client write RSS XML bytes outside CacheDir/rss (anywhere that is lp-writable). In particular, because CacheDir is group-writable by default (typically root:lp and mode 0770), the notifier (running as lp) can replace root-managed state files via temp-file + rename(). This PoC clobbers CacheDir/job.cache with RSS XML, and after restarting cupsd the scheduler fails to parse the job cache and previously queued jobs disappear. At time of publication, there are no publicly available patches.

Weakness: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory)

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

It affects 1 product.


Products: Openprinting Cups.

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

No fix published yet.

## Is CVE-2026-34978 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-34978 exists.

## Other vulnerabilities in OpenPrinting cups

- [CVE-2025-58060](https://insights.sbomify.com/CVE-2025-58060/): cups has Authentication bypass with AuthType Negotiate (high 8.0)
- [CVE-2025-58364](https://insights.sbomify.com/CVE-2025-58364/): cups: Remote DoS via null dereference (medium 6.5)
- [CVE-2026-34980](https://insights.sbomify.com/CVE-2026-34980/): OpenPrinting CUPS: Shared PostScript queue lets anonymous Print-Job requests reach `lp` code execution over the network (medium 6.1)
- [CVE-2025-61915](https://insights.sbomify.com/CVE-2025-61915/): OpenPrinting CUPS vulnerable to stack based out-of-bound write (medium 6.0)
- [CVE-2026-55480](https://insights.sbomify.com/CVE-2026-55480/): CUPS copy_model() creates a predictable PPD tempfile without O_EXCL/O_NOFOLLOW (symlink TOCTOU, lp → root) (medium 5.7)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-34978 and fix it if it is affected.

What it is: CVE-2026-34978 is a medium-severity path traversal vulnerability in OpenPrinting cups, published on 3 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-34978 exists.

Affected product: OpenPrinting cups. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-34978/ (Markdown: https://insights.sbomify.com/CVE-2026-34978/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-34978
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-34978
- OSV: https://osv.dev/vulnerability/CVE-2026-34978

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-34978/
Summaries are generated and may contain mistakes; the official description above is the record.
