Bug 2501322 - CVE-2026-5674 cosmic-settings: PipeWire: Sandbox escape and arbitrary code execution via malicious library loading [fedora-all]
Summary: CVE-2026-5674 cosmic-settings: PipeWire: Sandbox escape and arbitrary code ex...
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: cosmic-settings
Version: rawhide
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Ryan Brue
QA Contact:
URL:
Whiteboard: {"flaws": ["eea8258d-a030-412f-9995-a...
Depends On:
Blocks: CVE-INVALID CVE-2026-5674
TreeView+ depends on / blocked
 
Reported: 2026-07-16 13:25 UTC by Avinash Hanwate
Modified: 2026-07-16 15:56 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-07-16 15:56:11 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Avinash Hanwate 2026-07-16 13:25:50 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

Summary:
An attacker can exploit PipeWire load library vulnerability to escape sandboxed processes.

Requirements To Exploit:
A Flatpak app (or Docker container, Snap, etc..) with minimal permissions, like:

 --socket=pulseaudio and 

--filesystem=/tmp/share/ (basically write access to any host-visible path to drop the malicious library)

Component Affected:
gitlab.freedesktop.org/pipewire/pipewire 

module-protocol-pulse (pulse-server.c) and module-ladspa-sink (plugin_ladspa.c)

Version Affected:
<= 1.0.5 (likely all versions since the PulseAudio compatibility layer was introduced)

Patch Available:
no

Version Fixed:
N/A

Cvss:
8.8 High

AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H —  Local vector, low complexity, low privileges, no user interaction, changed scope (sandbox escape). High CIA impact on user session. Since a Flatpak are remotely retrieved one could also claim RCE with arbitrary local code execution, but I don’t think it’s a critical class issue.

Impact:
I’d say Important (sandbox escape with minimal permissions)

Steps To Reproduce:
Build a Flatpak app with --socket=pulseaudio and --filesystem=/tmp/wuzzi:create

From the app, write a .so with an ELF constructor to /tmp/wuzzi/payload.so

Connect to the PulseAudio socket, send PA_COMMAND_AUTH with 256 arbitrary bytes

Send PA_COMMAND_LOAD_MODULE module-ladspa-sink plugin=/tmp/wuzzi/payload.so

PipeWire (outside sandbox) calls dlopen() — constructor executes in full user context

Confirmed on Ubuntu 24.04 (x86_64) and Debian 13 (aarch64), PipeWire 1.0.5

Mitigation:
Don’t install Flatpaks with audio, or allow any sandbox’d process to connect to pulseaudio socket.

Recommended mitigations from product side. Any one breaks the attack chain: 

(1) Validate the cookie against ~/.config/pulse/cookie; 

(2) Set pulse.allow-module-loading = false (option exists since May 2024); 

(3) Restrict dlopen() paths in module-ladspa-sink to /usr/lib/ladspa/ and /usr/lib64/ladspa/.

Comment 1 Fabio Valentini 2026-07-16 15:56:11 UTC
cosmic-settings only links to pipewire and does not include pipewire itself, so this issue needs to be fixed in the pipewire package.


Note You need to log in before you can comment on or make changes to this bug.