1 =============================
2 Release Notes for Samba 4.6.2
4 =============================
7 This is a bug fix release to address a regression introduced by the security
8 fixes for CVE-2017-2619 (Symlink race allows access outside share definition).
9 Please see https://bugzilla.samba.org/show_bug.cgi?id=12721 for details.
15 o Jeremy Allison <jra@samba.org>
16 * BUG 12721: Fix regression with "follow symlinks = no".
19 #######################################
20 Reporting bugs & Development Discussion
21 #######################################
23 Please discuss this release on the samba-technical mailing list or by
24 joining the #samba-technical IRC channel on irc.freenode.net.
26 If you do report problems then please try to send high quality
27 feedback. If you don't provide vital information to help us track down
28 the problem then you will probably be ignored. All bug reports should
29 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
30 database (https://bugzilla.samba.org/).
33 ======================================================================
34 == Our Code, Our Bugs, Our Responsibility.
36 ======================================================================
39 Release notes for older releases follow:
40 ----------------------------------------
42 =============================
43 Release Notes for Samba 4.6.1
45 =============================
48 This is a security release in order to address the following defect:
50 o CVE-2017-2619 (Symlink race allows access outside share definition)
57 All versions of Samba prior to 4.6.1, 4.5.7, 4.4.11 are vulnerable to
58 a malicious client using a symlink race to allow access to areas of
59 the server file system not exported under the share definition.
61 Samba uses the realpath() system call to ensure when a client requests
62 access to a pathname that it is under the exported share path on the
65 Clients that have write access to the exported part of the file system
66 via SMB1 unix extensions or NFS to create symlinks can race the server
67 by renaming a realpath() checked path and then creating a symlink. If
68 the client wins the race it can cause the server to access the new
69 symlink target after the exported share path check has been done. This
70 new symlink target can point to anywhere on the server file system.
72 This is a difficult race to win, but theoretically possible. Note that
73 the proof of concept code supplied wins the race reliably only when
74 the server is slowed down using the strace utility running on the
75 server. Exploitation of this bug has not been seen in the wild.
81 o Jeremy Allison <jra@samba.org>
82 * BUG 12496: CVE-2017-2619: Symlink race permits opening files outside share
85 o Ralph Boehme <slow@samba.org>
86 * BUG 12496: CVE-2017-2619: Symlink race permits opening files outside share
90 #######################################
91 Reporting bugs & Development Discussion
92 #######################################
94 Please discuss this release on the samba-technical mailing list or by
95 joining the #samba-technical IRC channel on irc.freenode.net.
97 If you do report problems then please try to send high quality
98 feedback. If you don't provide vital information to help us track down
99 the problem then you will probably be ignored. All bug reports should
100 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
101 database (https://bugzilla.samba.org/).
104 ======================================================================
105 == Our Code, Our Bugs, Our Responsibility.
107 ======================================================================
110 ----------------------------------------------------------------------
113 ==============================
114 Release Notes for Samba 4.6.0
116 ==============================
119 This is the first stable release of Samba 4.6.
120 Please read the release notes carefully before upgrading.
128 We discovered that the majority of users have an invalid or incorrect
129 ID mapping configuration. We implemented checks in the 'testparm' tool to
130 validate the ID mapping configuration. You should run it and check if it prints
131 any warnings or errors after upgrading! If it does you should fix them. See the
132 'IDENTITY MAPPING CONSIDERATIONS' section in the smb.conf manpage.
133 There are some ID mapping backends which are not allowed to be used for the
134 default backend. Winbind will no longer start if an invalid backend is
135 configured as the default backend.
137 To avoid problems in future we advise all users to run 'testparm' after
138 changing the smb.conf file!
140 vfs_fruit option "fruit:resource" spelling correction
141 -----------------------------------------------------
143 Due to a spelling error in the vfs_fruit option parsing for the "fruit:resource"
144 option, users who have set this option in their smb.conf were still using the
145 default setting "fruit:resource = file" as the parser was looking for the string
146 "fruit:ressource" (two "s").
148 After upgrading to this Samba version 4.6, you MUST either remove the option
149 from your smb.conf or set it to the default "fruit:resource = file", otherwise
150 your macOS clients will not be able to access the resource fork data.
152 This version Samba 4.6 accepts both the correct and incorrect spelling, but the
153 next Samba version 4.7 will not accept the wrong spelling.
155 Users who were using the wrong spelling "ressource" with two "s" can keep the
156 setting, but are advised to switch to the correct spelling.
158 vfs_fruit Netatalk metadata xattr name on *BSD
159 ----------------------------------------------
161 Users on *BSD must rename the metadata xattr used by vfs_fruit when
162 using the default setting "fruit:metadata = netatalk".
164 Due to a glitch in the Samba xattr API compatibility layer for FreeBSD and a
165 mistake in vfs_fruit, vfs_fruit ended up using the wrong xattr name when
166 configured with "fruit:metadata = netatalk" (default). Instead of the correct
168 org.netatalk.Metadata
174 Starting with Samba 4.6 vfs_fruit will use the correct "org.netatalk.Metadata"
175 which means existing installations must rename this xattrs. For this purpose
176 Samba now includes a new tool `mvxattr`. See below for further details.
182 Kerberos client encryption types
183 --------------------------------
184 Some parts of Samba (most notably winbindd) perform Kerberos client
185 operations based on a Samba-generated krb5.conf file. A new
186 parameter, "kerberos encryption types" allows configuring the
187 encryption types set in this file, thereby allowing the user to
188 enforce strong or legacy encryption in Kerberos exchanges.
190 The default value of "all" is compatible with previous behavior, allowing
191 all encryption algorithms to be negotiated. Setting the parameter to "strong"
192 only allows AES-based algorithms to be negotiated. Setting the parameter to
193 "legacy" allows only RC4-HMAC-MD5 - the legacy algorithm for Active Directory.
194 This can solves some corner cases of mixed environments with Server 2003R2 and
199 Support for uploading printer drivers from newer Windows clients (Windows 10)
200 has been added until our implementation of [MS-PAR] protocol is ready.
201 Several issues with uploading different printing drivers have been addressed.
203 The OS Version for the printing server has been increased to announce
204 Windows Server 2003 R2 SP2. If a driver needs a newer version then you should
205 check the smb.conf manpage for details.
207 New option for owner inheritance
208 --------------------------------
209 The "inherit owner" smb.conf parameter instructs smbd to set the
210 owner of files to be the same as the parent directory's owner.
211 Up until now, this parameter could be set to "yes" or "no".
212 A new option, "unix only", enables this feature only for the UNIX owner
213 of the file, not affecting the SID owner in the Windows NT ACL of the
214 file. This can be used to emulate something very similar to folder quotas.
216 Multi-process Netlogon support
217 ------------------------------
219 The Netlogon server in the Samba AD DC can now run as multiple
220 processes. The Netlogon server is a part of the AD DC that handles
221 NTLM authentication on behalf of domain members, including file
222 servers, NTLM-authenticated web servers and 802.1x gateways. The
223 previous restriction to running as a single process has been removed,
224 and it will now run in the same process model as the rest of the
227 As part of this change, the NETLOGON service will now run on a distinct
228 TCP port, rather than being shared with all other RPC services (LSA,
231 New options for controlling TCP ports used for RPC services
232 -----------------------------------------------------------
234 The new 'rpc server port' option controls the default port used for
235 RPC services other than Netlogon. The Netlogon server honours instead
236 the 'rpc server port:netlogon' option. The default value for both
237 these options is the first available port including or after 1024.
239 AD LDAP and replication performance improvements
240 ------------------------------------------------
242 Samba's LDB (the database holding the AD directory tree, as seen via
243 LDAP) and our DRSUAPI replication code continues to improve,
244 particularly in respect to the handling of large numbers of objects or
247 * We now respect an 'uptodateness vector' which will dramatically
248 reduce the over-replication of links from new DCs.
250 * We have also made the parsing of on-disk linked attributes much
253 * We rely on ldb 1.1.28. This ldb version has improved memory
254 handling for ldb search results, improving poorly indexed and
255 unindexed search result processing speed by around 20%.
260 The samba-tool dns subcommand is now much more robust and can delete
261 records in a number of situations where it was not possible to do so
264 On the server side, DNS names are now more strictly validated.
269 * "ctdb event" is a new top-level command for interacting with event scripts
271 "ctdb event status" replaces "ctdb scriptstatus" - the latter is
272 maintained for backward compatibility but the output format has been
275 "ctdb event run" replaces "ctdb eventscript"
277 "ctdb event script enable" replaces "ctdb enablescript"
279 "ctdb event script disable" replaces "ctdb disablescript"
281 The new command "ctdb event script list" lists event scripts.
283 * CTDB's back-end for running event scripts has been replaced by a
284 separate, long-running daemon ctdbd_eventd.
286 * Running ctdb interactively will log to stderr
288 * CTDB logs now include process id for each process
290 * CTDB tags log messages differently. Changes include:
292 ctdb-recoverd: Messages from CTDB's recovery daemon
293 ctdb-recovery: Messages from CTDB database recovery
294 ctdb-eventd: Messages from CTDB's event daemon
295 ctdb-takeover: Messages from CTDB's public IP takeover subsystem
297 * The mapping between symbolic and numeric debug levels has changed
299 Configurations containing numeric debug levels should be updated.
300 Symbolic debug levels are recommended. See the DEBUG LEVEL section
301 of ctdb(7) for details.
303 * Tunable IPAllocAlgorithm replaces LCP2PublicIPs, DeterministicIPs
305 See ctdb-tunables(7) for details.
307 * CTDB's configuration tunables should be consistently set across a cluster
309 This has always been the cases for most tunables but this fact is
312 * CTDB ships with recovery lock helper call-outs for etcd and Ceph RADOS
314 To build/install these, use the "--enable-etcd-reclock" and
315 "--enable-ceph-reclock" configure options.
320 winbind contains code that tries to emulate the group membership calculation
321 that domain controllers do when a user logs in. This group membership calculation
322 is a very complex process, in particular for domain trust relationship
323 situations. Also, in many scenarios it is impossible for winbind to
324 correctly do this calculation due to access restrictions in the
325 domains: winbind using its machine account simply does not have the
326 rights to ask for an arbitrary user's group memberships.
328 When a user logs in to a Samba server, the domain controller correctly
329 calculates the user's group memberships authoritatively and makes the
330 information available to the Samba server. This is the only reliable
331 way Samba can get informed about the groups a user is member of.
333 Because of its flakiness, the fallback group membership code is unwished,
334 and our code pathes try hard to only use of the group memberships
335 calculated by the domain controller.
337 However, a lot of admins rely on the fallback behavior in order to support
338 access for nfs access, ssh public key authentication and passwordless sudo.
340 That's the reason for changing this back between 4.6.0rc4 and 4.6.0
343 The winbind change to simplify the calculation of supplementary groups to make
344 it more reliable and predictable has been deferred to 4.7 or later.
346 This means that 'id <username>' without the user having logged in
347 previously works similar to 4.5.
349 winbind primary group and nss info
350 ----------------------------------
352 With 4.6, it will be possible to optionally use the primary group as
353 set in the "Unix Attributes" tab for the local unix token of a domain
354 user. Before 4.6, the Windows primary group was always chosen as
355 primary group for the local unix token.
357 To activate the unix primary group, set
359 idmap config <DOMAIN> : unix_primary_group = yes
363 idmap config <DOMAIN> : unix_nss_info = yes
365 to retrieve the home directory and login shell from the "Unix
366 Attributes" of the user. This supersedes the "winbind nss info"
367 parameter with a per-domain configuration option.
372 mvxattr is a simple utility to recursively rename extended attributes of all
373 files and directories in a directory tree.
375 Usage: mvxattr -s STRING -d STRING PATH [PATH ...]
376 -s, --from=STRING xattr source name
377 -d, --to=STRING xattr destination name
378 -l, --follow-symlinks follow symlinks, the default is to ignore them
379 -p, --print print files where the xattr got renamed
380 -v, --verbose print files as they are checked
381 -f, --force force overwriting of destination xattr
384 -?, --help Show this help message
385 --usage Display brief usage message
390 The idmap_hash module is marked as deprecated with this release and will be
391 removed in a future version. See the manpage of the module for details.
397 Parameter Name Description Default
398 -------------- ----------- -------
399 kerberos encryption types New all
400 inherit owner New option
401 fruit:resource Spelling correction
402 lsa over netlogon New (deprecated) no
403 rpc server port New 0
409 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.6#Release_blocking_bugs
412 CHANGES SINCE 4.6.0rc4
413 ======================
415 o Jeremy Allison <jra@samba.org>
416 * BUG 12592: Fix several issues found by covscan.
417 * BUG 12608: s3: smbd: Restart reading the incoming SMB2 fd when the send
420 o Ralph Boehme <slow@samba.org>
421 * BUG 12427: vfs_fruit doesn't work with fruit:metadata=stream.
422 * BUG 12526: vfs_fruit: Only veto AppleDouble files if "fruit:resource" is
424 * BUG 12604: vfs_fruit: Enabling AAPL extensions must be a global switch.
426 o Volker Lendecke <vl@samba.org>
427 * BUG 12612: Re-enable token groups fallback.
429 o Stefan Metzmacher <metze@samba.org>
430 * BUG 9048: Samba4 ldap error codes.
431 * BUG 12557: gensec:spnego: Add debug message for the failed principal.
432 * BUG 12605: s3:winbindd: Fix endless forest trust scan.
433 * BUG 12612: winbindd: Find the domain based on the sid within
434 wb_lookupusergroups_send().
436 o Andreas Schneider <asn@samba.org>
437 * BUG 12557: s3:librpc: Handle gss_min in gse_get_client_auth_token()
439 * BUG 12582: idmap_hash: Add a deprecation message, improve the idmap_hash
441 * BUG 12592: Fix several issues found by covscan.
443 o Martin Schwenke <martin@meltin.net>
444 * BUG 12592: ctdb-logging: CID 1396883 Dereference null return value
448 CHANGES SINCE 4.6.0rc3
449 ======================
451 o Jeremy Allison <jra@samba.org>
452 * BUG 12545: s3: rpc_server/mdssvc: Add attribute "kMDItemContentType".
453 * BUG 12572: s3: smbd: Don't loop infinitely on bad-symlink resolution.
455 o Ralph Boehme <slow@samba.org>
456 * BUG 12490: vfs_fruit: Correct Netatalk metadata xattr on FreeBSD.
457 * BUG 12536: s3/smbd: Check for invalid access_mask
458 smbd_calculate_access_mask().
459 * BUG 12591: vfs_streams_xattr: use fsp, not base_fsp.
461 o Amitay Isaacs <amitay@gmail.com>
462 * BUG 12580: ctdb-common: Fix use-after-free error in comm_fd_handler().
463 * BUG 12595: build: Fix generation of CTDB manpages while creating tarball.
465 o Bryan Mason <bmason@redhat.com>
466 * BUG 12575: Modify smbspool_krb5_wrapper to just fall through to smbspool if
467 AUTH_INFO_REQUIRED is not set or is not "negotiate".
469 o Stefan Metzmacher <metze@samba.org>
470 * BUG 11830: s3:winbindd: Try a NETLOGON connection with noauth over NCACN_NP
471 against trusted domains.
472 * BUG 12262: 'net ads testjoin' and smb access fails after winbindd changed the
474 * BUG 12585: librpc/rpc: fix regression in
475 NT_STATUS_RPC_ENUM_VALUE_OUT_OF_RANGE error mapping.
476 * BUG 12586: netlogon_creds_cli_LogonSamLogon doesn't work without
477 netr_LogonSamLogonEx.
478 * BUG 12587: winbindd child segfaults on connect to an NT4 domain.
479 * BUG 12588: s3:winbindd: Make sure cm_prepare_connection() only returns OK
480 with a valid tree connect.
481 * BUG 12598: winbindd (as member) requires kerberos against trusted ad domain,
483 * BUG 12601: Backport pytalloc_GenericObject_reference() related changes to
486 o Garming Sam <garming@catalyst.net.nz>
487 * BUG 12600: dbchecker: Stop ignoring linked cases where both objects are
490 o Andreas Schneider <asn@samba.org>
491 * BUG 12571: s3-vfs: Only walk the directory once in open_and_sort_dir().
493 o Martin Schwenke <martin@meltin.net>
494 * BUG 12589: CTDB statd-callout does not cause grace period when
496 * BUG 12595: ctdb-build: Fix RPM build.
499 CHANGES SINCE 4.6.0rc2
500 ======================
502 o Jeremy Allison <jra@samba.org>
503 * BUG 12499: s3: vfs: dirsort doesn't handle opendir of "." correctly.
504 * BUG 12546: s3: VFS: vfs_streams_xattr.c: Make streams_xattr_open() store
505 the same path as streams_xattr_recheck().
506 * BUG 12531: Make vfs_shadow_copy2 cope with server changing directories.
508 o Andrew Bartlett <abartlet@samba.org>
509 * BUG 12543: samba-tool: Correct handling of default value for use_ntvfs and
511 * BUG 12573: Samba < 4.7 does not know about compatibleFeatures and
513 * BUG 12577: 'samba-tool dbcheck' gives errors on one-way links after a
516 o Ralph Boehme <slow@samba.org>
517 * BUG 12184: s3/rpc_server: Shared rpc modules loading.
518 * BUG 12520: Ensure global "smb encrypt = off" is effective.
519 * BUG 12524: s3/rpc_server: Move rpc_modules.c to its own subsystem.
520 * BUG 12541: vfs_fruit: checks wrong AAPL config state and so always uses
523 o Volker Lendecke <vl@samba.org>
524 * BUG 12551: smbd: Fix "map acl inherit" = yes.
526 o Stefan Metzmacher <metze@samba.org>
527 * BUG 12398: Replication with DRSUAPI_DRS_CRITICAL_ONLY and
528 DRSUAPI_DRS_GET_ANC results in WERR_DS_DRA_MISSING_PARENT S
529 * BUG 12540: s3:smbd: allow "server min protocol = SMB3_00" to go via "SMB
532 o John Mulligan <jmulligan@nasuni.com>
533 * BUG 12542: docs: Improve description of "unix_primary_group" parameter in
536 o Andreas Schneider <asn@samba.org>
537 * BUG 12552: waf: Do not install the unit test binary for krb5samba.
539 o Amitay Isaacs <amitay@gmail.com>
540 * BUG 12547: ctdb-build: Install CTDB tests correctly from toplevel.
541 * BUG 12549: ctdb-common: ioctl(.. FIONREAD ..) returns an int value.
543 o Garming Sam <garming@catalyst.net.nz>
544 * BUG 12577: 'samba-tool dbcheck' gives errors on one-way links after a
547 o Uri Simchoni <uri@samba.org>
548 * BUG 12529: waf: Backport finding of pkg-config.
551 CHANGES SINCE 4.6.0rc1
552 ======================
554 o Amitay Isaacs <amitay@gmail.com>
555 * BUG 12469: CTDB lock helper getting stuck trying to lock a record.
556 * BUG 12500: ctdb-common: Fix a bug in packet reading code for generic socket
558 * BUG 12510: sock_daemon_test 4 crashes with SEGV.
559 * BUG 12513: ctdb-daemon: Remove stale eventd socket.
561 o Björn Jacke <bj@sernet.de>
562 * BUG 12535: vfs_default: Unlock the right file in copy chunk.
564 o Volker Lendecke <vl@samba.org>
565 * BUG 12509: messaging: Fix dead but not cleaned-up-yet destination sockets.
566 * BUG 12538: Backport winbind fixes.
568 o Stefan Metzmacher <metze@samba.org>
569 * BUG 12501: s3:winbindd: talloc_steal the extra_data in
570 winbindd_list_users_recv().
572 o Martin Schwenke <martin@meltin.net>
573 * BUG 12511: ctdb-takeover: Handle case where there are no RELEASE_IPs to
575 * BUG 12512: ctdb-scripts: Fix remaining uses of "ctdb gratiousarp".
576 * BUG 12516: ctdb-scripts: /etc/iproute2/rt_tables gets populated with multiple
580 #######################################
581 Reporting bugs & Development Discussion
582 #######################################
584 Please discuss this release on the samba-technical mailing list or by
585 joining the #samba-technical IRC channel on irc.freenode.net.
587 If you do report problems then please try to send high quality
588 feedback. If you don't provide vital information to help us track down
589 the problem then you will probably be ignored. All bug reports should
590 be filed under the Samba 4.1 and newer product in the project's Bugzilla
591 database (https://bugzilla.samba.org/).
594 ======================================================================
595 == Our Code, Our Bugs, Our Responsibility.
597 ======================================================================