GLSA 201603-04: FUSE: incorrect filtering of environment variables leading to privilege escalation

Severity:normal
Title:FUSE: incorrect filtering of environment variables leading to privilege escalation
Date:03/09/2016
Bugs: #550152
ID:201603-04

Synopsis

The fusermount binary in FUSE does not properly clear the environment before invoking mount or umount as root that allows a local user to overwrite arbitrary files.

Background

FUSE provides an interface for filesystems implemented in userspace.

Affected packages

Package Vulnerable Unaffected Architecture(s)
sys-fs/fuse < 2.9.4 >= 2.9.4 All supported architectures

Description

The fusermount binary calls setuid(geteuid()) to reset the RUID when it invokes /bin/mount so that it can use privileged mount options that are normally restricted if RUID != EUID. FUSE does not properly clear environment variables before invoking mount or umount as root allowing this to be passed to operations using elevated privileges such as LIBMOUNT_MTAB that is used by the mount commands debugging feature.

Impact

The FUSE vulnerability allows a local, unprivileged user to overwrite arbitrary files on the system.

Workaround

There is no known work around at this time.

Resolution

All FUSE users should upgrade to the latest version:

      # emerge --sync
      # emerge --ask --oneshot --verbose ">=sys-fs/fuse-2.9.4"
    

References

Availability

This GLSA and any updates to it are available for viewing at the Gentoo Security Website: http://security.gentoo.org/glsa/glsa-201603-04.xml

Concerns?

Security is a primary focus of Gentoo Linux and ensuring the confidentiality and security of our users machines is of utmost importance to us. Any security concerns should be addressed to security@gentoo.org or alternatively, you may file a bug at https://bugs.gentoo.org.

License

Copyright 2010 Gentoo Foundation, Inc; referenced text belongs to its owner(s). The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.

Thank you!