Merge tag 'samba-4.1.3' into v4-1-test
[samba.git] / WHATSNEW.txt
1                    =============================
2                    Release Notes for Samba 4.1.3
3                          December 9, 2013
4                    =============================
5
6
7 This is a security release in order to address
8 CVE-2013-4408 (DCE-RPC fragment length field is incorrectly checked) and
9 CVE-2012-6150 (pam_winbind login without require_membership_of restrictions).
10
11 o  CVE-2013-4408:
12    Samba versions 3.4.0 and above (versions 3.4.0 - 3.4.17, 3.5.0 -
13    3.5.22, 3.6.0 - 3.6.21, 4.0.0 - 4.0.12 and including 4.1.2) are
14    vulnerable to buffer overrun exploits in the client processing of
15    DCE-RPC packets. This is due to incorrect checking of the DCE-RPC
16    fragment length in the client code.
17
18    This is a critical vulnerability as the DCE-RPC client code is part of
19    the winbindd authentication and identity mapping daemon, which is
20    commonly configured as part of many server installations (when joined
21    to an Active Directory Domain). A malicious Active Directory Domain
22    Controller or man-in-the-middle attacker impersonating an Active
23    Directory Domain Controller could achieve root-level access by
24    compromising the winbindd process.
25
26    Samba server versions 3.4.0 - 3.4.17 and versions 3.5.0 - 3.5.22 are
27    also vulnerable to a denial of service attack (server crash) due to a
28    similar error in the server code of those versions.
29
30    Samba server versions 3.6.0 and above (including all 3.6.x versions,
31    all 4.0.x versions and 4.1.x) are not vulnerable to this problem.
32
33    In addition range checks were missing on arguments returned from calls
34    to the DCE-RPC functions LookupSids (lsa and samr), LookupNames (lsa and samr)
35    and LookupRids (samr) which could also cause similar problems.
36
37    As this was found during an internal audit of the Samba code there are
38    no currently known exploits for this problem (as of December 9th 2013).
39
40 o  CVE-2012-6150:
41    Winbind allows for the further restriction of authenticated PAM logins using
42    the require_membership_of parameter. System administrators may specify a list
43    of SIDs or groups for which an authenticated user must be a member of. If an
44    authenticated user does not belong to any of the entries, then login should
45    fail. Invalid group name entries are ignored.
46
47    Samba versions 3.3.10, 3.4.3, 3.5.0 and later incorrectly allow login from
48    authenticated users if the require_membership_of parameter specifies only
49    invalid group names.
50
51    This is a vulnerability with low impact. All require_membership_of group
52    names must be invalid for this bug to be encountered.
53
54
55 Changes since 4.1.2:
56 --------------------
57
58 o   Jeremy Allison <jra@samba.org>
59     * BUG 10185: CVE-2013-4408: Correctly check DCE-RPC fragment length field.
60
61
62 o   Stefan Metzmacher <metze@samba.org>
63     * BUG 10185: CVE-2013-4408: Correctly check DCE-RPC fragment length field.
64
65
66 o   Noel Power <noel.power@suse.com>
67     * BUGs 10300, 10306: CVE-2012-6150: Fail authentication if user isn't
68       member of *any* require_membership_of specified groups.
69
70
71 #######################################
72 Reporting bugs & Development Discussion
73 #######################################
74
75 Please discuss this release on the samba-technical mailing list or by
76 joining the #samba-technical IRC channel on irc.freenode.net.
77
78 If you do report problems then please try to send high quality
79 feedback. If you don't provide vital information to help us track down
80 the problem then you will probably be ignored.  All bug reports should
81 be filed under the Samba 4.1 product in the project's Bugzilla
82 database (https://bugzilla.samba.org/).
83
84
85 ======================================================================
86 == Our Code, Our Bugs, Our Responsibility.
87 == The Samba Team
88 ======================================================================
89
90
91 Release notes for older releases follow:
92 ----------------------------------------
93
94                    =============================
95                    Release Notes for Samba 4.1.2
96                          November 22, 2013
97                    =============================
98
99
100 This is is the latest stable release of Samba 4.1.
101
102
103 Changes since 4.1.1:
104 --------------------
105
106 o   Jeremy Allison <jra@samba.org>
107     * BUG 10187: Missing talloc_free can leak stackframe in error path.
108     * BUG 10196: RW Deny for a specific user is not overriding RW Allow for a
109       group.
110
111
112 o   Anand Avati <avati@redhat.com>
113     * BUG 10224: vfs_glusterfs: Implement proper mashalling/unmarshalling of
114       ACLs.
115
116
117 o   Andrew Bartlett <abartlet@samba.org>
118     * BUG 10052: dfs_server: Use dsdb_search_one to catch 0 results as well as
119       NO_SUCH_OBJECT errors.
120
121
122 o   Samuel Cabrero <scabrero@zentyal.com>
123     * BUG 9091: s4-dns: dlz_bind9: Create dns-HOSTNAME account disabled.
124
125
126 o   Günther Deschner <gd@samba.org>
127     * BUG 10264: s3-winbindd: Fix cache_traverse_validate_fn failure for
128       NDR cache entries.
129
130
131 o   Christopher R. Hertel <crh@redhat.com>
132     * BUG 10224: vfs_glusterfs: Fix excessive debug output from
133       vfs_gluster_open().
134
135
136 o   Björn Jacke <bj@sernet.de>
137     * BUG 10247: xattr: Fix listing EAs on *BSD for non-root users.
138
139
140 o   Volker Lendecke <vl@samba.org>
141     * BUG 10190: Fix memset used with constant zero length parameter.
142     * BUG 10195: nsswitch: Fix short writes in winbind_write_sock.
143
144
145 o   Stefan Metzmacher <metze@samba.org>
146     * BUG 10193: s4:dsdb/rootdse: report 'dnsHostName' instead of 'dNSHostName'.
147     * BUG 10232: libcli/smb: Fix smb2cli_ioctl*() against Windows 2008.
148
149
150 o   Susant Kumar Palai <spalai@redhat.com>
151     * BUG 10224: VFS plugin was sending the actual size of the volume instead of
152       the total number of block units because of which windows was getting the
153       wrong volume capacity.
154
155
156 o   Andreas Schneider <asn@samba.org>
157     * BUG 10194: Make offline logon cache updating for cross child domain group
158       membership.
159     * BUG 10269: util: Remove 32bit macros breaking strict aliasing.
160     * BUG 10253: Fix the build of vfs_glusterfs.
161
162
163 #######################################
164 Reporting bugs & Development Discussion
165 #######################################
166
167 Please discuss this release on the samba-technical mailing list or by
168 joining the #samba-technical IRC channel on irc.freenode.net.
169
170 If you do report problems then please try to send high quality
171 feedback. If you don't provide vital information to help us track down
172 the problem then you will probably be ignored.  All bug reports should
173 be filed under the Samba 4.1 product in the project's Bugzilla
174 database (https://bugzilla.samba.org/).
175
176
177 ======================================================================
178 == Our Code, Our Bugs, Our Responsibility.
179 == The Samba Team
180 ======================================================================
181
182
183 ----------------------------------------------------------------------
184
185
186                    =============================
187                    Release Notes for Samba 4.1.1
188                          November 11, 2013
189                    =============================
190
191
192 This is a security release in order to address
193 CVE-2013-4475 (ACLs are not checked on opening an alternate
194 data stream on a file or directory) and
195 CVE-2013-4476 (Private key in key.pem world readable).
196
197 o  CVE-2013-4475:
198    Samba versions 3.2.0 and above (all versions of 3.2.x, 3.3.x,
199    3.4.x, 3.5.x, 3.6.x, 4.0.x and 4.1.x) do not check the underlying
200    file or directory ACL when opening an alternate data stream.
201
202    According to the SMB1 and SMB2+ protocols the ACL on an underlying
203    file or directory should control what access is allowed to alternate
204    data streams that are associated with the file or directory.
205
206    By default no version of Samba supports alternate data streams
207    on files or directories.
208
209    Samba can be configured to support alternate data streams by loading
210    either one of two virtual file system modues (VFS) vfs_streams_depot or
211    vfs_streams_xattr supplied with Samba, so this bug only affects Samba
212    servers configured this way.
213
214    To determine if your server is vulnerable, check for the strings
215    "streams_depot" or "streams_xattr" inside your smb.conf configuration
216    file.
217
218 o  CVE-2013-4476:
219    In setups which provide ldap(s) and/or https services, the private
220    key for SSL/TLS encryption might be world readable. This typically
221    happens in active directory domain controller setups.
222
223
224 Changes since 4.1.0:
225 --------------------
226
227 o   Jeremy Allison <jra@samba.org>
228     * BUGs 10234 + 10229: CVE-2013-4475: Fix access check verification on stream
229       files.
230
231
232 o   Björn Baumbach <bb@sernet.de>
233     * BUG 10234: CVE-2013-4476: Private key in key.pem world readable.
234
235
236 #######################################
237 Reporting bugs & Development Discussion
238 #######################################
239
240 Please discuss this release on the samba-technical mailing list or by
241 joining the #samba-technical IRC channel on irc.freenode.net.
242
243 If you do report problems then please try to send high quality
244 feedback. If you don't provide vital information to help us track down
245 the problem then you will probably be ignored.  All bug reports should
246 be filed under the Samba 4.1 product in the project's Bugzilla
247 database (https://bugzilla.samba.org/).
248
249
250 ======================================================================
251 == Our Code, Our Bugs, Our Responsibility.
252 == The Samba Team
253 ======================================================================
254
255
256 ----------------------------------------------------------------------
257
258
259                    =============================
260                    Release Notes for Samba 4.1.0
261                          October 11, 2013
262                    =============================
263
264
265 This is is the first stable release of Samba 4.1.
266
267 Samba 4.1 will be the next version of the Samba suite and includes
268 all the technology found in both the Samba4 series and the stable 3.x
269 series. The primary additional features over Samba 3.6 are
270 support for the Active Directory logon protocols used by Windows 2000
271 and above.
272
273 Major enhancements in Samba 4.1.0 include:
274
275 Client tools support SMB2/3
276 ===========================
277
278 Samba 4.1.0 contains the first release of our client tools
279 and client library that work over the new protocols SMB2 or SMB3.
280 Note that SMB3 only works either to a Samba server version 4.0.0
281 or above, or to a Windows Server running Windows 2012 or Windows 8.
282
283 The default protocol for smbclient and smbcacls is still
284 SMB1 (the NT1 protocol dialect). An SMB2 or SMB3 connection
285 can be selected in one of two ways. The easiest way to test
286 the new protocol connection is to add the -mMAX_PROTOCOL
287 command line switch to either smbclient or smbcacls.
288
289 For example, to connect using SMB3 with smbclient a user
290 would type:
291
292 smbclient //server/share -Uuser%password -mSMB3
293
294 Another example of connecting using SMB2 using smbcacls
295 would be:
296
297 smbcacls //server/share -Uuser%password -mSMB2 filename
298
299 Note that when connecting using SMB2 or SMB3 protocols
300 the UNIX extensions are no longer available inside the
301 smbclient command set. This is due to UNIX extensions
302 not yet being defined for the SMB2 or SMB3 protocols.
303
304 The second way to select SMB2 or SMB3 connections is to
305 set the "client max protocol" parameter in the [global]
306 section of your smb.conf.
307
308 Setting this parameter will cause all client connections
309 from Samba and its client tools to offer the requested
310 max protocol to a server on every connection request.
311
312 For example, to cause all client tools (including winbindd,
313 rpcclient, and the libsmbclient library) to attempt use SMB3
314 by default add the line:
315
316 client max protocol = SMB3
317
318 to the [global] section of your smb.conf. This has not
319 been as widely tested as the -mPROTOCOL options, but
320 is intended to work correctly in the final release of
321 4.1.0.
322
323 Encrypted transport
324 ===================
325
326 Although Samba servers have supported encrypted transport
327 connections using the UNIX extensions for many years,
328 selecting SMB3 transport allows encrypted transport
329 connections to Windows servers that support SMB3, as
330 well as Samba servers.
331
332 In order to enable this, add the "-e" option to the
333 smbclient command line.
334
335 For example, to connect to a Windows 2012 server over
336 SMB3 and select an encrypted transport you would use
337 the following command line:
338
339 smbclient //Win2012Server/share -Uuser%password -mSMB3 -e
340
341
342 Directory database replication (AD DC mode)
343 ===========================================
344
345 Directory replication has been reworked in order to improve the
346 correctness and efficiency.
347 As a net effect of it, replication with other domain controllers with
348 a heavily modified schema is now possible (ie. Windows 2012 DCs or
349 other Windows DC with exchange installed) and replication didn't fail
350 anymore in such environments.
351
352
353 Server-Side Copy Support
354 ========================
355
356 Samba 4.1.0 adds support for server-side copy operations via the SMB2
357 FSCTL_SRV_COPYCHUNK request. Clients making use of server-side copy
358 support, such as Windows Server 2012, should experience considerable
359 performance improvements for file copy operations, as file data need not
360 traverse the network.
361 This feature is enabled by default on the smbd file server.
362
363
364 Btrfs Filesystem Integration
365 ============================
366
367 The Btrfs VFS module provided with Samba 4.1.0 further improves the
368 performance of server-side copy operations on shares backed by a Btrfs
369 filesystem. It does so by allowing multiple files to share the same
370 on-disk extents, avoiding the unnecessary duplication of source and
371 destination file data during a server-side copy operation.
372
373 This feature can be explicitly enabled on smbd shares backed by a Btrfs
374 filesystem with the smb.conf parameter:
375 vfs objects = btrfs
376
377
378 REMOVED COMPONENTS
379 ==================
380
381 The Samba Web Administration Tool (SWAT) has been removed.
382 Details why SWAT has been removed can be found on the samba-technical mailing
383 list:
384
385 https://lists.samba.org/archive/samba-technical/2013-February/090572.html
386
387
388 ######################################################################
389 Changes
390 #######
391
392 smb.conf changes
393 ----------------
394
395    Parameter Name                       Description     Default
396    --------------                       -----------     -------
397
398    acl allow execute always             New             False
399    password level                       Removed
400    set directory                        Removed
401    use ntdb                             New             No
402
403
404 RUNNING Samba 4.1 as an AD DC
405 =============================
406
407 A short guide to setting up Samba as an AD DC can be found on the wiki:
408
409   https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO
410
411
412 COMMIT HIGHLIGHTS
413 =================
414
415 o   Jeremy Allison <jra@samba.org>
416     * Add SMB2 and SMB3 support for client tools and client library.
417     * Add support for SMB3 Encrypted transport.
418
419
420 o   David Disseldorp <ddiss@samba.org>
421     * Add vfs_btrfs module.
422     * Add support for server-side copy operations via the
423       SMB2 FSCTL_SRV_COPYCHUNK request.
424
425
426 CHANGES SINCE 4.1.0rc4
427 ======================
428
429 o   Stefan Metzmacher <metze@samba.org>
430     * BUG 10178: Fix PAC parsing failure.
431
432
433 o   Andreas Schneider <asn@samba.org>
434     * BUG 10132: pam_winbindd: Support the KEYRING ccache type.
435
436
437 CHANGES SINCE 4.1.0rc3
438 ======================
439
440 o   Michael Adam <obnox@samba.org>
441     * BUG 10134: Add "acl allow execute always" parameter.
442
443
444 o   Jeremy Allison <jra@samba.org>
445     * BUG 10139: Valid utf8 filenames cause "invalid conversion error"
446       messages.
447     * BUG 10145: Samba SMB2 client code reads the wrong short name length in a
448       directory listing reply.
449     * BUG 10149: cli_smb2_get_ea_list_path() failed to close file on exit.
450     * BUG 10150: Not all OEM servers support the ALTNAME info level.
451
452
453 o   Andrew Bartlett <abartlet@samba.org>
454     * BUG 8077: dsdb: Convert the full string from UTF16 to UTF8, including
455       embedded NULLs.
456     * BUG 9461: python-samba-tool fsmo: Do not give an error on a successful
457       role transfer.
458     * BUG 10157: Regression causes replication failure with Windows 2008R2 and
459       deletes Deleted Objects.
460
461
462 o   Günther Deschner <gd@samba.org>
463     * BUG 10147: Better document potential implications of a globally used
464       "valid users".
465
466
467 o   Korobkin <korobkin+samba@gmail.com>
468     * BUG 10118: Raise the level of a debug when unable to open a printer.
469
470
471 o   Volker Lendecke <vl@samba.org>
472     * BUG 10008: dbwrap_ctdb: Treat empty records as non-existing.
473     * BUG 10138: smbd: Always clean up share modes after hard crash.
474
475
476 o   Daniel Liberman <danielvl@gmail.com>
477     * BUG 10162: Fix POSIX ACL mapping when setting DENY ACE's from Windows.
478
479
480 o   Stefan Metzmacher <metze@samba.org>
481     * BUG 10144: libcli/smb: Use SMB1 MID=0 for the initial Negprot.
482     * BUG 10146: libcli/smb: Only check the SMB2 session setup signature if
483       required and valid.
484
485
486 o   Matthieu Patou <mat@matws.net>
487     * BUG 10158: Netbios related samba process consumes 100% CPU.
488
489
490 o   Christof Schmitt <christof.schmitt@us.ibm.com>
491     * BUG 10137: vfs_shadow_copy2: Display previous versions correctly over
492       SMB2.
493
494
495 CHANGES SINCE 4.1.0rc2
496 ======================
497
498 o   Michael Adam <obnox@samba.org>
499     * BUG 10107: Fix Winbind crashes on DC with trusted AD domains.
500
501
502 o   Jeremy Allison <jra@samba.org>
503     * BUG 5917: Fix working on site with Read Only Domain Controller.
504     * BUG 9974: Add SMB2 and SMB3 support for smbclient.
505     * BUG 10063: Fix memory leak in source3/lib/util.c:1493.
506     * BUG 10121: Masks incorrectly applied to UNIX extension permission
507       changes.
508
509
510 o   Christian Ambach <ambi@samba.org>
511     * BUG 9911: Build Samba 4.0.x on AIX with IBM XL C/C++.
512
513
514 o   Andrew Bartlett <abartlet@samba.org>
515     * BUG 9091: When replicating DNS for bind9_dlz we need to create the
516       server-DNS account remotely.
517
518
519 o   Günther Deschner <gd@samba.org>
520     * BUG 9615: Winbind unable to retrieve user information from AD.
521     * BUG 9899: winbind_lookup_names() fails because of
522       NT_STATUS_CANT_ACCESS_DOMAIN_INFO.
523     * BUG 10107: Fix Winbind crashes on DC with trusted AD domains.
524
525
526 o   Volker Lendecke <vl@samba.org>
527     * BUG 10086: smbd: Fix async echo handler forking.
528     * BUG 10106: Honour output buffer length set by the client for SMB2 GetInfo
529       requests.
530     * BUG 10114: Handle Dropbox (write-only-directory) case correctly
531       in pathname lookup.
532
533
534 o   Stefan Metzmacher <metze@samba.org>
535     * BUG 10030: ::1 added to nameserver on join.
536
537
538 o   Rusty Russell <rusty@rustcorp.com.au>
539     * BUG 10000: Add man pages for ntdb tools.
540
541
542 o   Karolin Seeger <kseeger@samba.org>
543     * BUG 7364: Add man page for vfs_syncops.
544     * BUG 7490: Add man page for vfs_linux_xfs_sgid.
545     * BUG 10001: Add man page for samba-regedit tool.
546     * BUG 10076: Fix variable list in vfs_crossrename man page.
547
548
549 o   Andreas Schneider <asn@samba.org>
550     * BUG 10073: Fix segmentation fault in 'net ads join'.
551     * BUG 10082: s3-winbind: Fix a segfault passing NULL to a fstring argument.
552
553
554 o   Richard Sharpe <realrichardsharpe@gmail.com>
555     * BUG 10097: MacOSX 10.9 will not follow path-based DFS referrals handed
556       out by Samba.
557
558
559 o   Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
560     * BUG 10106: Honour output buffer length set by the client for SMB2 GetInfo
561       requests.
562
563
564 CHANGES SINCE 4.1.0rc1
565 ======================
566
567 o   Jeremy Allison <jra@samba.org>
568     * BUG 9992: Windows error 0x800700FE when copying files with xattr names
569       containing ":".
570     * BUG 10010: Missing integer wrap protection in EA list reading can cause
571       server to loop with DOS (CVE-2013-4124).
572     * BUG 10064: Linux kernel oplock breaks can miss signals.
573
574
575 o   Andrew Bartlett <abartlet@samba.org>
576     * BUG 9029: Fix replication with --domain-crictical-only to fill in
577       backlinks.
578     * BUG 9820: Fix crash of winbind after "ls -l
579       /usr/local/samba/var/locks/sysvol".
580     * BUG 10056: dsdb improvements.
581
582
583 o   Björn Baumbach <bb@sernet.de>
584     * BUG 10003: Fix segfault while reading incomplete session info.
585
586
587 o   Gregor Beck <gbeck@sernet.de>
588     * BUG 9678: Windows 8 Roaming profiles fail.
589
590
591 o   Günther Deschner <gd@samba.org>
592     * BUG 10043: Allow to change the default location for Kerberos credential
593       caches.
594
595
596 o   Volker Lendecke <vl@samba.org>
597     * BUG 10013: Fix a 100% loop at shutdown time (smbd).
598
599
600 o   Stefan Metzmacher <metze@samba.org>
601     * BUG 9820: Fix crash of winbind after "ls -l
602       /usr/local/samba/var/locks/sysvol".
603     * BUG 10015: Fix/improve debug options.
604     * BUG 10042: Fix crashes in socket_get_local_addr().
605     * BUG 10056: dsdb improvements.
606
607
608 o   Andreas Schneider <asn@samba.org>
609     * BUG 9994: Do not delete an existing valid credential cache (s3-winbind).
610     * BUG 10040: Rename regedit to samba-regedit.
611     * BUG 10041: Remove obsolete swat manpage and references.
612     * BUG 10048: nsswitch: Add OPT_KRB5CCNAME to avoid an error message.
613
614
615 o   Alexander Werth <alexander.werth@de.ibm.com>
616     * BUG 10045: Remove a redundant inlined substitution of ACLs.
617
618
619 o   Ralph Wuerthner <ralphw@de.ibm.com>
620     * BUG 10064: Linux kernel oplock breaks can miss signals.
621
622
623 #######################################
624 Reporting bugs & Development Discussion
625 #######################################
626
627 Please discuss this release on the samba-technical mailing list or by
628 joining the #samba-technical IRC channel on irc.freenode.net.
629
630 If you do report problems then please try to send high quality
631 feedback. If you don't provide vital information to help us track down
632 the problem then you will probably be ignored.  All bug reports should
633 be filed under the Samba 4.1 product in the project's Bugzilla
634 database (https://bugzilla.samba.org/).
635
636
637 ======================================================================
638 == Our Code, Our Bugs, Our Responsibility.
639 == The Samba Team
640 ======================================================================
641