WHATSNEW: Add release notes for Samba 4.19.2.
[metze/samba-autobuild-v4-19-test/.git] / WHATSNEW.txt
1                    ==============================
2                    Release Notes for Samba 4.19.2
3                           October 16, 2023
4                    ==============================
5
6
7 This is the latest stable release of the Samba 4.19 release series.
8
9
10 Changes since 4.19.1
11 --------------------
12
13 o  Jeremy Allison <jra@samba.org>
14    * BUG 15423: Use-after-free in aio_del_req_from_fsp during smbd shutdown
15      after failed IPC FSCTL_PIPE_TRANSCEIVE.
16    * BUG 15426: clidfs.c do_connect() missing a "return" after a cli_shutdown()
17      call.
18
19 o  Ralph Boehme <slow@samba.org>
20    * BUG 15463: macOS mdfind returns only 50 results.
21
22 o  Volker Lendecke <vl@samba.org>
23    * BUG 15481: GETREALFILENAME_CACHE can modify incoming new filename with
24      previous cache entry value.
25
26 o  Stefan Metzmacher <metze@samba.org>
27    * BUG 15464: libnss_winbind causes memory corruption since samba-4.18,
28      impacts sendmail, zabbix, potentially more.
29
30 o  Martin Schwenke <mschwenke@ddn.com>
31    * BUG 15479: ctdbd: setproctitle not initialized messages flooding logs.
32
33 o  Joseph Sutton <josephsutton@catalyst.net.nz>
34    * BUG 15491: CVE-2023-5568 Heap buffer overflow with freshness tokens in the
35      Heimdal KDC in Samba 4.19
36    * BUG 15477: The heimdal KDC doesn't detect s4u2self correctly when fast is
37      in use.
38
39
40 #######################################
41 Reporting bugs & Development Discussion
42 #######################################
43
44 Please discuss this release on the samba-technical mailing list or by
45 joining the #samba-technical:matrix.org matrix room, or
46 #samba-technical IRC channel on irc.libera.chat.
47
48 If you do report problems then please try to send high quality
49 feedback. If you don't provide vital information to help us track down
50 the problem then you will probably be ignored.  All bug reports should
51 be filed under the Samba 4.1 and newer product in the project's Bugzilla
52 database (https://bugzilla.samba.org/).
53
54
55 ======================================================================
56 == Our Code, Our Bugs, Our Responsibility.
57 == The Samba Team
58 ======================================================================
59
60
61 Release notes for older releases follow:
62 ----------------------------------------
63                    ==============================
64                    Release Notes for Samba 4.19.1
65                           October 10, 2023
66                    ==============================
67
68
69 This is a security release in order to address the following defects:
70
71
72 o CVE-2023-3961:  Unsanitized pipe names allow SMB clients to connect as root to
73                   existing unix domain sockets on the file system.
74                   https://www.samba.org/samba/security/CVE-2023-3961.html
75
76 o CVE-2023-4091:  SMB client can truncate files to 0 bytes by opening files with
77                   OVERWRITE disposition when using the acl_xattr Samba VFS
78                   module with the smb.conf setting
79                   "acl_xattr:ignore system acls = yes"
80                   https://www.samba.org/samba/security/CVE-2023-4091.html
81
82 o CVE-2023-4154:  An RODC and a user with the GET_CHANGES right can view all
83                   attributes, including secrets and passwords.  Additionally,
84                   the access check fails open on error conditions.
85                   https://www.samba.org/samba/security/CVE-2023-4154.html
86
87 o CVE-2023-42669: Calls to the rpcecho server on the AD DC can request that the
88                   server block for a user-defined amount of time, denying
89                   service.
90                   https://www.samba.org/samba/security/CVE-2023-42669.html
91
92 o CVE-2023-42670: Samba can be made to start multiple incompatible RPC
93                   listeners, disrupting service on the AD DC.
94                   https://www.samba.org/samba/security/CVE-2023-42670.html
95
96
97 Changes since 4.19.0
98 --------------------
99
100 o  Jeremy Allison <jra@samba.org>
101    * BUG 15422: CVE-2023-3961.
102
103 o  Andrew Bartlett <abartlet@samba.org>
104    * BUG 15424: CVE-2023-4154.
105    * BUG 15473: CVE-2023-42670.
106    * BUG 15474: CVE-2023-42669.
107
108 o  Ralph Boehme <slow@samba.org>
109    * BUG 15439: CVE-2023-4091.
110
111
112 #######################################
113 Reporting bugs & Development Discussion
114 #######################################
115
116 Please discuss this release on the samba-technical mailing list or by
117 joining the #samba-technical:matrix.org matrix room, or
118 #samba-technical IRC channel on irc.libera.chat.
119
120 If you do report problems then please try to send high quality
121 feedback. If you don't provide vital information to help us track down
122 the problem then you will probably be ignored.  All bug reports should
123 be filed under the Samba 4.1 and newer product in the project's Bugzilla
124 database (https://bugzilla.samba.org/).
125
126
127 ======================================================================
128 == Our Code, Our Bugs, Our Responsibility.
129 == The Samba Team
130 ======================================================================
131
132
133 ----------------------------------------------------------------------
134                    ==============================
135                    Release Notes for Samba 4.19.0
136                          September 04, 2023
137                    ==============================
138
139 This is the first stable release of the Samba 4.19 release series.
140 Please read the release notes carefully before upgrading.
141
142 NEW FEATURES/CHANGES
143 ====================
144
145 Migrated smbget to use common command line parser
146 -------------------------------------------------
147
148 The smbget utility implemented its own command line parsing logic. After
149 discovering an issue we decided to migrate it to use the common command line
150 parser. This has some advantages as you get all the feature it provides like
151 Kerberos authentication. The downside is that breaks the options interface.
152 The support for smbgetrc has been removed. You can use an authentication file
153 if needed, this is documented in the manpage.
154
155 Please check the smbget manpage or --help output.
156
157 gpupdate changes
158 ----------------
159
160 The libgpo.get_gpo_list function has been deprecated in favor of
161 an implementation written in python. The new function can be imported via
162 `import samba.gp`. The python implementation connects to Active Directory
163 using the SamDB module, instead of ADS (which is what libgpo uses).
164
165 Improved winbind logging and a new tool for parsing the winbind logs
166 --------------------------------------------------------------------
167
168 Winbind logs (if smb.conf 'winbind debug traceid = yes' is set) contain new
169 trace header fields 'traceid' and 'depth'.  Field 'traceid' allows to track the
170 trace records belonging to the same request.  Field 'depth' allows to track the
171 request nesting level. A new tool samba-log-parser is added for better log
172 parsing.
173
174 AD database prepared to FL 2016 standards for new domains
175 ---------------------------------------------------------
176
177 While Samba still provides only Functional Level 2008R2 by default,
178 Samba as an AD DC will now, in provision ensure that the blank
179 database is already prepared for Functional Level 2016, with AD Schema
180 2019.
181
182 This preparation is of the default objects in the database, adding
183 containers for Authentication Policies, Authentication Silos and AD
184 claims in particular.  These DB objects must be updated to allow
185 operation of the new features found in higher functional levels.
186
187 Kerberos Claims, Authentication Silos and NTLM authentication policies
188 ----------------------------------------------------------------------
189
190 An initial, partial implementation of Active Directory Functional
191 Level 2012, 2012R2 and 2016 is available in this release.
192
193 In particular Samba will issue Active Directory "Claims" in the PAC,
194 for member servers that support these, and honour in-directory
195 configuration for Authentication Policies and Authentication Silos.
196
197 The primary limitation is that while Samba can read and write claims
198 in the directory, and populate the PAC, Samba does not yet use them
199 for access control decisions.
200
201 While we continue to develop these features, existing domains can
202 test the feature by selecting the functional level in provision or
203 raising the DC functional level by setting
204
205  ad dc functional level = 2016
206
207 in the smb.conf
208
209 The smb.conf file on each DC must have 'ad dc functional level = 2016'
210 set to have the partially complete feature available.  This will also,
211 at first startup, update the server's own AD entry with the configured
212 functional level.
213
214 For new domains, add these parameters to 'samba-tool provision'
215
216 --option="ad dc functional level = 2016" --function-level=2016
217
218 The second option, setting the overall domain functional level
219 indicates that all DCs should be at this functional level.
220
221 To raise the domain functional level of an existing domain, after
222 updating the smb.conf and restarting Samba run
223 samba-tool domain schemaupgrade --schema=2019
224 samba-tool domain functionalprep --function-level=2016
225 samba-tool domain level raise --domain-level=2016 --forest-level=2016
226
227 Improved KDC Auditing
228 ---------------------
229
230 As part of the auditing required to allow successful deployment of
231 Authentication Policies and Authentication Silos, our KDC now provides
232 Samba-style JSON audit logging of all issued Kerberos tickets,
233 including if they would fail a policy that is not yet enforced.
234 Additionally most failures are audited, (after the initial
235 pre-validation of the request).
236
237 Kerberos Armoring (FAST) Support for Windows clients
238 ----------------------------------------------------
239
240 In domains where the domain controller functional level is set, as
241 above, to 2012, 2012_R2 or 2016, Windows clients will, if configured
242 via GPO, use FAST to protect user passwords between (in particular) a
243 workstation and the KDC on the AD DC.  This is a significant security
244 improvement, as weak passwords in an AS-REQ are no longer available
245 for offline attack.
246
247 Claims compression in the AD PAC
248 --------------------------------
249
250 Samba as an AD DC will compress "AD claims" using the same compression
251 algorithm as Microsoft Windows.
252
253 Resource SID compression in the AD PAC
254 --------------------------------------
255
256 Samba as an AD DC will now correctly populate the various PAC group
257 membership buffers, splitting global and local groups correctly.
258
259 Additionally, Samba marshals Resource SIDs, being local groups in the
260 member server's own domain, to only consume a header and 4 bytes per
261 group in the PAC, not a full-length SID worth of space each.  This is
262 known as "Resource SID compression".
263
264 Resource Based Constrained Delegation (RBCD) support in both MIT and Heimdal
265 -----------------------------------------------------------------------------
266
267 Samba AD DC built with MIT Kerberos (1.20 and later) has offered RBCD
268 support since Samba 4.17.  Samba 4.19 brings this feature to the
269 default Heimdal KDC.
270
271 Samba 4.17 added to samba-tool delegation the 'add-principal' and
272 'del-principal' subcommands in order to manage RBCD, and the database
273 changes made by these tools are now honoured by the Heimdal KDC once
274 Samba is upgraded.
275
276 Likewise, now both MIT (1.20 and later) and Heimdal KDCs add the
277 Asserted Identity [1] SID into the PAC for constrained delegation.
278
279 [1] https://docs.microsoft.com/en-us/windows-server/security/kerberos/kerberos-constrained-delegation-overview
280
281 New samba-tool support for silos, claims, sites and subnets.
282 ------------------------------------------------------------
283
284 samba-tool can now list, show, add and manipulate Authentication Silos
285 (silos) and Active Directory Authentication Claims (claims).
286
287 samba-tool can now list and show Active Directory sites and subnets.
288
289 A new Object Relational Model (ORM) based architecture, similar to
290 that used with Django, has been built to make adding new samba-tool
291 subcommands simpler and more consistent, with JSON output available
292 standard on these new commands.
293
294 Updated GnuTLS requirement / in-tree cryptography removal
295 ----------------------------------------------------------
296
297 Samba requires GnuTLS 3.6.13 and prefers GnuTLS 3.6.14 or later.
298
299 This has allowed Samba to remove all of our in-tree cryptography,
300 except that found in our Heimdal import.  Samba's runtime cryptography
301 needs are now all provided by GnuTLS.
302
303 (The GnuTLS vesion requirement is raised to 3.7.2 on systems without
304 the Linux getrandom())
305
306 We also use Python's cryptography module for our testing.
307
308 The use of well known cryptography libraries makes Samba easier for
309 end-users to validate and deploy, and for distributors to ship.  This
310 is the end of a very long journey for Samba.
311
312 Updated Heimdal import
313 ----------------------
314
315 Samba's Heimdal branch (known as lorikeet-heimdal) has been updated to
316 the current pre-8.0 (master) tree from upstream Heimdal, ensuring that
317 this vendored copy, included in our release remains as close as
318 possible to the current upstream code.
319
320 Revocation support in Heimdal KDC for PKINIT certificates
321 ---------------------------------------------------------
322
323 Samba will now correctly honour the revocation of 'smart card'
324 certificates used for PKINIT Kerberos authentication.
325
326 This list is reloaded each time the file changes, so no further action
327 other than replacing the file is required.  The additional krb5.conf
328 option is:
329
330  [kdc]
331         pkinit_revoke = FILE:/path/to/crl.pem
332
333 Information on the "Smart Card login" feature as a whole is at:
334  https://wiki.samba.org/index.php/Samba_AD_Smart_Card_Login
335
336 Protocol level testsuite for (Smart Card Logon) PKINIT
337 ------------------------------------------------------
338
339 Previously Samba's PKINIT support in the KDC was tested by use of
340 shell scripts around the client tools of MIT or Heimdal Kerberos.
341 Samba's independently written python testsuite has been extended to
342 validate KDC behaviour for PKINIT.
343
344 Require encrypted connection to modify unicodePwd on the AD DC
345 --------------------------------------------------------------
346
347 Setting the password on an AD account on should never be attempted
348 over a plaintext or signed-only LDAP connection.  If the unicodePwd
349 (or userPassword) attribute is modified without encryption (as seen by
350 Samba), the request will be rejected.  This is to encourage the
351 administrator to use an encrypted connection in the future.
352
353 NOTE WELL: If Samba is accessed via a TLS frontend or load balancer,
354 the LDAP request will be regarded as plaintext.
355
356 Samba AD TLS Certificates can be reloaded
357 -----------------------------------------
358
359 The TLS certificates used for Samba's AD DC LDAP server were
360 previously only read on startup, and this meant that when then expired
361 it was required to restart Samba, disrupting service to other users.
362
363  smbcontrol ldap_server reload-certs
364
365 This will now allow these certificates to be reloaded 'on the fly'
366
367 ================
368 REMOVED FEATURES
369 ================
370
371
372 smb.conf changes
373 ================
374
375   Parameter Name                          Description     Default
376   --------------                          -----------     -------
377   winbind debug traceid                   Add traceid     No
378   directory name cache size               Removed
379
380
381 CHANGES SINCE 4.19.0rc4
382 =======================
383
384 o  MikeLiu <mikeliu@qnap.com>
385    * BUG 15453: File doesn't show when user doesn't have permission if
386      aio_pthread is loaded.
387
388 o  Martin Schwenke <mschwenke@ddn.com>
389    * BUG 15451: ctdb_killtcp fails to work with --enable-pcap and libpcap ≥
390      1.9.1.
391
392
393 CHANGES SINCE 4.19.0rc3
394 =======================
395
396 o  Martin Schwenke <mschwenke@ddn.com>
397    * BUG 15460: Logging to stdout/stderr with DEBUG_SYSLOG_FORMAT_ALWAYS can log
398      to syslog.
399
400 o  Joseph Sutton <josephsutton@catalyst.net.nz>
401    * BUG 15458: ‘samba-tool domain level raise’ fails unless given a URL.
402
403
404 CHANGES SINCE 4.19.0rc2
405 =======================
406
407 o  Jeremy Allison <jra@samba.org>
408    * BUG 15420: reply_sesssetup_and_X() can dereference uninitialized tmp
409      pointer.
410    * BUG 15430: missing return in reply_exit_done().
411    * BUG 15432: TREE_CONNECT without SETUP causes smbd to use uninitialized
412      pointer.
413
414 o  Andrew Bartlett <abartlet@samba.org>
415    * BUG 15401: Avoid infinite loop in initial user sync with Azure AD Connect
416      when synchronising a large Samba AD domain.
417    * BUG 15407: Samba replication logs show (null) DN.
418
419 o  Stefan Metzmacher <metze@samba.org>
420    * BUG 15346: 2-3min delays at reconnect with smb2_validate_sequence_number:
421      bad message_id 2.
422    * BUG 15446: DCERPC_PKT_CO_CANCEL and DCERPC_PKT_ORPHANED can't be parsed.
423
424 o  Martin Schwenke <mschwenke@ddn.com>
425    * BUG 15438: CID 1539212 causes real issue when output contains only
426      newlines.
427
428 o  Joseph Sutton <josephsutton@catalyst.net.nz>
429    * BUG 15452: KDC encodes INT64 claims incorrectly.
430
431 o  Jones Syue <jonessyue@qnap.com>
432    * BUG 15449: mdssvc: Do an early talloc_free() in _mdssvc_open().
433
434
435 CHANGES SINCE 4.19.0rc1
436 =======================
437
438 o  Andrew Bartlett <abartlet@samba.org>
439    * BUG 9959: Windows client join fails if a second container CN=System exists
440     somewhere.
441
442 o  Noel Power <noel.power@suse.com>
443    * BUG 15435: regression DFS not working with widelinks = true.
444
445 o  Arvid Requate <requate@univention.de>
446    * BUG 9959: Windows client join fails if a second container CN=System exists
447     somewhere.
448
449 o  Joseph Sutton <josephsutton@catalyst.net.nz>
450    * BUG 15443: Heimdal fails to build on 32-bit FreeBSD.
451
452 o  Jones Syue <jonessyue@qnap.com>
453    * BUG 15441: samba-tool ntacl get segfault if aio_pthread appended.
454
455
456 KNOWN ISSUES
457 ============
458
459 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.19#Release_blocking_bugs
460
461
462 #######################################
463 Reporting bugs & Development Discussion
464 #######################################
465
466 Please discuss this release on the samba-technical mailing list or by
467 joining the #samba-technical:matrix.org matrix room, or
468 #samba-technical IRC channel on irc.libera.chat
469
470 If you do report problems then please try to send high quality
471 feedback. If you don't provide vital information to help us track down
472 the problem then you will probably be ignored.  All bug reports should
473 be filed under the Samba 4.1 and newer product in the project's Bugzilla
474 database (https://bugzilla.samba.org/).
475
476
477 ======================================================================
478 == Our Code, Our Bugs, Our Responsibility.
479 == The Samba Team
480 ======================================================================
481