{"id":"CVE-2026-55888","aliases":["DEBIAN-CVE-2026-55888","EUVD-2026-108752","GHSA-cm83-2936-gxjm","OESA-2026-2998","OESA-2026-2999","OESA-2026-3000","SUSE-SU-2026:5098-1","UBUNTU-CVE-2026-55888"],"status":"published","title":"XDG Desktop Portal: Arbitrary file access via SaveFiles \"files\" option path traversal","description":"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.","severity":{"version":"4.0","score":8.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00454,"percentile":0.3987,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2026-07-19T11:11:54Z","modified":"2026-11-05T13:27:13Z","fixes":[{"ecosystem":"Debian:14","package":"xdg-desktop-portal","fixed_in":["1.22.1+ds-1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP1","package":"xdg-desktop-portal","fixed_in":["1.20.4-2.oe2403sp1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP3","package":"xdg-desktop-portal","fixed_in":["1.20.4-2.oe2403sp3"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP4","package":"xdg-desktop-portal","fixed_in":["1.20.4-2.oe2403sp4"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.16.0-2","1.16.0-3","1.17.0-1","1.17.1-1","1.17.2-1","1.18.0-1","1.18.1-1","1.18.2-1","1.18.3-1","1.18.4-1","1.18.4-2","1.19.0+ds-1","1.19.1+ds-1","1.19.2+ds-1","1.19.3+ds-1","1.19.4+ds-1","1.20.0+ds-1","1.20.0+ds-2","1.20.1+ds-1","1.20.1+ds-2","1.20.3+ds-1","1.20.3+ds-2","1.20.3+ds-3","1.20.4+ds-1","1.21.0+ds-1","1.21.1+ds-1","1.22.0+ds-1","1.22.1+ds-1"]},{"source":"osv","ecosystem":"Debian:13","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.20.3+ds-1","1.20.3+ds-2","1.20.3+ds-3","1.20.4+ds-1","1.21.0+ds-1","1.21.1+ds-1","1.22.0+ds-1","1.22.1+ds-1"]},{"source":"osv","ecosystem":"Debian:14","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.22.1+ds-1"}]}],"versions":["1.20.3+ds-1","1.20.3+ds-2","1.20.3+ds-3","1.20.4+ds-1","1.21.0+ds-1","1.21.1+ds-1","1.22.0+ds-1"]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.20.4-2.oe2403sp1"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.20.4-2.oe2403sp3"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP4","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.20.4-2.oe2403sp4"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.16.0-150500.3.13.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.16.0-150500.3.13.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 15 SP5-LTSS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.16.0-150500.3.13.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP Applications 15 SP5","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.16.0-150500.3.13.1"}]}],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.0.3-0ubuntu0.0"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.8-2","0.8-3","0.9-1","0.9-2","0.10-0ubuntu1","0.10-2","0.10-4","0.11-1","1.0.3-0ubuntu0.2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.2-2","1.4.2-3","1.6.0-1","1.6.0-1ubuntu1","1.6.0-1ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.1-1build1","1.10.1-2","1.10.1-4","1.12.1-1","1.12.1-1build1","1.12.1-1ubuntu1","1.14.1-1","1.14.1-2","1.14.2-1","1.14.2-1ubuntu1","1.14.2-1ubuntu2","1.14.3-0ubuntu2","1.14.3-0ubuntu2.22.04.1","1.14.4-1ubuntu1~22.04.1","1.14.4-1ubuntu2~22.04.1","1.14.4-1ubuntu2~22.04.2"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.18.0-1ubuntu1","1.18.2-1ubuntu1","1.18.2-1ubuntu3","1.18.2-1ubuntu4","1.18.3-1ubuntu1","1.18.4-1ubuntu2","1.18.4-1ubuntu2.24.04.1","1.18.4-1ubuntu2.24.04.2","1.18.4-1ubuntu2.24.04.3"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.21.1+ds-1ubuntu3","1.21.1+ds-1ubuntu4","1.21.1+ds-1ubuntu5","1.21.1+ds-1ubuntu6"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"xdg-desktop-portal","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.20.3+ds-1ubuntu1","1.20.3+ds-1ubuntu2","1.21.0+ds-1ubuntu3","1.21.0+ds-1ubuntu4","1.21.0+ds-1ubuntu6","1.21.0+ds-1ubuntu7","1.21.0+ds-1ubuntu8","1.21.1+ds-1ubuntu1","1.21.1+ds-1ubuntu2","1.21.1+ds-1ubuntu3","1.21.1+ds-1ubuntu3.1"]}],"products":[{"vendor":"flatpak","product":"xdg-desktop-portal"}],"references":[{"url":"https://github.com/flatpak/xdg-desktop-portal/security/advisories/GHSA-cm83-2936-gxjm","tags":["x_refsource_CONFIRM","advisory","report"]},{"url":"https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.22.1","tags":["x_refsource_MISC","web","report"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55888.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55888","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-55888","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2998","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2999","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3000","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20265098-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1262045","tags":["report"]},{"url":"https://bugzilla.suse.com/1287724","tags":["report"]},{"url":"https://bugzilla.suse.com/1287725","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-40354","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55888","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55889","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-55888","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-55888","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-55888","title":"XDG Desktop Portal: Arbitrary file access via SaveFiles \"files\" option path traversal","description":"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.","status":"published","published":"2026-10-23T12:35:23.077Z","modified":"2026-10-30T14:18:08.807Z","cvss":[{"version":"4.0","score":8.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:20:12.260247Z"}],"euvd":[{"id":"EUVD-2026-108752","description":"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.","status":"published","published":"2026-10-23T12:35:23Z","modified":"2026-10-30T14:18:08Z","cvss":[{"version":"4.0","score":8.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T16:59:06.607412Z"}],"nvd":[{"id":"CVE-2026-55888","description":"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.","status":"published","published":"2026-10-23T13:17:10.09Z","modified":"2026-10-30T15:16:52.367Z","cvss":[{"version":"4.0","score":8.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:13:02.724605Z"}],"osv":[{"id":"CVE-2026-55888","title":"XDG Desktop Portal: Arbitrary file access via SaveFiles \"files\" option path traversal","description":"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.","status":"published","published":"2026-10-23T12:35:23.077Z","modified":"2026-11-05T13:27:13.250223729Z","cvss":[{"version":"4.0","score":8.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-05T16:37:45.64821Z"},{"id":"DEBIAN-CVE-2026-55888","description":"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.","status":"published","published":"2026-10-23T13:17:10.09Z","modified":"2026-10-31T09:47:25.196332164Z","cvss":[{"version":"4.0","score":8.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"updated_at":"2026-11-02T15:45:57.590991Z"},{"id":"OESA-2026-2998","title":"xdg-desktop-portal security update","description":"xdg-desktop-portal works by exposing a series of D-Bus interfaces known as portals under a well-known name (org.freedesktop.portal.Desktop) and object path (/org/freedesktop/portal/desktop). The portal interfaces include APIs for file access, opening URIs, printing and others.\r\n\r\nSecurity Fix(es):\n\n(CVE-2026-55888)","status":"published","published":"2026-07-19T11:11:54Z","modified":"2026-08-18T01:21:18.166330988Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.823443Z"},{"id":"OESA-2026-2999","title":"xdg-desktop-portal security update","description":"xdg-desktop-portal works by exposing a series of D-Bus interfaces known as portals under a well-known name (org.freedesktop.portal.Desktop) and object path (/org/freedesktop/portal/desktop). The portal interfaces include APIs for file access, opening URIs, printing and others.\r\n\r\nSecurity Fix(es):\n\n(CVE-2026-55888)","status":"published","published":"2026-07-19T11:11:54Z","modified":"2026-08-18T01:21:18.095134586Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.823443Z"},{"id":"OESA-2026-3000","title":"xdg-desktop-portal security update","description":"xdg-desktop-portal works by exposing a series of D-Bus interfaces known as portals under a well-known name (org.freedesktop.portal.Desktop) and object path (/org/freedesktop/portal/desktop). The portal interfaces include APIs for file access, opening URIs, printing and others.\r\n\r\nSecurity Fix(es):\n\n(CVE-2026-55888)","status":"published","published":"2026-07-19T11:11:54Z","modified":"2026-08-18T01:21:18.070909754Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:46.823443Z"},{"id":"UBUNTU-CVE-2026-55888","description":"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.","status":"published","published":"2026-10-23T13:17:00Z","modified":"2026-10-28T17:38:13Z","cvss":[{"version":"4.0","score":8.8,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T16:56:41.382716Z"},{"id":"SUSE-SU-2026:5098-1","title":"Security update for xdg-desktop-portal","description":"This update for xdg-desktop-portal fixes the following issues:\n\n- CVE-2026-40354: file deletion via symlink attack (bsc#1262045).\n- CVE-2026-55888: arbitrary file access due to `SaveFiles` `files` option path traversal (bsc#1287724).\n- CVE-2026-55889: drag-and-drop and copy-paste theft due to predictable `FileTransfer` key (bsc#1287725).\n","status":"published","published":"2026-11-04T17:53:55Z","modified":"2026-11-05T13:15:07.653544934Z","updated_at":"2026-11-05T13:30:00.949926Z"}]}}
