Opened 2 years ago

Closed 23 months ago

#12476 closed enhancement (fixed)

samba-4.10.8

Reported by: Douglas R. Reno Owned by: Douglas R. Reno
Priority: high Milestone: 9.1
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

New security release.

Release Announcements
---------------------

These are a security releases in order to address the following defect:

o  CVE-2019-10197: Combination of parameters and permissions can allow user        
                   to escape from the share path definition.

=======
Details
=======

o  CVE-2019-10197:
   Under certain parameter configurations, when an SMB client accesses a network
   share and the user does not have permission to access the share root
   directory, it is possible for the user to escape from the share to see the
   complete '/' filesystem. Unix permission checks in the kernel are still
   enforced.


Changes:
--------

o  Jeremy Allison <jra@samba.org>
   * BUG 14035: CVE-2019-10197: Permissions check deny can allow user to escape
     from the share.

o  Stefan Metzmacher <metze@samba.org>
   * BUG 14035: CVE-2019-10197: Permissions check deny can allow user to escape
     from the share.
CVE-2019-10197.html

==============================================================================
== Subject:     Combination of parameters and permissions can allow user
==              to escape from the share path definition.
==
== CVE ID#:     CVE-2019-10197
==
== Versions:    All versions of Samba from 4.9.0 onwards.
==
== Summary:     Under certain parameter configurations, when an SMB
==              client accesses a network share and the user does not
==              have permission to access the share root directory,
==              it is possible for the user to escape from the share
==              to see the complete '/' filesystem. Unix permission
==              checks in the kernel are still enforced.
==
==============================================================================

===========
Description
===========

On a Samba SMB server for all versions of Samba from 4.9.0 clients are
able to escape outside the share root directory if certain
configuration parameters set in the smb.conf file.

The problem is reproducable if the 'wide links' option is explicitly
set to 'yes' and either 'unix extensions = no' or 'allow insecure wide
links = yes' is set in addition.

If a client has no permissions to enter the share root directory it
will get ACCESS_DENIED on the first request. However smbd has a cache
that remembers if it successfully changed to a directory. This cache
was not being reset on failure. The following SMB request will then
silently operate in the wrong directory instead of returning
ACCESS_DENIED. That directory is either the share root directory of a
different share the client was operating on successfully before or the
global root directory ('/') of the system.

The unix token (uid, gid, list of groups) is always correctly
impersonated before each operation, so the client is still restricted
by the unix permissions enfored by the kernel.

==================
Patch Availability
==================

A patch addressing this defect has been posted to:

  https://www.samba.org/samba/security/

Additionally, Samba 4.9.13, 4.10.8 and 4.11.0rc3 have been issued as
security releases to correct the defect. Patches against older Samba
versions may be available at https://samba.org/samba/patches/. Samba
vendors and administrators running affected versions are advised to
upgrade or apply the patch as soon as possible.

==================
CVSSv3 calculation
==================

CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N/E:H/RL:O/RC:C (8.7)

==========
Workaround
==========

The following methods can be used as a mitigation (only one is
needed):

- Use the 'sharesec' tool to configure a security descriptor for the
  share that's at least as strict as the permissions on the share root
  directory.

- Use the 'valid users' option to allow only users/groups which are
  able to enter the share root directory.

- Remove 'wide links = yes' if it's not really needed.

- In some situations it might be an option to use 'chmod a+x' on the
  share root directory, but you need to make sure that files and
  subdirectories are protected by stricter permissions. You may also
  want to 'chmod a-w' in order to prevent new top level files and
  directories, which may have less restrictive permissions.

=======
Credits
=======

This problem was found by Stefan Metzmacher of SerNet and the Samba
Team.

Patches provided by Ralph Böhme and Stefan Metzmacher of SerNet and
the Samba Team together with Jeremy Allison of Google and the Samba
Team.

==========================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
==========================================================

Change History (2)

comment:1 by Douglas R. Reno, 2 years ago

Owner: changed from blfs-book to Douglas R. Reno
Priority: normalhigh
Status: newassigned

comment:2 by Douglas R. Reno, 23 months ago

Resolution: fixed
Status: assignedclosed

Fixed at r22151

Note: See TracTickets for help on using tickets.