Bug 1602996 (CVE-2018-10906) - CVE-2018-10906 fuse: bypass of the "user_allow_other" restriction when SELinux is active
Summary: CVE-2018-10906 fuse: bypass of the "user_allow_other" restriction when SELinu...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2018-10906
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1605159 1607854 1607855
Blocks: 1602997
TreeView+ depends on / blocked
 
Reported: 2018-07-19 00:57 UTC by Sam Fowler
Modified: 2019-09-29 14:44 UTC (History)
18 users (show)

Fixed In Version: fuse 2.9.8, fuse 3.2.5
Doc Type: If docs needed, set a value
Doc Text:
A vulnerability was discovered in fuse. When SELinux is active, fusermount is vulnerable to a restriction bypass. This allows non-root users to mount a FUSE file system with the 'allow_other' mount option regardless of whether 'user_allow_other' is set in the fuse configuration. An attacker may use this flaw to mount a FUSE file system, accessible by other users, and trick them into accessing files on that file system, possibly causing Denial of Service or other unspecified effects.
Clone Of:
Environment:
Last Closed: 2019-06-10 10:33:27 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:3324 None None None 2018-10-30 07:59:34 UTC

Description Sam Fowler 2018-07-19 00:57:45 UTC
FUSE through version 3.2.4 is vulnerable to a bypass of the 'user_allow_other'
restriction that allows, when SELinux is active, non-root users to mount FUSE
file systems with the 'allow_other' mount option. Local users can exploit this
with the 'fusermount' command, bypassing the system configuration. This results
in a mounted file system accessible by all other users including root.

Comment 2 Riccardo Schirone 2018-07-20 09:56:16 UTC
This flaw allows a local attacker to mount a FUSE file system with the
'allow_other' option, even if they should not be able to do so. As a
consequence, if the attacker can trick other users to access his FUSE mount
point, he can cause Denial of Services or other unspecified effects. Accesses to
the FUSE mount point could be slowed down or delayed indefinitely. Moreover the
FUSE file system could present files or directories of unlimited length, or
directory structures of unlimited depth, thus causing DoS or other unspecified
effects on other programs which do not consider this possibility.

Comment 7 Riccardo Schirone 2018-07-20 13:08:55 UTC
When checking whether allow_other/allow_root are allowed, fusermount lets users escape commas, even when the mount options do not permit backslashes. This allows a malicious user to hide options forbidden by fusermount. By using specially crafted values in the `context` mount option interpreted by SELinux, it is possible to use a backslash and smuggle the `allow_other` mount option.

Comment 9 Riccardo Schirone 2018-07-23 12:41:40 UTC
Flaw was introduced by https://github.com/libfuse/libfuse/commit/555d6b504308eac6b976321ce938ee4bec62c354.

Comment 10 Riccardo Schirone 2018-07-24 12:27:41 UTC
Created fuse tracking bugs for this issue:

Affects: fedora-all [bug 1607854]

Comment 12 Andrej Nemec 2018-07-24 12:44:08 UTC
References:

https://sourceforge.net/p/fuse/mailman/message/36374753/

Comment 13 Doran Moppert 2018-08-21 07:39:04 UTC
Statement:

This issue did not affect the versions of fuse as shipped with Red Hat Enterprise Linux 6 as they did not consider escaped characters when checking mount options.  This issue is present in fuse packages included with Red Hat Virtualization, however it is not exploitable under any supported configuration.

Comment 14 errata-xmlrpc 2018-10-30 07:59:24 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2018:3324 https://access.redhat.com/errata/RHSA-2018:3324


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