---
id: "CVE-2026-55888"
kind: "vulnerability"
aliases: ["CVE-2026-55888"]
title: "XDG Desktop Portal: sandboxed apps can write arbitrary new files on host"
severity: "high"
cvss: 8.8
epss: 0.00515
exploited: false
status: "open"
category: "infrastructure"
products: []
ecosystems: []
tags: ["desktop-linux", "flatpak", "infrastructure", "linux", "xdg-desktop-portal"]
not_affected_if: ["no-flatpak-or-snap-apps"]
published_at: "2026-10-23T13:17:10+00:00"
first_seen_at: "2026-10-23T21:57:33+00:00"
updated_at: "2026-10-25T12:38:50+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-55888", "first_seen_at": "2026-10-23T21:57:33+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-55888", "first_seen_at": "2026-10-25T12:38:50+00:00"}]
---

# XDG Desktop Portal: sandboxed apps can write arbitrary new files on host

A sandboxed Linux application can call the FileChooser.SaveFiles portal method with crafted filenames to create files at arbitrary paths the user can write to. Because the names are not validated, the sandbox boundary for file creation is bypassed.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

Run xdg-desktop-portal --version and check whether it is below 1.22.1.

## Fix

Upgrade xdg-desktop-portal to 1.22.1 or later.

## Timeline

- 2026-10-23T21:57:33+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-55888
- 2026-10-25T12:38:50+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-55888

## From the sources

XDG Desktop Portal is a desktop integration portal. Prior to version 1.22.1, malicious sandboxed applications can use the FileChooser.SaveFiles method to gain arbitrary file access to non-existing files on the host (limited to files the user has access to). The FileChooser.SaveFiles method takes optional filenames which get appended to the selected directory by backends. The backends are supposed to check that the file does not exist yet. The filenames are not validated by the frontend and also not by common backends. This issue has been patched in version 1.22.1.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
