1 ==============================
2 Release Notes for Samba 4.17.2
4 ==============================
7 This is a security release in order to address the following defects:
9 o CVE-2022-3437: There is a limited write heap buffer overflow in the GSSAPI
10 unwrap_des() and unwrap_des3() routines of Heimdal (included
12 https://www.samba.org/samba/security/CVE-2022-3437.html
14 o CVE-2022-3592: A malicious client can use a symlink to escape the exported
16 https://www.samba.org/samba/security/CVE-2022-3592.html
21 o Volker Lendecke <vl@samba.org>
22 * BUG 15207: CVE-2022-3592.
24 o Joseph Sutton <josephsutton@catalyst.net.nz>
25 * BUG 15134: CVE-2022-3437.
28 #######################################
29 Reporting bugs & Development Discussion
30 #######################################
32 Please discuss this release on the samba-technical mailing list or by
33 joining the #samba-technical:matrix.org matrix room, or
34 #samba-technical IRC channel on irc.libera.chat.
36 If you do report problems then please try to send high quality
37 feedback. If you don't provide vital information to help us track down
38 the problem then you will probably be ignored. All bug reports should
39 be filed under the Samba 4.1 and newer product in the project's Bugzilla
40 database (https://bugzilla.samba.org/).
43 ======================================================================
44 == Our Code, Our Bugs, Our Responsibility.
46 ======================================================================
49 Release notes for older releases follow:
50 ----------------------------------------
51 ==============================
52 Release Notes for Samba 4.17.1
54 ==============================
57 This is the latest stable release of the Samba 4.17 release series.
63 o Jeremy Allison <jra@samba.org>
64 * BUG 14611: CVE-2021-20251 [SECURITY] Bad password count not incremented
66 * BUG 15174: smbXsrv_connection_shutdown_send result leaked.
67 * BUG 15182: Flush on a named stream never completes.
68 * BUG 15195: Permission denied calling SMBC_getatr when file not exists.
70 o Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
71 * BUG 15189: Samba 4.5 sometimes cannot be upgraded to Samba 4.6 or later
72 over DRS: WERROR_DS_DRA_MISSING_PARENT due to faulty GET_ANC.
73 * BUG 15191: pytest: add file removal helpers for TestCaseInTempDir.
75 o Andrew Bartlett <abartlet@samba.org>
76 * BUG 14611: CVE-2021-20251 [SECURITY] Bad password count not incremented
78 * BUG 15189: Samba 4.5 sometimes cannot be upgraded to Samba 4.6 or later.
79 over DRS: WERROR_DS_DRA_MISSING_PARENT due to faulty GET_ANC.
81 o Ralph Boehme <slow@samba.org>
82 * BUG 15182: Flush on a named stream never completes.
84 o Volker Lendecke <vl@samba.org>
85 * BUG 15151: vfs_gpfs silently garbles timestamps > year 2106.
87 o Gary Lockyer <gary@catalyst.net.nz>
88 * BUG 14611: CVE-2021-20251 [SECURITY] Bad password count not incremented
91 o Stefan Metzmacher <metze@samba.org>
92 * BUG 15200: multi-channel socket passing may hit a race if one of the
93 involved processes already existed.
94 * BUG 15201: memory leak on temporary of struct imessaging_post_state and
95 struct tevent_immediate on struct imessaging_context (in
96 rpcd_spoolss and maybe others).
98 o Noel Power <noel.power@suse.com>
99 * BUG 15205: Since popt1.19 various use after free errors using result of
100 poptGetArg are now exposed.
102 o Anoop C S <anoopcs@samba.org>
103 * BUG 15192: Remove special case for O_CREAT in SMB_VFS_OPENAT from
106 o Andreas Schneider <asn@samba.org>
107 * BUG 15169: GETPWSID in memory cache grows indefinetly with each NTLM auth.
109 o Joseph Sutton <josephsutton@catalyst.net.nz>
110 * BUG 14611: CVE-2021-20251 [SECURITY] Bad password count not incremented
114 #######################################
115 Reporting bugs & Development Discussion
116 #######################################
118 Please discuss this release on the samba-technical mailing list or by
119 joining the #samba-technical:matrix.org matrix room, or
120 #samba-technical IRC channel on irc.libera.chat.
123 If you do report problems then please try to send high quality
124 feedback. If you don't provide vital information to help us track down
125 the problem then you will probably be ignored. All bug reports should
126 be filed under the Samba 4.1 and newer product in the project's Bugzilla
127 database (https://bugzilla.samba.org/).
130 ======================================================================
131 == Our Code, Our Bugs, Our Responsibility.
133 ======================================================================
136 ----------------------------------------------------------------------
137 ==============================
138 Release Notes for Samba 4.17.0
140 ==============================
143 This is the first stable release of the Samba 4.17 release series.
144 Please read the release notes carefully before upgrading.
150 SMB Server performance improvements
151 -----------------------------------
153 The security improvements in recent releases
154 (4.13, 4.14, 4.15, 4.16), mainly as protection against symlink races,
155 caused performance regressions for meta data heavy workloads.
157 With 4.17 the situation improved a lot again:
159 - Pathnames given by a client are devided into dirname and basename.
160 The amount of syscalls to validate dirnames is reduced to 2 syscalls
161 (openat, close) per component. On modern Linux kernels (>= 5.6) smbd
162 makes use of the openat2() syscall with RESOLVE_NO_SYMLINKS,
163 in order to just use 2 syscalls (openat2, close) for the whole dirname.
165 - Contended path based operations used to generate a lot of unsolicited
166 wakeup events causing thundering herd problems, which lead to masive
167 latencies for some clients. These events are now avoided in order
168 to provide stable latencies and much higher throughput of open/close
171 Configure without the SMB1 Server
172 ---------------------------------
174 It is now possible to configure Samba without support for
175 the SMB1 protocol in smbd. This can be selected at configure
176 time with either of the options:
179 --without-smb1-server
181 By default (without either of these options set) Samba
182 is configured to include SMB1 support (i.e. --with-smb1-server
183 is the default). When Samba is configured without SMB1 support,
184 none of the SMB1 code is included inside smbd except the minimal
185 stub code needed to allow a client to connect as SMB1 and immediately
186 negotiate the selected protocol into SMB2 (as a Windows server also
189 None of the SMB1-only smb.conf parameters are removed when
190 configured without SMB1, but these parameters are ignored by
191 the smbd server. This allows deployment without having to change
192 an existing smb.conf file.
194 This option allows sites, OEMs and integrators to configure Samba
195 to remove the old and insecure SMB1 protocol from their products.
197 Note that the Samba client libraries still support SMB1 connections
198 even when Samba is configured as --without-smb1-server. This is
199 to ensure maximum compatibility with environments containing old
202 Bronze bit and S4U support now also with MIT Kerberos 1.20
203 ----------------------------------------------------------
205 In 2020 Microsoft Security Response Team received another Kerberos-related
206 report. Eventually, that led to a security update of the CVE-2020-17049,
207 Kerberos KDC Security Feature Bypass Vulnerability, also known as a ‘Bronze
208 Bit’. With this vulnerability, a compromised service that is configured to use
209 Kerberos constrained delegation feature could tamper with a service ticket that
210 is not valid for delegation to force the KDC to accept it.
212 With the release of MIT Kerberos 1.20, Samba AD DC is able able to mitigate the
213 ‘Bronze Bit’ attack. MIT Kerberos KDC's KDB (Kerberos Database Driver) API was
214 changed to allow passing more details between KDC and KDB components. When built
215 against MIT Kerberos, Samba AD DC supports MIT Kerberos 1.19 and 1.20 versions
216 but 'Bronze Bit' mitigation is provided only with MIT Kerberos 1.20.
218 In addition to fixing the ‘Bronze Bit’ issue, Samba AD DC now fully supports
219 S4U2Self and S4U2Proxy Kerberos extensions.
221 Note the default (Heimdal-based) KDC was already fixed in 2021,
222 see https://bugzilla.samba.org/show_bug.cgi?id=14642
224 Resource Based Constrained Delegation (RBCD) support
225 ----------------------------------------------------
227 Samba AD DC built with MIT Kerberos 1.20 offers RBCD support now. With MIT
228 Kerberos 1.20 we have complete RBCD support passing Sambas S4U testsuite.
230 samba-tool delegation got the 'add-principal' and 'del-principal' subcommands
231 in order to manage RBCD.
233 To complete RBCD support and make it useful to Administrators we added the
234 Asserted Identity [1] SID into the PAC for constrained delegation. This is
235 available for Samba AD compiled with MIT Kerberos 1.20.
237 Note the default (Heimdal-based) KDC does not support RBCD yet.
239 [1] https://docs.microsoft.com/en-us/windows-server/security/kerberos/kerberos-constrained-delegation-overview
241 Customizable DNS listening port
242 -------------------------------
244 It is now possible to set a custom listening port for the builtin DNS service,
245 making easy to host another DNS on the same system that would bind to the
246 default port and forward the domain-specific queries to Samba using the custom
247 port. This is the opposite configuration of setting a forwarder in Samba.
249 It makes possible to use another DNS server as a front and forward to Samba.
251 Dynamic DNS updates may not be proxied by the front DNS server when forwarding
252 to Samba. Dynamic DNS update proxying depends on the features of the other DNS
253 server used as a front.
258 * When Samba is configured with both --with-cluster-support and
259 --systemd-install-services then a systemd service file for CTDB will
262 * ctdbd_wrapper has been removed. ctdbd is now started directly from
263 a systemd service file or init script.
265 * The syntax for the ctdb.tunables configuration file has been
266 relaxed. However, trailing garbage after the value, including
267 comments, is no longer permitted. Please see ctdb-tunables(7) for
270 Operation without the (unsalted) NT password hash
271 -------------------------------------------------
273 When Samba is configured with 'nt hash store = never' then Samba will
274 no longer store the (unsalted) NT password hash for users in Active
275 Directory. (Trust accounts, like computers, domain controllers and
276 inter-domain trusts are not impacted).
278 In the next version of Samba the default for 'nt hash store' will
279 change from 'always' to 'auto', where it will follow (behave as 'nt
280 hash store = never' when 'ntlm auth = disabled' is set.
282 Security-focused deployments of Samba that have eliminated NTLM from
283 their networks will find setting 'ntlm auth = disabled' with 'nt hash
284 store = always' as a useful way to improve compliance with
285 best-practice guidance on password storage (which is to always use an
288 Note that when 'nt hash store = never' is set, then arcfour-hmac-md5
289 Kerberos keys will not be available for users who subsequently change
290 their password, as these keys derive their values from NT hashes. AES
291 keys are stored by default for all deployments of Samba with Domain
292 Functional Level 2008 or later, are supported by all modern clients,
293 and are much more secure.
295 Finally, also note that password history in Active Directory is stored
296 in nTPwdHistory using a series of NT hash values. Therefore the full
297 password history feature is not available in this mode.
299 To provide some protection against password re-use previous Kerberos
300 hash values (the current, old and older values are already stored) are
301 used, providing a history length of 3.
303 There is one small limitation of this workaround: Changing the
304 sAMAccountName, userAccountControl or userPrincipalName of an account
305 can cause the Kerberos password salt to change. This means that after
306 *both* an account rename and a password change, only the current
307 password will be recognised for password history purposes.
309 Python API for smbconf
310 ----------------------
312 Samba's smbconf library provides a generic frontend to various
313 configuration backends (plain text file, registry) as a C library. A
314 new Python wrapper, importable as 'samba.smbconf' is available. An
315 additional module, 'samba.samba3.smbconf', is also available to enable
316 registry backend support. These libraries allow Python programs to
317 read, and optionally write, Samba configuration natively.
319 JSON support for smbstatus
320 --------------------------
322 It is now possible to print detailed information in JSON format in
323 the smbstatus program using the new option --json. The JSON output
324 covers all the existing text output including sessions, connections,
325 open files, byte-range locks, notifies and profile data with all
326 low-level information maintained by Samba in the respective databases.
328 Protected Users security group
329 ------------------------------
331 Samba AD DC now includes support for the Protected Users security
332 group introduced in Windows Server 2012 R2. The feature reduces the
333 attack surface of user accounts by preventing the use of weak
334 encryption types. It also mitigates the effects of credential theft by
335 limiting credential lifetime and scope.
337 The protections are intended for user accounts only, and service or
338 computer accounts should not be added to the Protected Users
339 group. User accounts added to the group are granted the following
340 security protections:
342 * NTLM authentication is disabled.
343 * Kerberos ticket-granting tickets (TGTs) encrypted with RC4 are
344 not issued to or accepted from affected principals. Tickets
345 encrypted with AES, and service tickets encrypted with RC4, are
346 not affected by this restriction.
347 * The lifetime of Kerberos TGTs is restricted to a maximum of four
349 * Kerberos constrained and unconstrained delegation is disabled.
351 If the Protected Users group is not already present in the domain, it
352 can be created with 'samba-tool group add'. The new '--special'
353 parameter must be specified, with 'Protected Users' as the name of the
354 group. An example command invocation is:
356 samba-tool group add 'Protected Users' --special
358 or against a remote server:
360 samba-tool group add 'Protected Users' --special -H ldap://dc1.example.com -U Administrator
362 The Protected Users group is identified in the domain by its having a
363 RID of 525. Thus, it should only be created with samba-tool and the
364 '--special' parameter, as above, so that it has the required RID
365 to function correctly.
371 LanMan Authentication and password storage removed from the AD DC
372 -----------------------------------------------------------------
374 The storage and authentication with LanMan passwords has been entirely
375 removed from the Samba AD DC, even when "lanman auth = yes" is set.
381 Parameter Name Description Default
382 -------------- ----------- -------
383 dns port New default 53
384 fruit:zero_file_id New default yes
385 nt hash store New parameter always
386 smb1 unix extensions Replaces "unix extensions"
387 volume serial number New parameter -1
388 winbind debug traceid New parameter no
391 CHANGES SINCE 4.17.0rc4
392 =======================
394 o Ralph Boehme <slow@samba.org>
395 * BUG 15126: acl_xattr VFS module may unintentionally use filesystem
396 permissions instead of ACL from xattr.
397 * BUG 15153: Missing SMB2-GETINFO access checks from MS-SMB2 3.3.5.20.1.
398 * BUG 15161: assert failed: !is_named_stream(smb_fname)") at
399 ../../lib/util/fault.c:197.
401 o Volker Lendecke <vl@samba.org>
402 * BUG 15126: acl_xattr VFS module may unintentionally use filesystem
403 permissions instead of ACL from xattr.
404 * BUG 15161: assert failed: !is_named_stream(smb_fname)") at
405 ../../lib/util/fault.c:197.
407 o Stefan Metzmacher <metze@samba.org>
408 * BUG 15159: Cross-node multi-channel reconnects result in SMB2 Negotiate
409 returning NT_STATUS_NOT_SUPPORTED.
411 o Noel Power <noel.power@suse.com>
412 * BUG 15160: winbind at info level debug can coredump when processing
416 CHANGES SINCE 4.17.0rc3
417 =======================
419 o Anoop C S <anoopcs@samba.org>
420 * BUG 15157: Make use of glfs_*at() API calls in vfs_glusterfs.
423 CHANGES SINCE 4.17.0rc2
424 =======================
426 o Jeremy Allison <jra@samba.org>
427 * BUG 15128: Possible use after free of connection_struct when iterating
428 smbd_server_connection->connections.
430 o Christian Ambach <ambi@samba.org>
431 * BUG 15145: `net usershare add` fails with flag works with --long but fails
434 o Ralph Boehme <slow@samba.org>
435 * BUG 15126: acl_xattr VFS module may unintentionally use filesystem
436 permissions instead of ACL from xattr.
438 o Stefan Metzmacher <metze@samba.org>
439 * BUG 15125: Performance regression on contended path based operations.
440 * BUG 15148: Missing READ_LEASE break could cause data corruption.
442 o Andreas Schneider <asn@samba.org>
443 * BUG 15141: libsamba-errors uses a wrong version number.
445 o Joseph Sutton <josephsutton@catalyst.net.nz>
446 * BUG 15152: SMB1 negotiation can fail to handle connection errors.
449 CHANGES SINCE 4.17.0rc1
450 =======================
452 o Jeremy Allison <jra@samba.org>
453 * BUG 15143: New filename parser doesn't check veto files smb.conf parameter.
454 * BUG 15144: 4.17.rc1 still uses symlink-race prone unix_convert()
455 * BUG 15146: Backport fileserver related changed to 4.17.0rc2
457 o Jule Anger <janger@samba.org>
458 * BUG 15147: Manpage for smbstatus json is missing
460 o Volker Lendecke <vl@samba.org>
461 * BUG 15146: Backport fileserver related changed to 4.17.0rc2
463 o Stefan Metzmacher <metze@samba.org>
464 * BUG 15125: Performance regression on contended path based operations
465 * BUG 15146: Backport fileserver related changed to 4.17.0rc2
467 o Andreas Schneider <asn@samba.org>
468 * BUG 15140: Fix issues found by coverity in smbstatus json code
469 * BUG 15146: Backport fileserver related changed to 4.17.0rc2
475 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.17#Release_blocking_bugs
478 #######################################
479 Reporting bugs & Development Discussion
480 #######################################
482 Please discuss this release on the samba-technical mailing list or by
483 joining the #samba-technical:matrix.org matrix room, or
484 #samba-technical IRC channel on irc.libera.chat
486 If you do report problems then please try to send high quality
487 feedback. If you don't provide vital information to help us track down
488 the problem then you will probably be ignored. All bug reports should
489 be filed under the Samba 4.1 and newer product in the project's Bugzilla
490 database (https://bugzilla.samba.org/).
493 ======================================================================
494 == Our Code, Our Bugs, Our Responsibility.
496 ======================================================================