summaryrefslogtreecommitdiff
path: root/WHATSNEW.txt
blob: be0817fa32134cb97d2e0a0ec63ac6f663c70c07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
              WHATS NEW IN Samba 2.2.2:  3rd October 2001
              ==========================================

This is the latest stable release of Samba. This is the version that all
production Samba servers should be running for all current bug-fixes.

New/Changed parameters in 2.2.1
-------------------------------

Added parameters.
-----------------

ssl cert

Synonym for ssl server cert

ssl key

Synonym for ssl server key

ssl egd socket

ssl entropy file

ssl entropy bytes

strict allocate

use mmap

disable spoolss

Enabling this parameter will disables Samba's support for the SPOOLSS set 
of MS-RPC's and will yield identical behavior as Samba 2.0.x. Windows NT/2000 
clients will downgrade to using Lanman style printing commands. Windows 9x/ME 
will be uneffected by the parameter. However, this will also disable the 
ability to upload printer drivers to a Samba server via the Windows NT Add 
Printer Wizard or by using the NT printer properties dialog window. It will 
also disable the capability of Windows NT/2000 clients to download print 
drivers from the Samba host upon demand.  Be very careful about enabling this 
parameter. 

use client driver

This parameter applies only to Windows NT/2000
clients.  It has no affect on Windows 95/98/ME clients.  When
serving a printer to Windows NT/2000 clients without first installing
a valid printer driver on the Samba host, the client will be required
to install a local printer driver.  From this point on, the client
will treat the print as a local printer and not a network printer
connection.  This is much the same behavior that will occur
when "disable spoolss = yes"

ldap admin dn

renamed from ldap root

ldap ssl

winbind enum users

On large installations using winbindd it may be necessary to suppress 
the enumeration of users through the setpwent(), getpwent() and 
endpwent() group of system calls.  If the winbind enum users parameter 
is false, calls to the getpwent system call will not return any data.

winbind enum groups

On large installations using winbindd it may be necessary to suppress 
the enumeration of groups through the setgrent(), getgrent() and 
endgrent() group of system calls.  If the winbind enum groups parameter 
is false, calls to the getgrent() system call will not return any data.

Removed parameters.
-------------------

share modes
ldap root
ldap root passwd

Changes in 2.2.1
-----------------


Older release notes for Samba 2.2.x follow.

-----------------------------------------------------------------------------
The release notes for 2.2.1a follow :

This is a minor bugfix release for 2.2.1, *NOT* security related.

1). 2.2.1 had a bug where using smbpasswd -m to add a Windows NT or
Windows2000 machine into a Samba hosted PDC would fail due to our
stricter user name checking. We were disallowing user names
containing '$', which is needed when using smbpasswd to add a
machine into a domain. Automatically adding machines (using the
native Windows tools) into a Samba domain worked correctly.

2.2.1a fixes this single problem.

-----------------------------------------------------------------------------
The release notes for 2.2.1 follow :

New/Changed parameters in 2.2.1
-------------------------------

Added parameters.
-----------------

obey pam restrictions

When Samba is configured to use PAM, turns on or off Samba checking
the PAM account restrictions. Defaults to off.

pam password change

When Samba is configured to use PAM, turns on or off Samba passing
the password changes to PAM. Defaults to off.

large readwrite

New option to allow new Windows 2000 large file (64k) streaming
read/write options. Needs a 64 bit underlying operating system
(for Linux use kernel 2.4 with glibc 2.2 or above). Can improve performance
by 10% with Windows 2000 clients. Defaults to off. Not as tested
as some other Samba code paths.

hide unreadable

Prevents clients from seeing the existance of files that cannot
be read. Off by default.

enhanced browsing

Turn on/off the enhanced Samba browing functionality (*1B names).
Default is "on". Can prevent eternal machines in workgroups when
WINS servers are not synchronised.

Removed parameters.
-------------------

domain groups
domain admin users
domain guest users

Changes in 2.2.1
-----------------

1). "find" command removed for smbclient. Internal code now used.
2). smbspool updates to retry connections from Michael Sweet.
3). Fix for mapping 8859-15 characters to UNICODE.
4). Changed "security=server" to try with invalid username to prevent
    account lockouts.
5). Fixes to allow Windows 2000 SP2 clients to join a Samba PDC.
6). Support for Windows 9x Nexus tools to allow security changes from Win9x.
7). Two locking fixes added. Samba 2.2.1 now passes the Clarion network
    lock tester tool for distributed databases.
8). Preliminary support added for Windows 2000 large file read/write SMBs.
9). Changed random number generator in Samba to prevent guess attacks.
10). Fixes for tdb corruption in connections.tdb and file locking brlock.tdb.
     smbd's clean the tdb files on startup and shutdown.
11). Fixes for default ACLs on Solaris.
12). Tidyup of password entry caching code.
13). Correct shutdowns added for send fails. Helps tdb cleanup code.
14). Prevent invalid '/' characters in workgroup names.
15). Removed more static arrays in SAMR code.
16). Client code is now UNICODE on the wire.
17). Fix 2 second timstamp resolution everywhere if dos timestamp set to yes.
18). All tdb opens now going through logging function.
19). Add pam password changing and pam restrictions code.
20). Printer driver management improvements (delete driver).
21). Fix difference between NULL security descriptors and empty
     security descriptors.
22). Fix SID returns for server roles.
23). Allow Windows 2000 mmc to view and set Samba share security descriptors.
24). Allow smbcontrol to forcibly disconnect a share.
25). tdb fixes for HPUX, OpenBSD and other OS's that don't have a coherent
     mmap/file read/write cache.
26). Fix race condition in returning create disposition for file create/open.
27). Fix NT rewriting of security descriptors to their canonical form for
     ACLs.
28). Fix for Samba running on top of Linux VFAT ftruncate bug.
29). Swat fixes for being run with xinetd that doesn't set the umask.
30). Fix for slow writes with Win9x Explorer clients. Emulates Microsoft
     TCP stack early ack specification error.
31). Changed lock & persistant tdb directory to /var/cache/samba by default on
     RedHat and Mandrake as they clear the /var/lock/samba directory on reboot.

-----------------------------------------------------------------------------
The release notes for 2.2.0a follow :

SECURITY FIX
============

This is a security bugfix release for Samba 2.2.0. This release provides the
following two changes *ONLY* from the 2.2.0 release.

1). Fix for the security hole discovered by Michal Zalewski (lcamtuf@bos.bindview.com)
    and described in the security advisory below.
2). Fix for the hosts allow/hosts deny parameters not being honoured.

No other changes are being made for this release to ensure a security fix only.
For new functionality (including these security fixes) download Samba 2.2.1
when it is available.

The security advisory follows :


                IMPORTANT: Security bugfix for Samba
                ------------------------------------

June 23rd 2001


Summary
-------

A serious security hole has been discovered in all versions of Samba
that allows an attacker to gain root access on the target machine for
certain types of common Samba configuration.

The immediate fix is to edit your smb.conf configuration file and
remove all occurances of the macro "%m". Replacing occurances of %m
with %I is probably the best solution for most sites.

Details
-------

A remote attacker can use a netbios name containing unix path
characters which will then be substituted into the %m macro wherever
it occurs in smb.conf. This can be used to cause Samba to create a log
file on top of an important system file, which in turn can be used to
compromise security on the server.

The most commonly used configuration option that can be vulnerable to
this attack is the "log file" option. The default value for this
option is VARDIR/log.smbd. If the default is used then Samba is not
vulnerable to this attack.

The security hole occurs when a log file option like the following is
used:

  log file = /var/log/samba/%m.log

In that case the attacker can use a locally created symbolic link to
overwrite any file on the system. This requires local access to the
server.

If your Samba configuration has something like the following:

  log file = /var/log/samba/%m

Then the attacker could successfully compromise your server remotely
as no symbolic link is required. This type of configuration is very
rare.

The most commonly used log file configuration containing %m is the
distributed in the sample configuration file that comes with Samba:

  log file = /var/log/samba/log.%m

in that case your machine is not vulnerable to this attack unless you
happen to have a subdirectory in /var/log/samba/ which starts with the
prefix "log."

Credit
------

Thanks to Michal Zalewski (lcamtuf@bos.bindview.com) for finding this
vulnerability.


New Release
-----------

While we recommend that vulnerable sites immediately change their
smb.conf configuration file to prevent the attack we will also be
making new releases of Samba within the next 24 hours to properly fix
the problem. Please see http://www.samba.org/ for the new releases.

Please report any attacks to the appropriate authority.

        The Samba Team
        security@samba.org

---------------------------------------------------------------------------

The release notes for 2.2.0 follow :

This is the official Samba 2.2.0 release. This version of Samba provides
the following new features and enhancements.

Integration between Windows oplocks and NFS file opens (IRIX and Linux
2.4 kernel only). This gives complete data and locking integrity between
Windows and UNIX file access to the same data files.

Ability to act as an authentication source for Windows 2000 clients as
well as for NT4.x clients.

Integration with the winbind daemon that provides a single
sign on facility for UNIX servers in Windows 2000/NT4 networks
driven by a Windows 2000/NT4 PDC. winbind is not included in
this release, it currently must be obtained separately. We are
committed to including winbind in a future Samba 2.2.x release.

Support for native Windows 2000/NT4 printing RPCs. This includes
support for automatic printer driver download.

Support for server supported Access Control Lists (ACLs).
This release contains support for the following filesystems: 

    Solaris 2.6+ 
    SGI Irix 
    Linux Kernel with ACL patch from http://acl.bestbits.at
	Linux Kernel with XFS ACL support.
	Caldera/SCO UnixWare
	IBM AIX
	FreeBSD (with external patch)

Other platforms will be supported as resources are
available to test and implement the encessary modules. If
you are interested in writing the support for a particular
ACL filesystem, please join the samba-technical mailing
list and coordinate your efforts. 
 
On PAM (Pluggable Authentication Module) based systems - better debugging
messages and encrypted password users now have access control verified via
PAM - Note: Authentication still uses the encrypted password database.
 
Rewritten internal locking semantics for more robustness.
This release supports full 64 bit locking semantics on all
(even 32 bit) platforms. SMB locks are mapped onto POSIX
locks (32 bit or 64 bit) as the underlying system allows.

Conversion of various internal flat data structures to use
database records for increased performance and
flexibility. 

Support for acting as a MS-DFS (Distributed File System) server.

Support for manipulating Samba shares using Windows client tools
(server manager). Per share security can be set using these tools
and Samba will obey the access restrictions applied.

Samba profiling support (see below).

Compile time option for enabling a (Virtual file system) VFS layer 
to allow non-disk resources to be exported as Windows filesystems
(such as databases etc.).

The documentation in this release has been updated and converted
from Yodl to DocBook 4.1. There are many new parameters since 2.0.7
and some defaults have changed.

Profiling support.
------------------
Support for collection of profile information. A shared 
memory area has been created which contains counters for
the number of calls to and the amount of time spent in
various system calls, smb transactions and nmbd activity. See 
the file profile.h for a complete listing of the information 
collected. Sample code for a samba pmda (collection agent
for Performance Co-Pilot) has been included in the pcp
directory. 

To enable the profile data collection code in samba, you must 
compile samba with profile data support (run configure with 
the --with-profiling-data option). On startup, collection of 
data is disabled. To begin collecting data use the smbcontrol
program to turn on profiling (see the smbcontrol man page).
Profile information collection can be enabled for nmbd, all smbd
processes or one or more selected processes. The profiling
data collected is the aggragate for all processes that have
profiling enabled.

With samba compiled for profile data collection, you may see
a very slight degradation in performance even with profiling
collection turned off. On initial tests with NetBench on an
SGI Origin 200 server, this degradation was not measureable 
with profile collection off compared to no profile collection
compiled into samba. 

With count profile collection enabled on all clients, the 
degradation was less than 2%. With full profile collection 
enabled on all clients, the degradation was about 8.5%. 

=====================================================================

If you think you have found a bug please email a report to :

        samba@samba.org

As always, all bugs are our responsibility.

Regards,

        The Samba Team.