Difference between revisions of "Samba 4.6 Features added/changed"

From SambaWiki
Line 571: Line 571:
:Release Notes for Samba 4.6.0
:Release Notes for Samba 4.6.0
:March 7, 2017
:March 7, 2017
===Release Announcements===
===Release Announcements===
Line 741: Line 742:
lsa over netlogon New (deprecated) no
lsa over netlogon New (deprecated) no
rpc server port New 0
rpc server port New 0

Revision as of 20:29, 9 July 2019

Samba 4.6 is Discontinued (End of Life).

Samba 4.6.16

Release Notes for Samba 4.6.16
August 14, 2018

This is a security release in order to address the following defects:

  • CVE-2018-10858 (Insufficient input validation on client directory listing in libsmbclient.)
  • CVE-2018-10919 (Confidential attribute disclosure from the AD LDAP server.)


  • CVE-2018-10858: A malicious server could return a directory entry that could corrupt libsmbclient memory.
  • CVE-2018-10919: Missing access control checks allow discovery of confidential attribute values via authenticated LDAP search expressions.

Changes since 4.6.15:

  • Jeremy Allison <jra@samba.org>
  • Tim Beale <timbeale@catalyst.net.nz>

Samba 4.6.15

Release Notes for Samba 4.6.15
April 13, 2018

This is the latest stable release of the Samba 4.6 release series.

Changes since 4.6.14:

  • Jeremy Allison <jra@samba.org>
  • BUG #13244: s3: ldap: Ensure the ADS_STRUCT pointer doesn't get freed on error, we don't own it here.
  • BUG #13270: s3: smbd: Fix possible directory fd leak if the underlying OS doesn't support fdopendir().
  • BUG #13375: s3: smbd: Unix extensions attempts to change wrong field in fchown call.
  • Günther Deschner <gd@samba.org>
  • Poornima G <pgurusid@redhat.com>
  • BUG #13297: vfs_glusterfs: Fix the wrong pointer being sent in glfs_fsync_async.
  • Volker Lendecke <vl@samba.org>
  • BUG #13215: Fix smbd panic if the client-supplied channel sequence number wraps.
  • BUG #13240: samba: Only use async signal-safe functions in signal handler.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #13197: SMB2 close/lock/logoff can generate NT_STATUS_NETWORK_SESSION_EXPIRED.
  • BUG #13206: Fix authentication with an empty string domain .
  • BUG #13215: s3:smb2_server: correctly maintain request counters for compound requests.
  • Anton Nefedov
  • BUG #13338: s3:smbd: Map nterror on smb2_flush errorpath.
  • Dan Robertson <drobertson@tripwire.com>
  • BUG #13310: libsmb: Use smb2 tcon if conn_protocol >= SMB2_02.
  • Garming Sam <garming@catalyst.net.nz>
  • BUG #13031: subnet: Avoid a segfault when renaming subnet objects.
  • Andreas Schneider <asn@samba.org>
  • BUG #13315: s3:smbd: Do not crash if we fail to init the session table.


Samba 4.6.14

Release Notes for Samba 4.6.14
March 13, 2018

This is a security release in order to address the following defects:

  • CVE-2018-1050 (Denial of Service Attack on external print server.)
  • CVE-2018-1057 (Authenticated users can change other users' password.)


All versions of Samba from 4.0.0 onwards are vulnerable to a denial of service attack when the RPC spoolss service is configured to be run as an external daemon. Missing input sanitization checks on some of the input parameters to spoolss RPC calls could cause the print spooler service to crash.
There is no known vulnerability associated with this error, merely a denial of service. If the RPC spoolss service is left by default as an internal service, all a client can do is crash its own authenticated connection.
On a Samba 4 AD DC the LDAP server in all versions of Samba from 4.0.0 onwards incorrectly validates permissions to modify passwords over LDAP allowing authenticated users to change any other users' passwords, including administrative users.

Possible workarounds are described at a dedicated page in the Samba wiki:


Changes since 4.6.13:

  • Jeremy Allison <jra@samba.org>
  • Ralph Boehme <slow@samba.org>
  • Stefan Metzmacher <metze@samba.org>

Samba 4.6.13

Release Notes for Samba 4.6.13
February 14, 2017

This is the latest stable release of the Samba 4.6 release series.

Changes since 4.6.12:

  • Jeremy Allison <jra@samba.org>
  • BUG #13193: s3: smbd: Use identical logic to test for kernel oplocks on a share.
  • Love Hornquist Astrand <lha@h5l.org>
  • BUG #12986: Kerberos: PKINIT: Can't decode algorithm parameters in clientPublicValue.
  • Ralph Boehme <slow@samba.org>
  • BUG #13181: vfs_fruit: Fail to copy file with empty FinderInfo from Windows client to Samba share with fruit.
  • David Disseldorp <ddiss@suse.de>
  • BUG #13208: vfs_default: Use VFS statvfs macro in fs_capabilities.
  • BUG #13250: build: Fix ceph_statx check when configured with libcephfs_dir.
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #13188: ctdb-recovery-helper: Deregister message handler in error paths.
  • Christof Schmitt <cs@samba.org>
  • BUG #13189: smbd: Fix coredump on failing chdir during logoff.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #12986: Kerberos: PKINIT: Can't decode algorithm parameters in clientPublicValue.
  • BUG #13132: s4:kdc: Only map SDB_ERR_NOT_FOUND_HERE to HDB_ERR_NOT_FOUND_HERE.
  • BUG #13195: g_lock: fix cleanup of stale entries in g_lock_trylock().
  • Uri Simchoni <uri@samba.org>
  • BUG #13176: Fix POSIX ACL support on hpux and possibly other big-endian OSs.

Samba 4.6.12

Release Notes for Samba 4.6.12
December 20, 2017

This is the latest stable release of the Samba 4.6 release series.

smbclient reparse point symlink parameters reversed

A bug in smbclient caused the 'symlink' command to reverse the meaning of the new name and link target parameters when creating a reparse point symlink against a Windows server.

This only affects using the smbclient 'symlink' command against a Windows server, not a Samba server using the UNIX extensions (the parameter order is correct in that case) so no existing user scripts that depend on creating symlinks on Samba servers need to change.

As this is a little used feature the ordering of these parameters has been reversed to match the parameter ordering of the UNIX extensions 'symlink' command. This means running 'symlink' against both Windows and Samba now uses the same paramter ordering in both cases.

The usage message for this command has also been improved to remove confusion.

Changes since 4.6.11:

  • Jeremy Allison <jra@samba.org>
  • BUG #13140: s3: smbclient: Implement 'volume' command over SMB2.
  • BUG #13171: s3: libsmb: Fix valgrind read-after-free error in cli_smb2_close_fnum_recv().
  • BUG #13172: s3: libsmb: Fix reversing of oldname/newname paths when creating a reparse point symlink on Windows from smbclient.
  • Timur I. Bakeyev <timur@iXsystems.com>
  • BUG #12934: Build man page for vfs_zfsacl.8 with Samba.
  • Ralph Boehme <slow@samba.org>
  • BUG #6133: vfs_zfsacl: Fix compilation error.
  • BUG #13051: "smb encrypt" setting changes are not fully applied until full smbd restart.
  • BUG #13052: winbindd: Fix idmap_rid dependency on trusted domain list.
  • BUG #13155: vfs_fruit: Proper VFS-stackable conversion of FinderInfo.
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #13153: ctdb: sock_daemon leaks memory.
  • BUG #13154: TCP tickles not getting synchronised on CTDB restart.
  • Volker Lendecke <vl@samba.org>
  • BUG #13150: winbindd: Parent and child share a ctdb connection.
  • BUG #13179: pthreadpool: Fix starvation after fork.
  • BUG #13180: ctdb: Messaging initialisation for CTDB does not register unique ID.
  • Stefan Metzmacher <metze@samba.org>
  • Noel Power <noel.power@suse.com>
  • BUG #13166: s3:libads: net ads keytab list fails with "Key table name malformed".
  • Christof Schmitt <cs@samba.org>
:* BUG #13170: pthreadpool: Undo put_job when returning error.

Samba 4.6.11

Release Notes for Samba 4.6.11
November 21, 2017

This is a security release

in order to address the following defects:


All versions of Samba from 4.0.0 onwards are vulnerable to a use after free vulnerability, where a malicious SMB1 request can be used to control the contents of heap memory via a deallocated heap pointer. It is possible this may be used to compromise the SMB server.
All versions of Samba from 3.6.0 onwards are vulnerable to a heap memory information leak, where server allocated heap memory may be returned to the client without being cleared.
There is no known vulnerability associated with this error, but uncleared heap memory may contain previously used data that may help an attacker compromise the server via other methods. Uncleared heap memory may potentially contain password hashes or other high-value data.

For more details and workarounds, please see the security advisories:

Changes since 4.6.10

  • Jeremy Allison <jra@samba.org>

Samba 4.6.10

Release Notes for Samba 4.6.10
November 15, 2017

This is an additional bugfix release to address a possible data corruption issue. Please update immediately!

For details, please see

BUG #13130: smbd on disk file corruption bug under heavy threaded load.

Samba 4.6.0 and newer is affected by this issue.

Changes since 4.6.9:

  • Michael Adam <obnox@samba.org>
  • BUG #13091: vfs_glusterfs: Fix exporting subdirs with shadow_copy2.
  • Jeremy Allison <jra@samba.org>
  • BUG #13093: s3: smbclient: Ensure we call client_clean_name() before all operations on remote pathnames.
  • BUG #13121: Non-smbd processes using kernel oplocks can hang smbd.
  • Joe Guo <joeg@catalyst.net.nz>
  • BUG #13127: python: use communicate to fix Popen deadlock.
  • Volker Lendecke <vl@samba.org>
  • BUG #13130: smbd on disk file corruption bug under heavy threaded load.
  • Stefan Metzmacher <metze@samba.org>
  • Anoop C S <anoopcs@redhat.com>
  • BUG #13086: vfs_fruit: Replace closedir() by SMB_VFS_CLOSEDIR.
  • Christof Schmitt <cs@samba.org>
  • BUG #13047: smbd: Move check for SMB2 compound request to new function.
  • Andreas Schneider <asn@samba.org>
  • BUG #13047: s3:vfs_glusterfs: Fix a double free in vfs_gluster_getwd().
  • BUG #13101: s4:pyparam: Fix resource leaks on error.
  • Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
  • BUG #13118: s3: smbd: Fix delete-on-close after smb2_find.

Samba 4.6.9

Release Notes for Samba 4.6.9
October 25, 2017

This is the latest stable release of the Samba 4.6 release series.

Changes since 4.6.8:

  • Jeremy Allison <jra@samba.org>
  • BUG #12899: s3: libsmb: Reverse sense of 'clear all attributes', ignore attribute change in SMB2 to match SMB1.
  • BUG #12913: SMBC_setatr() initially uses an SMB1 call before falling back.
  • BUG #13003: Fix segfault on MacOS 10.12.3 clients caused by SMB_VFS_GET_COMPRESSION.
  • BUG #13069: sys_getwd() can leak memory or possibly return the wrong errno on older systems.
  • Ralph Boehme <slow@samba.org>
  • BUG #6133: Cannot delete non-ACL files on Solaris/ZFS/NFSv4 ACL filesystem.
  • BUG #7909: vfs_zfs_acl: Map SYNCHRONIZE acl permission statically.
  • BUG #7933: vfs_fake_acls: Honor SEC_STD_WRITE_OWNER bit.
  • BUG #12791: Kernel oplocks still have issues with named streams.
  • BUG #12944: vfs_gpfs: Handle EACCES when fetching DOS attributes.
  • BUG #12991: s3/mdssvc: Missing assignment in sl_pack_float.
  • BUG #12995: Fix wrong Samba access checks when changing DOS attributes.
  • BUG #13065: net: Groupmap cleanup should not delete BUILTIN mappings.
  • BUG #13076: Enabling vfs_fruit results in loss of Finder tags and other xattrs.
  • Samuel Cabrero <scabrero@suse.de>
  • BUG #12993: s3: spoolss: Fix GUID string format on GetPrinter info.
  • David Disseldorp <ddiss@samba.org>
  • BUG #12144: smbd/ioctl: Match WS2016 ReFS set compression behaviour.
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #13012: ctdb-daemon: Fix implementation of process_exists control.
  • BUG #13021: ctdb: GET_DB_SEQNUM control can cause ctdb to deadlock when databases are frozen.
  • BUG #13029: ctdb-daemon: Free up record data if a call request is deferred.
  • BUG #13036: ctdb-client: Initialize ctdb_ltdb_header completely for empty record.
  • BUG #13056: CTDB starts consuming memory if there are dead nodes in the cluster.
  • BUG #13070: ctdb-common: Ignore event scripts with multiple '.'s.
  • Lutz Justen <ljusten@google.com>
  • BUG #13046: libgpo: Sort the GPOs in the correct order.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #12973: 'smbd' uses a lot of CPU on startup of a connection.
  • BUG #13018: charset: Fix str[n]casecmp_m() by comparing lower case values.
  • BUG #13079: Can't change password in Samba from a windows client if Samba runs on IPv6 only interface.
  • Volker Lendecke <vl@samba.org>
  • BUG #12903: Fix file change notification for renames.
  • BUG #13006: messaging: Avoid a socket leak after fork.
  • BUG #13090: vfs_catia: Fix a potential memleak.
  • Christof Schmitt <cs@samba.org>
  • BUG #12983: vfs_default: Fix passing of errno from async calls.
  • BUG #13032: vfs_streams_xattr: Fix segfault when running with log level 10.
  • Andreas Schneider <asn@samba.org>
  • BUG #12629: s3:utils: Do not report an invalid range for AD DC role.
  • BUG #12704: s3:libsmb: Print the kinit failed message with DBGLVL_NOTICE.
  • BUG #12956: s3:libads: Fix changing passwords with Kerberos.
  • BUG #12975: Fix changing the password with 'smbpasswd' as a local user on a domain member.

Samba 4.6.8

Release Notes for Samba 4.6.8
September 20, 2017

This is a security release in order to address the following defects:


A man in the middle attack may hijack client connections.
A man in the middle attack can read and may alter confidential documents transferred via a client connection, which are reached via DFS redirect when the original connection used SMB3.
Client with write access to a share can cause server memory contents to be written into a file or printer.

For more details and workarounds, please see the security advisories:


Changes since 4.6.7:

  • Jeremy Allison <jra@samba.org>
  • BUG #12836: s3: smbd: Fix a read after free if a chained SMB1 call goes async.
  • BUG #13020: CVE-2017-12163: s3:smbd: Prevent client short SMB1 write from writing server memory to file.
  • Ralph Boehme <slow@samba.org>
  • BUG #12885: s3/smbd: Let non_widelink_open() chdir() to directories directly.
  • Stefan Metzmacher <metze@samba.org>

Samba 4.6.7

Release Notes for Samba 4.6.7
August 9, 2017

This is the latest stable release of the Samba 4.6 release series.

Changes since 4.6.6:

  • Jeremy Allison <jra@samba.org>
  • BUG #12836: s3: smbd: Fix a read after free if a chained SMB1 call goes async.
  • Andrew Bartlett <abartlet@samba.org>
  • BUG #11392: s4-cldap/netlogon: Match Windows 2012R2 and return NETLOGON_NT_VERSION_5 when version unspecified.
  • Ralph Boehme <slow@samba.org>
  • BUG #12885: s3/smbd: Let non_widelink_open() chdir() to directories directly.
  • BUG #12910: s3/notifyd: Ensure notifyd doesn't return from smbd_notifyd_init.
  • Günther Deschner <gd@samba.org>
  • BUG #12840: vfs_fruit: Add fruit:model = <modelname> parametric option.
  • David Disseldorp <ddiss@samba.org>
  • Dustin L. Howett
  • BUG #12720: idmap_ad: Retry query_user exactly once if we get TLDAP_SERVER_DOWN.
  • Thomas Jarosch <thomas.jarosch@intra2net.com>
  • BUG #12927: s3: libsmb: Fix use-after-free when accessing pointer *p.
  • Volker Lendecke <vl@samba.org>
  • BUG #12925: smbd: Fix a connection run-down race condition.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #12782: winbindd changes the local password and gets NT_STATUS_WRONG_PASSWORD for the remote change.
  • BUG #12890: s3:smbd: consistently use talloc_tos() memory for rpc_pipe_open_interface().
  • Noel Power <noel.power@suse.com>
  • BUG #12937: smbcacls: Don't fail against a directory on Windows using SMB2.
  • Arvid Requate <requate@univention.de>
  • BUG #11392: s4-dsdb/netlogon: Allow missing ntver in cldap ping.
  • Garming Sam <garming@catalyst.net.nz>
  • BUG #12813: dnsserver: Stop dns_name_equal doing OOB read.
  • Andreas Schneider <asn@samba.org>
  • BUG #12886: s3:client: The smbspool krb5 wrapper needs negotiate for authentication.
  • Martin Schwenke <martin@meltin.net>
  • BUG #12898: ctdb-common: Set close-on-exec when creating PID file.

Samba 4.6.6

Release Notes for Samba 4.6.6
July 12, 2017

This is a security release in order to address the following defect:

CVE-2017-11103 (Orpheus' Lyre mutual authentication validation bypass)


All versions of Samba from 4.0.0 onwards using embedded Heimdal Kerberos are vulnerable to a man-in-the-middle attack impersonating a trusted server, who may gain elevated access to the domain by returning malicious replication or authorization data.
Samba binaries built against MIT Kerberos are not vulnerable.

Changes since 4.6.5

  • Jeffrey Altman <jaltman@secure-endpoints.com>
  • BUG #12894: CVE-2017-11103: Orpheus' Lyre KDC-REP service name validation

Samba 4.6.5

Release Notes for Samba 4.6.5
June 6, 2017

This is the latest stable release of the Samba 4.6 release series.

Changes since 4.6.4:

  • Jeremy Allison <jra@samba.org>
  • BUG #12804: s3: VFS: Catia: Ensure path name is also converted.
  • Christian Ambach <ambi@samba.org>
  • Ralph Boehme <slow@samba.org>
  • BUG #12562: vfs_acl_xattr|tdb: Ensure create mask is at least 0666 if ignore_system_acls is set.
  • BUG #12702: Wrong sid->uid mapping for SIDs residing in sIDHistory.
  • BUG #12749: vfs_fruit: lp_case_sensitive() does not return a bool.
  • BUG #12766: s3/smbd: Update exclusive oplock optimisation to the lease area.
  • BUG #12798: s3/smbd: Fix exclusive lease optimisation.
  • Alexander Bokovoy <ab@samba.org>
  • BUG #12751: Allow passing trusted domain password as plain-text to PASSDB layer.
  • BUG #12764: systemd: Fix detection of libsystemd.
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #12697: ctdb-readonly: Avoid a tight loop waiting for revoke to complete.
  • BUG #12770: ctdb-logging: Initialize DEBUGLEVEL before changing the value.
  • Shilpa Krishnareddy <skrishnareddy@panzura.com>
  • BUG #12756: notify: Fix ordering of events in notifyd.
  • Volker Lendecke <vl@samba.org>
  • BUG #12757: idmap_rfc2307: Lookup of more than two SIDs fails.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #12767: samba-tool: Let 'samba-tool user syncpasswords' report deletions immediately.
  • Doug Nazar <nazard@nazar.ca>
  • BUG #12760: s3: smbd: inotify_map_mask_to_filter incorrectly indexes an array.
  • Andreas Schneider <asn@samba.org>
  • BUG #12687: vfs_expand_msdfs tries to open the remote address as a file path.
  • Martin Schwenke <martin@meltin.net>
  • BUG #12802: 'ctdb nodestatus' incorrectly displays status for all nodes with wrong exit code.
  • BUG #12814: ctdb-common: Fix crash in logging initialisation.

Samba 4.6.4

Release Notes for Samba 4.6.4
May 24, 2017

This is a security release in order to address the following defect:


All versions of Samba from 3.5.0 onwards are vulnerable to a remote code execution vulnerability, allowing a malicious client to upload a shared library to a writable share, and then cause the server to load and execute it.

Mitigation from Redhat

Any of the following:

  1. SELinux is enabled by default and our default policy prevents loading of modules from outside of samba's module directories and therefore blocks the exploit
  2. Mount the filessytem which is used by samba for its writeable share, using "noexec" option.
  3. Add the parameter:
nt pipe support = no
to the [global] section of your smb.conf and restart smbd. This prevents clients from accessing any named pipe endpoints. Note this can disable some expected functionality for Windows clients.

Changes since 4.6.3:

  • Volker Lendecke <vl@samba.org>

Samba 4.6.3

Release Notes for Samba 4.6.3
April 25, 2017

This is the latest stable release of the Samba 4.6 release series.

Changes since 4.6.2:

  • Michael Adam <obnox@samba.org>
  • BUG #12743: s3:vfs:shadow_copy2: vfs_shadow_copy2 fails to list snapshots from shares with GlusterFS backend.
  • Jeremy Allison <jra@samba.org>
  • BUG #12559: Fix for Solaris C compiler.
  • BUG #12628: s3: locking: Update oplock optimization for the leases era.
  • BUG #12693: Make the Solaris C compiler happy.
  • BUG #12695: s3: libgpo: Allow skipping GPO objects that don't have the expected LDAP attributes.
  • BUG #12747: Fix buffer overflow caused by wrong use of getgroups.
  • Hanno Boeck <hanno@hboeck.de>
  • BUG #12746: lib: debug: Avoid negative array access.
  • BUG #12748: cleanupdb: Fix a memory read error.
  • Ralph Boehme <slow@samba.org>
  • BUG #7537: streams_xattr and kernel oplocks results in NT_STATUS_NETWORK_BUSY.
  • BUG #11961: winbindd: idmap_autorid allocates ids for unknown SIDs from other backends.
  • BUG #12565: vfs_fruit: Resource fork open request with flags=O_CREAT|O_RDONLY.
  • BUG #12615: manpages/vfs_fruit: Document global options.
  • BUG #12624: lib/pthreadpool: Fix a memory leak.
  • BUG #12727: Lookup-domain for well-known SIDs on a DC.
  • BUG #12728: winbindd: Fix error handling in rpc_lookup_sids().
  • BUG #12729: winbindd: Trigger possible passdb_dsdb initialisation.
  • Alexander Bokovoy <ab@samba.org>
  • BUG #12611: credentials_krb5: use gss_acquire_cred for client-side GSSAPI use case.
  • BUG #12690: lib/crypto: Implement samba.crypto Python module for RC4.
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #12697: ctdb-readonly: Avoid a tight loop waiting for revoke to complete.
  • BUG #12723: ctdb_event monitor command crashes if event is not specified.
  • BUG #12733: ctdb-docs: Fix documentation of "-n" option to 'ctdb tool'.
  • Volker Lendecke <vl@samba.org>
  • BUG #12558: smbd: Fix smb1 findfirst with DFS.
  • BUG #12610: smbd: Do an early exit on negprot failure.
  • BUG #12699: winbindd: Fix substitution for 'template homedir'.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #12554: s4:kdc: Disable principal based autodetected referral detection.
  • BUG #12613: idmap_autorid: Allocate new domain range if the callers knows the sid is valid.
  • BUG #12724: LINKFLAGS_PYEMBED should not contain -L/some/path.
  • BUG #12725: PAM auth with WBFLAG_PAM_GET_PWD_POLICY returns wrong policy for trusted domain.
  • BUG #12731: rpcclient: Allow -U'OTHERDOMAIN\user' again.
  • Christof Schmitt <cs@samba.org>
  • BUG #12725: winbindd: Fix password policy for pam authentication.
  • Andreas Schneider <asn@samba.org>
  • BUG #12554: s3:gse: Correctly handle external trusts with MIT.
  • BUG #12611: auth/credentials: Always set the realm if we set the principal from the ccache.
  • BUG #12686: replace: Include sysmacros.h.
  • BUG # 12687: s3:vfs_expand_msdfs: Do not open the remote address as a file.
  • BUG #12704: s3:libsmb: Only print error message if kerberos use is forced.
  • BUG #12708: winbindd: Child process crashes when kerberos-authenticating a user with wrong password.
  • Uri Simchoni <uri@samba.org>
  • BUG #12715: vfs_fruit: Office document opens as read-only on macOS due to CNID semantics.
  • BUG #12737: vfs_acl_xattr: Fix failure to get ACL on Linux if memory is fragmented.

Samba 4.6.2

Release Notes for Samba 4.6.2
March 31, 2017

This is a bug fix release to address a regression introduced by the security fixes for CVE-2017-2619 (Symlink race allows access outside share definition).

Please see BUG #12721 for details.

Changes since 4.6.1:

  • Jeremy Allison <jra@samba.org>
  • BUG #12721: Fix regression with "follow symlinks = no".

Samba 4.6.1

Release Notes for Samba 4.6.1
March 23, 2017

This is a security release in order to address the following defect: CVE-2017-2619

  • CVE-2017-2619 (Symlink race allows access outside share definition)


All versions of Samba prior to 4.6.1, 4.5.7, 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.
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.

Changes since 4.6.0:

  • Jeremy Allison <jra@samba.org>
  • Ralph Boehme <slow@samba.org>

Samba 4.6.0

Release Notes for Samba 4.6.0
March 7, 2017

Release Announcements

This is the first stable release of Samba 4.6.

Please read the release notes carefully before upgrading.


ID Mapping

We discovered that the majority of users have an invalid or incorrect ID mapping configuration. We implemented checks in the 'testparm' tool to validate the ID mapping configuration. You should run it and check if it prints any warnings or errors after upgrading! If it does you should fix them. See the 'IDENTITY MAPPING CONSIDERATIONS' section in the smb.conf manpage. There are some ID mapping backends which are not allowed to be used for the default backend. Winbind will no longer start if an invalid backend is configured as the default backend.

To avoid problems in future we advise all users to run 'testparm' after changing the smb.conf file!

vfs_fruit option "fruit:resource" spelling correction

Due to a spelling error in the vfs_fruit option parsing for the "fruit:resource" option, users who have set this option in their smb.conf were still using the default setting "fruit:resource = file" as the parser was looking for the string "fruit:ressource" (two "s").

After upgrading to this Samba version 4.6, you MUST either remove the option from your smb.conf or set it to the default "fruit:resource = file", otherwise your macOS clients will not be able to access the resource fork data.

This version Samba 4.6 accepts both the correct and incorrect spelling, but the next Samba version 4.7 will not accept the wrong spelling.

Users who were using the wrong spelling "ressource" with two "s" can keep the setting, but are advised to switch to the correct spelling.

vfs_fruit Netatalk metadata xattr name on *BSD

Users on *BSD must rename the metadata xattr used by vfs_fruit when using the default setting "fruit:metadata = netatalk".

Due to a glitch in the Samba xattr API compatibility layer for FreeBSD and a mistake in vfs_fruit, vfs_fruit ended up using the wrong xattr name when configured with "fruit:metadata = netatalk" (default). Instead of the correct


it used


Starting with Samba 4.6 vfs_fruit will use the correct "org.netatalk.Metadata" which means existing installations must rename this xattrs. For this purpose Samba now includes a new tool `mvxattr`. See below for further details.


Kerberos client encryption types

Some parts of Samba (most notably winbindd) perform Kerberos client operations based on a Samba-generated krb5.conf file. A new parameter, "kerberos encryption types" allows configuring the encryption types set in this file, thereby allowing the user to enforce strong or legacy encryption in Kerberos exchanges.

The default value of "all" is compatible with previous behavior, allowing all encryption algorithms to be negotiated. Setting the parameter to "strong" only allows AES-based algorithms to be negotiated. Setting the parameter to "legacy" allows only RC4-HMAC-MD5 - the legacy algorithm for Active Directory. This can solves some corner cases of mixed environments with Server 2003R2 and newer DCs.


Support for uploading printer drivers from newer Windows clients (Windows 10) has been added until our implementation of [MS-PAR] protocol is ready. Several issues with uploading different printing drivers have been addressed.

The OS Version for the printing server has been increased to announce Windows Server 2003 R2 SP2. If a driver needs a newer version then you should check the smb.conf manpage for details.

New option for owner inheritance

The "inherit owner" smb.conf parameter instructs smbd to set the owner of files to be the same as the parent directory's owner. Up until now, this parameter could be set to "yes" or "no". A new option, "unix only", enables this feature only for the UNIX owner of the file, not affecting the SID owner in the Windows NT ACL of the file. This can be used to emulate something very similar to folder quotas.

Multi-process Netlogon support

The Netlogon server in the Samba AD DC can now run as multiple processes. The Netlogon server is a part of the AD DC that handles NTLM authentication on behalf of domain members, including file servers, NTLM-authenticated web servers and 802.1x gateways. The previous restriction to running as a single process has been removed, and it will now run in the same process model as the rest of the 'samba' binary.

As part of this change, the NETLOGON service will now run on a distinct TCP port, rather than being shared with all other RPC services (LSA, SAMR, DRSUAPI etc).

New options for controlling TCP ports used for RPC services

The new 'rpc server port' option controls the default port used for RPC services other than Netlogon. The Netlogon server honours instead the 'rpc server port:netlogon' option. The default value for both these options is the first available port including or after 1024.

AD LDAP and replication performance improvements

Samba's LDB (the database holding the AD directory tree, as seen via LDAP) and our DRSUAPI replication code continues to improve, particularly in respect to the handling of large numbers of objects or linked attributes.

  • We now respect an 'uptodateness vector' which will dramatically reduce the over-replication of links from new DCs.
  • We have also made the parsing of on-disk linked attributes much more efficient.
  • We rely on ldb 1.1.28. This ldb version has improved memory handling for ldb search results, improving poorly indexed and unindexed search result processing speed by around 20%.

DNS improvements

The samba-tool dns subcommand is now much more robust and can delete records in a number of situations where it was not possible to do so in the past.

On the server side, DNS names are now more strictly validated.

CTDB changes

  • "ctdb event" is a new top-level command for interacting with event scripts
"ctdb event status" replaces "ctdb scriptstatus" - the latter is maintained for backward compatibility but the output format has been cleaned up
"ctdb event run" replaces "ctdb eventscript"
"ctdb event script enable" replaces "ctdb enablescript"
"ctdb event script disable" replaces "ctdb disablescript"

The new command "ctdb event script list" lists event scripts.

  • CTDB's back-end for running event scripts has been replaced by a separate, long-running daemon ctdbd_eventd.
  • Running ctdb interactively will log to stderr
  • CTDB logs now include process id for each process
  • CTDB tags log messages differently. Changes include:
ctdb-recoverd: Messages from CTDB's recovery daemon
ctdb-recovery: Messages from CTDB database recovery
ctdb-eventd: Messages from CTDB's event daemon
ctdb-takeover: Messages from CTDB's public IP takeover subsystem
  • The mapping between symbolic and numeric debug levels has changed
Configurations containing numeric debug levels should be updated. Symbolic debug levels are recommended. See the DEBUG LEVEL section of ctdb(7) for details.
  • Tunable IPAllocAlgorithm replaces LCP2PublicIPs, DeterministicIPs
See ctdb-tunables(7) for details.
  • CTDB's configuration tunables should be consistently set across a cluster
This has always been the cases for most tunables but this fact is now documented.
  • CTDB ships with recovery lock helper call-outs for etcd and Ceph RADOS
To build/install these, use the
"--enable-etcd-reclock" and
"--enable-ceph-reclock" configure options.

winbind changes

winbind contains code that tries to emulate the group membership calculation that domain controllers do when a user logs in. This group membership calculation is a very complex process, in particular for domain trust relationship situations. Also, in many scenarios it is impossible for winbind to correctly do this calculation due to access restrictions in the domains: winbind using its machine account simply does not have the rights to ask for an arbitrary user's group memberships.

When a user logs in to a Samba server, the domain controller correctly calculates the user's group memberships authoritatively and makes the information available to the Samba server. This is the only reliable way Samba can get informed about the groups a user is member of.

Because of its flakiness, the fallback group membership code is unwished, and our code pathes try hard to only use of the group memberships calculated by the domain controller.

However, a lot of admins rely on the fallback behavior in order to support access for nfs access, ssh public key authentication and passwordless sudo.

That's the reason for changing this back between 4.6.0rc4 and 4.6.0 (See BUG #12612).

The winbind change to simplify the calculation of supplementary groups to make it more reliable and predictable has been deferred to 4.7 or later.

This means that "id <username>" without the user having logged in previously stops showing any supplementary groups. Also, it will show "DOMAIN\Domain Users" as the primary group. Once the user has logged in, "id <username>" will correctly show the primary group and supplementary group list.

winbind primary group and nss info

With 4.6, it will be possible to optionally use the primary group as set in the "Unix Attributes" tab for the local unix token of a domain user. Before 4.6, the Windows primary group was always chosen as primary group for the local unix token.

To activate the unix primary group, set

idmap config <DOMAIN> : unix_primary_group = yes

Similarly, set

idmap config <DOMAIN> : unix_nss_info = yes

to retrieve the home directory and login shell from the "Unix Attributes" of the user. This supersedes the "winbind nss info" parameter with a per-domain configuration option.


mvxattr is a simple utility to recursively rename extended attributes of all files and directories in a directory tree.

 Usage: mvxattr -s STRING -d STRING PATH [PATH ...]
   -s, --from=STRING         xattr source name
   -d, --to=STRING           xattr destination name
   -l, --follow-symlinks     follow symlinks, the default is to ignore them
   -p, --print               print files where the xattr got renamed
   -v, --verbose             print files as they are checked
   -f, --force               force overwriting of destination xattr
 Help options:
   -?, --help                Show this help message
   --usage                   Display brief usage message


The idmap_hash module is marked as deprecated with this release and will be removed in a future version. See the manpage of the module for details.

smb.conf changes

 Parameter Name                Description             Default
 --------------                -----------             -------
 kerberos encryption types     New                     all
 inherit owner                 New option
 fruit:resource                Spelling correction
 lsa over netlogon             New (deprecated)        no
 rpc server port               New                     0


  • Jeremy Allison <jra@samba.org>
  • BUG #12592: Fix several issues found by covscan.
  • BUG #12608: s3: smbd: Restart reading the incoming SMB2 fd when the send queue is drained.
  • Ralph Boehme <slow@samba.org>
  • BUG #12427: vfs_fruit doesn't work with fruit:metadata=stream.
  • BUG #12526: vfs_fruit: Only veto AppleDouble files if "fruit:resource" is set to "file".
  • BUG #12604: vfs_fruit: Enabling AAPL extensions must be a global switch.
  • Volker Lendecke <vl@samba.org>
  • BUG 12612: Re-enable token groups fallback.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #9048: Samba4 ldap error codes.
  • BUG #12557: gensec:spnego: Add debug message for the failed principal.
  • BUG #12605: s3:winbindd: Fix endless forest trust scan.
  • BUG #12612: winbindd: Find the domain based on the sid within wb_lookupusergroups_send().
  • Andreas Schneider <asn@samba.org>
  • BUG #12557: s3:librpc: Handle gss_min in gse_get_client_auth_token() correctly.
  • BUG #12582: idmap_hash: Add a deprecation message, improve the idmap_hash manpage.
  • BUG #12592: Fix several issues found by covscan.
  • Martin Schwenke <martin@meltin.net>
  • BUG #12592: ctdb-logging: CID 1396883 Dereference null return value (NULL_RETURNS).
  • Jeremy Allison <jra@samba.org>
  • BUG #12545: s3: rpc_server/mdssvc: Add attribute "kMDItemContentType".
  • BUG #12572: s3: smbd: Don't loop infinitely on bad-symlink resolution.
  • Ralph Boehme <slow@samba.org>
  • BUG #12490: vfs_fruit: Correct Netatalk metadata xattr on FreeBSD.
  • BUG #12536: s3/smbd: Check for invalid access_mask smbd_calculate_access_mask().
  • BUG #12591: vfs_streams_xattr: use fsp, not base_fsp.
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #12580: ctdb-common: Fix use-after-free error in comm_fd_handler().
  • BUG #12595: build: Fix generation of CTDB manpages while creating tarball.
  • Bryan Mason <bmason@redhat.com>
  • BUG #12575: Modify smbspool_krb5_wrapper to just fall through to smbspool if AUTH_INFO_REQUIRED is not set or is not "negotiate".
  • Stefan Metzmacher <metze@samba.org>
  • BUG #11830: s3:winbindd: Try a NETLOGON connection with noauth over NCACN_NP against trusted domains.
  • BUG #12262: 'net ads testjoin' and smb access fails after winbindd changed the trust password.
  • BUG #12585: librpc/rpc: fix regression in NT_STATUS_RPC_ENUM_VALUE_OUT_OF_RANGE error mapping.
  • BUG #12586: netlogon_creds_cli_LogonSamLogon doesn't work without netr_LogonSamLogonEx.
  • BUG #12587: winbindd child segfaults on connect to an NT4 domain.
  • BUG #12588: s3:winbindd: Make sure cm_prepare_connection() only returns OK with a valid tree connect.
  • BUG #12598: winbindd (as member) requires kerberos against trusted ad domain, while it shouldn't.
  • BUG #12598: Backport pytalloc_GenericObject_reference() related changes to 4.6.
  • Garming Sam <garming@catalyst.net.nz>
  • BUG #12598: dbchecker: Stop ignoring linked cases where both objects are alive.
  • Andreas Schneider <asn@samba.org>
  • BUG #12571: s3-vfs: Only walk the directory once in open_and_sort_dir().
  • Martin Schwenke <martin@meltin.net>
  • BUG #12589: CTDB statd-callout does not cause grace period when CTDB_NFS_CALLOUT="".
  • BUG #12595: ctdb-build: Fix RPM build.
  • Jeremy Allison <jra@samba.org>
  • BUG #12499: s3: vfs: dirsort doesn't handle opendir of "." correctly.
  • BUG #12546: s3: VFS: vfs_streams_xattr.c: Make streams_xattr_open() store the same path as streams_xattr_recheck().
  • BUG #12531: Make vfs_shadow_copy2 cope with server changing directories.
  • Andrew Bartlett <abartlet@samba.org>
  • BUG #12543: samba-tool: Correct handling of default value for use_ntvfs and use_xattrs.
  • BUG #12573: Samba < 4.7 does not know about compatibleFeatures and requiredFeatures.
  • BUG #12577: 'samba-tool dbcheck' gives errors on one-way links after a rename.
  • Ralph Boehme <slow@samba.org>
  • BUG #12184: s3/rpc_server: Shared rpc modules loading.
  • BUG #12520: Ensure global "smb encrypt = off" is effective.
  • BUG #12524: s3/rpc_server: Move rpc_modules.c to its own subsystem.
  • BUG #12541: vfs_fruit: checks wrong AAPL config state and so always uses readdirattr.
  • Volker Lendecke <vl@samba.org>
  • Stefan Metzmacher <metze@samba.org>
  • BUG #12540: s3:smbd: allow "server min protocol = SMB3_00" to go via "SMB 2.???" negprot.
  • John Mulligan <jmulligan@nasuni.com>
  • BUG #12542: docs: Improve description of "unix_primary_group" parameter in idmap_ad manpage.
  • Andreas Schneider <asn@samba.org>
  • BUG #12552: waf: Do not install the unit test binary for krb5samba.
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #12547: ctdb-build: Install CTDB tests correctly from toplevel.
  • BUG #12549: ctdb-common: ioctl(.. FIONREAD ..) returns an int value.
  • Garming Sam <garming@catalyst.net.nz>
  • BUG #12577: 'samba-tool dbcheck' gives errors on one-way links after a rename.
  • Uri Simchoni <uri@samba.org>
  • Amitay Isaacs <amitay@gmail.com>
  • BUG #12469: CTDB lock helper getting stuck trying to lock a record.
  • BUG #12500: ctdb-common: Fix a bug in packet reading code for generic socket I/O.
  • BUG #12510: sock_daemon_test 4 crashes with SEGV.
  • BUG #12513: ctdb-daemon: Remove stale eventd socket.
  • Björn Jacke <bj@sernet.de>
  • BUG #12535: vfs_default: Unlock the right file in copy chunk.
  • Volker Lendecke <vl@samba.org>
  • BUG #12509: messaging: Fix dead but not cleaned-up-yet destination sockets.
  • BUG #12538: Backport winbind fixes.
  • Stefan Metzmacher <metze@samba.org>
  • BUG #12460: s3:winbindd: talloc_steal the extra_data in winbindd_list_users_recv().
  • Martin Schwenke <martin@meltin.net>
  • BUG #12511: ctdb-takeover: Handle case where there are no RELEASE_IPs to send.
  • BUG #12512: ctdb-scripts: Fix remaining uses of "ctdb gratiousarp".
  • BUG #12516: /etc/iproute2/rt_tables gets populated with multiple 'default' entries.