Skip to content

Remove FUSERMOUNT_PROG logic - #158

Open
Skyb0rg007 wants to merge 1 commit into
AppImage:mainfrom
Skyb0rg007:remove-fusermountPath
Open

Skyb0rg007 wants to merge 1 commit into
AppImage:mainfrom
Skyb0rg007:remove-fusermountPath

Conversation

@Skyb0rg007

@Skyb0rg007 Skyb0rg007 commented Oct 18, 2026 •

Copy link
Copy Markdown

Libfuse already tries /usr/bin/fusermount3, falling back to using $PATH. This removes the environment variable override logic.

This undoes #82.
Looking into why #82 was done, it mentions bug reports #15, #16, #31, #32, #35, #36, #37

#15,#16 was caused by AppImage's access() check, so removing the logic does not affect it.
#31 references probonopd/go-appimage#281, which is asking for fusermount3 to be searched on $PATH, which libfuse already did before you patched it out.
#32 seems to have a discussion on why execp should be used, which wasn't resolved.
#35,#36,#37 are bugs introduced by attempting to patch libfuse. By removing the patch, this isn't a concern.

As mentioned here, this also safeguards against a future libfuse release that creates a /usr/bin/fusermount4 setuid binary. If that happens, distributions may make /usr/bin/fusermount3 into a symlink (as Debian currently does with /usr/bin/fusermount -> /usr/bin/fusermount3).

Another possibility is that a future libfuse version introduces a backwards-incompatible setuid binary format. If that happens, distributions may install a non-setuid /usr/bin/fusermount3 binary that translates between the two protocols.
By removing the setuid check, AppImage becomes more robust to those possible future changes.

Replaces #151
Fixes #150

Libfuse already tries /usr/bin/fusermount3, falling back to using $PATH.
This removes the environment variable override logic.

Fixes AppImage#150
@Skyb0rg007
Skyb0rg007 force-pushed the remove-fusermountPath branch from ba8cff6 to 83ae8e8 Compare October 18, 2026 03:48
@probonopd

Copy link
Copy Markdown
Member

Thanks for your suggestion @Skyb0rg007. This needs very careful review and consideration. Might take some time.

@github-actions

Copy link
Copy Markdown

Build for testing:
artifacts armhf
artifacts i686
artifacts aarch64
artifacts x86_64
Use at your own risk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fusermount3 get's skipped if not setuid, which breaks new fuse implementations

2 participants