Cannot upload files to snap-installed browsers or Electron apps

As per title.

The sequence is as follows:

  1. I click some upload button
  2. A dialog opens to choose which file
  3. I navigate to my desired file, click “accept” or “upload”
  4. …and then, nothing. I’m back to the page, but my file wasn’t uploaded. Nothing on the browser dev tools either.

I’m on Ubuntu 25.04. Versions:

$ snap --version
snap          2.72
snapd         2.72
series        16
ubuntu        25.04
kernel        6.14.0-34-generic
architecture  amd64

I’m 99 % sure that this is a new problem, otherwise I would have noticed.

Using a non-snap browser (which was kind of tricky, since apt install {firefox,chromium-browser} give a snap package anyway, so I used Epiphany) solved the issue.

I was told that I should check whether the app has permissions. But I have several problems:

  • Since the failure was silent, I don’t know how should I arrive to that conclusion.
  • I don’t know how to check whether my snap-installed apps have permissions to specific folders.
  • If I have no permissions, how come the dialog allowed me to navigate to that file?

I don’t know if this is your case, but regular Snap apps don’t have permission to access files in hidden folders, with a few exceptions. They only correctly access folders like /mnt and /media if the removable-media plug is connected. Without it, they can find files, but there’s no guarantee they’ll be used correctly.

Regarding being able to navigate to a location using the file selector, it’s probably due to the system file selector.

I tested it on Snaps firefox, dolphin-emulator-kyu, and transmission.

Snap firefox and dolphin-emulator-kyu used the LXQT file selector, allowing them to navigate to places and select things they shouldn’t be able to. This can also happen with Flatpak apps.

Meanwhile, in Snap transmission, an internal file selector was used, a GTK file selector, which meant it didn’t even know which folders were in /media because the removable-media plug wasn’t connected.

Thanks @Kyuyrii . Not my case, dealing with regular (non-hidden) folders.

Just realised that the problem also manifests when downloading. For example, when taking a snapshot from a YouTube video and saving it to ~/Downloads or /tmp.

Here’s what dmesg says when it happens:

[ 3934.651879] audit: type=1400 audit(1761218088.911:1523): apparmor="DENIED" operation="connect" class="file" profile="fusermount3" name="/run/authd.sock" pid=20756 comm="fusermount3" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0
[ 3934.655392] audit: type=1400 audit(1761218088.914:1524): apparmor="DENIED" operation="connect" class="file" profile="fusermount3" name="/run/authd.sock" pid=20757 comm="fusermount3" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0

Anything else I could try?

A colleague suggested running this:

$ echo '/run/authd.sock rw,' | sudo tee -a /etc/apparmor.d/local/fusermount3
/run/authd.sock rw,
$ sudo apparmor_parser -r /etc/apparmor.d/fusermount3

and it worked.

1 Like

I’m not really understanding where fuse/fusermount comes into play here, snap packages do not use fuse so you should neither get a denial for it nor should there be a need to hack the fusermount apparmor profile …

Is this inside some kind of container or VM that would use fuse underneath itself or do you have some special disk setup of the system ?

It’s not a VM, but my corporate laptop. The issue is perhaps related with the fact that my user is centrally managed. But I seem to be the first one internally that complains about this, so I have little evidence of that for now.

1 Like