Headline
CVE-2017-2619: Samba - Security Announcement Archive
Samba before versions 4.6.1, 4.5.7 and 4.4.11 are vulnerable to a malicious client using a symlink race to allow access to areas of the server file system not exported under the share definition.
CVE-2017-2619.html:
==================================================================== == Subject: Symlink race allows access outside share definition. == == CVE ID#: CVE-2017-2619 == == Versions: All versions of Samba prior to 4.6.1, 4.5.7, 4.4.12 == == Summary: A time-of-check, time-of-use race condition == can allow clients to access non-exported parts == of the file system via symlinks. == ====================================================================
=========== Description ===========
All versions of Samba prior to 4.6.1, 4.5.7, 4.4.12 are vulnerable to a malicious client using a symlink race to allow access to areas of the server file system not exported under the share definition.
Samba uses the realpath() system call to ensure when a client requests access to a pathname that it is under the exported share path on the server file system.
Clients that have write access to the exported part of the file system via SMB1 unix extensions or NFS to create symlinks can race the server by renaming a realpath() checked path and then creating a symlink. If the client wins the race it can cause the server to access the new symlink target after the exported share path check has been done. This new symlink target can point to anywhere on the server file system.
This is a difficult race to win, but theoretically possible. Note that the proof of concept code supplied wins the race reliably only when the server is slowed down using the strace utility running on the server. Exploitation of this bug has not been seen in the wild.
================== Patch Availability ==================
A patch addressing this defect has been posted to
http://www.samba.org/samba/security/
Additionally, Samba 4.6.1, 4.5.7 and 4.4.12 have been issued as security releases to correct the defect. Patches against older Samba versions are available at http://samba.org/samba/patches/. Samba vendors and administrators running affected versions are advised to upgrade or apply the patch as soon as possible.
========== Workaround ==========
Add the parameter:
unix extensions = no
to the [global] section of your smb.conf and restart smbd. This prevents SMB1 clients from creating symlinks on the exported file system using SMB1.
However, if the same region of the file system is also exported using NFS, NFS clients can create symlinks that potentially can also hit the race condition. For non-patched versions of Samba we recommend only exporting areas of the file system by either SMB or NFS, not both.
======= Credits =======
This problem was found by Jann Horn of Google. Jeremy Allison, of Google and the Samba Team, and Ralph Boehme of SerNet and the Samba Team provided the fix. Code review was performed by Uri Simchoni of CTERA Networks and the Samba Team.