A few minor tweaks.
[rsync-web.git] / index.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>rsync</TITLE>
5 </HEAD>
6 <!--#include virtual="header.html" -->
7
8 <H2 align="center">Welcome to the rsync web pages</H2>
9
10 rsync is an <A HREF="http://www.opensource.org/">open source</A>
11 utility that provides fast incremental file transfer. rsync is freely
12 available under the <A HREF="GPL.html">GNU General Public
13 License version 2</A>
14
15 <p><b>**
16 For all versions of rsync prior to 2.6.3, see the
17 <a href="#security_aug04">August 2004 security advisory</a>!
18 **
19 If you're using a version prior to 2.6.1, see the
20 <a href="#security_apr04">April 2004 security advisory</a>!
21 **
22 If you're using a version prior to 2.5.7, see the
23 <a href="#security_dec03">December 2003 security advisory</a>!
24 **</b>
25
26
27 <h3>Rsync 2.6.4pre3 released</h3>
28
29 <p><i style="color:#777777">March 15th, 2005</i>
30
31 <p>Rsync version 2.6.4pre3 has been released.  This release combines several
32 new features with some improved delete efficiency and the usual array of
33 bug fixes.  Please try it out and send feedback to the mailing list!
34
35 <p><b>Important:</b> protocol 29 was revised in pre3 to be incompatible with
36 pre1 and pre2, so be sure to update all your pre-release versions at the
37 same time.  Rsync has code in it to detect that it is talking to an older
38 pre-release, so you should see an appropriate error if you try to mix
39 incompatible versions.  If upgrading the older pre-release version is not
40 possible, use the --protocol=28 option to make the programs fall-back to a
41 protocol they have in common (this is suggested in the error message that is
42 output).
43
44 <p>See the <a href="/ftp/rsync/preview/rsync-2.6.4pre3-NEWS">release NEWS</a> for the
45 details of what changed since 2.6.3.
46
47 <p>The changes since 2.6.4pre2 are as follows:
48
49 <ul>
50
51 <li> Some protocol changes were made: (1) simplified the data flow for the
52 generator's reporting of its basis-file choice to the receiver (because
53 simplified data flow makes deadlock prevention easier); (2) made hard-linking
54 be reported via the itemized log output; and (3) added an extra "phase" at the
55 end of the transfer for the --delay-updates processing so that it can itemize
56 any delayed hard-links.  (These changes make protocol 29 incompatible with
57 earlier pre-releases, as mentioned in the "Important" note above.)
58
59 <li> Another change for hard-links:  a cluster of hard-linked files is now
60 dealt with as soon as possible, either when we complete the update of one file
61 in the cluster, or we find an unchanged file in the cluster (the old code used
62 to do all hard-linking at the end of the transfer).
63
64 <li> When --max-delete=N is specified and we attempted to overflow this value,
65 we now warn at the end of the transfer and exit with error code 25.  If you
66 want to know about too-many deletions prior to doing any deletes, do a check
67 run with --dry-run first.
68
69 <li> Fixed a potential protocol-corrupting bug in the data sent from the
70 generator to the receiver (this doesn't seem to have been easy to trigger,
71 though).
72
73 <li> Fixed a slowdown in the name-sorting code.
74
75 <li> When '%i' outputs a deletion, it uses the string "*deleting" (with the
76 leading '*' being new).  Also a few other minor changes to the itemized output,
77 including adding an extra character for future code to be able to report when
78 an ACL/extended-attribute changes.  (See the man page for full details.)
79
80 <li> Fixed a glitch in the --progress output when transferring zero-length
81 files.
82
83 <li> Fixed the over-reporting of changes to a write-protected dir.
84
85 <li> The --copy-dest option has made a comeback into CVS now that its algorithm
86 has been improved to work just like a --link-dest with copies instead of hard
87 links (an earlier version of the code did a less efficient transfer of
88 unchanged files from the --copy-dest hierarchy).
89
90 </ul>
91
92 <p>To build it from source, snag one of these:
93 <b><a href="/ftp/rsync/preview/rsync-2.6.4pre3.tar.gz">rsync-2.6.4pre3.tar.gz</a>
94 (<a href="/ftp/rsync/preview/rsync-2.6.4pre3.tar.gz.asc">signature</a>),
95 <a href="/ftp/rsync/preview/rsync-2.6.4pre2-2.6.4pre3.diffs.gz">rsync-2.6.4pre2-2.6.4pre3.diffs.gz</a>
96 (<a href="/ftp/rsync/preview/rsync-2.6.4pre2-2.6.4pre3.diffs.gz.asc">signature</a>)</b>.
97 <a href="/ftp/rsync/preview/old-patches/rsync-2.6.4pre1-2.6.4pre2.diffs.gz">rsync-2.6.4pre1-2.6.4pre2.diffs.gz</a>
98 (<a href="/ftp/rsync/preview/old-patches/rsync-2.6.4pre1-2.6.4pre2.diffs.gz.asc">signature</a>)</b>.
99 <a href="/ftp/rsync/preview/old-patches/rsync-2.6.3-2.6.4pre1.diffs.gz">rsync-2.6.3-2.6.4pre1.diffs.gz</a>
100 (<a href="/ftp/rsync/preview/old-patches/rsync-2.6.3-2.6.4pre1.diffs.gz.asc">signature</a>)</b>.
101 Note that the diffs do not contain updates for the "patches" dir -- grab the tar
102 file if you want the full release.
103
104
105 <h3>Rsync 2.6.3 released</h3>
106
107 <p><i style="color:#777777">September 30th, 2004</i>
108
109 <p>Rsync version 2.6.3 has been released.  It contains several new features
110 and quite a few bug fixes.
111
112 <p>See the <a href="/ftp/rsync/rsync-2.6.3-NEWS">release NEWS</a> for the
113 details of what changed since 2.6.2.
114
115 <p>See the <a href="download.html">download page</a> for all the ways
116 to grab the new version, or snag one of these:
117 <b><a href="/ftp/rsync/rsync-2.6.3.tar.gz">rsync-2.6.3.tar.gz</a>
118 (<a href="/ftp/rsync/rsync-2.6.3.tar.gz.asc">signature</a>),
119 <a href="/ftp/rsync/rsync-2.6.2-2.6.3.diffs.gz">rsync-2.6.2-2.6.3.diffs.gz</a>
120 (<a href="/ftp/rsync/rsync-2.6.2-2.6.3.diffs.gz.asc">signature</a>)</b>.
121
122 <a name="security_aug04"></a>
123 <h3 style="color:red">August 2004 Security Advisory</h3>
124
125 <p><i style="color:#777777">August 12th, 2004</i>
126
127 <h4>Background</h4>
128
129 <p>There is a path-sanitizing bug that affects daemon mode in all modern
130 rsync versions through version 2.6.2, but only if chroot is disabled.  It
131 does NOT affect the normal send/receive filenames that specify what
132 files should be transferred (this is because these names happen to get
133 sanitized twice, and thus the second call removes any lingering leading
134 slash(es) that the first call left behind).  It does affect certain
135 option paths that cause auxilliary files to be read or written.
136
137 <h4>The Fix</h4>
138
139 <p>The best fix is to apply this one-word patch to the sanitize_path()
140 function in util.c:
141
142 <pre>
143 --- orig/util.c 2004-04-27 12:59:37 -0700
144 +++ util.c      2004-08-11 23:37:27 -0700
145 @@ -743,7 +743,7 @@
146                                 allowdotdot = 1;
147                         } else {
148                                 p += 2;
149 -                               if (*p == '/')
150 +                               while (*p == '/')
151                                         p++;
152                                 if (sanp != start) {
153                                         /* back up sanp one level */
154 </pre>
155
156 <p>This bug-fix was released in version 2.6.3 of rsync.
157
158 <p>One potential fix that doesn't require recompiling rsync is to set
159 "use chroot = true" for all the modules in the rsyncd.conf file.
160
161
162 <h3>Rsync 2.6.2 released</h3>
163
164 <p><i style="color:#777777">April 30th, 2004</i>
165
166 <p>Rsync version 2.6.2 has been released.  It is a bugfix release that mainly
167 fixes <b>a bug with the --relative option (-R) in 2.6.1</b>
168 that could cause files to be transferred incorrectly.  This only affected a
169 source right at the root of the filesystem, such as "/" or "/*" (if you
170 first "cd /" and then copy from ".", it would not tickle the bug).
171
172 <p>See the <a href="/ftp/rsync/old-versions/rsync-2.6.2-NEWS">release NEWS</a> for the
173 details of what else was fixed.
174
175 <h3>Rsync 2.6.1 released</h3>
176
177 <p><i style="color:#777777">April 26th, 2004</i>
178
179 <p>Rsync version 2.6.1 has been released.  It is primarily a performance
180 release that requires less memory to run, makes fewer write calls to the socket
181 (lowering the system CPU time), does less string copying (lowering the user CPU
182 time), and also reduces the amount of data that is transmitted over the wire.
183 There have also been quite a few bug fixes.  See the
184 <a href="/ftp/rsync/old-versions/rsync-2.6.1-NEWS">release NEWS</a> for the full
185 details.
186
187 <a name="security_apr04"></a>
188 <h3 style="color:red">April 2004 Security Advisory</h3>
189
190 <p><i style="color:#777777">April 26th, 2004</i>
191
192 <p>There is a security problem in all versions prior to 2.6.1 that affects only
193 people running a read/write daemon WITHOUT using chroot.  If the user privs
194 that such an rsync daemon is using is anything above "nobody", you are at risk
195 of someone crafting an attack that could write a file outside of the module's
196 "path" setting (where all its files should be stored).  Please either enable
197 chroot or upgrade to 2.6.1.  People not running a daemon, running a read-only
198 daemon, or running a chrooted daemon are totally unaffected.
199
200 <h3>One Cygwin hang-problem resolved</h3>
201
202 <p>The problem with rsync hanging at the end of the transfer on
203 <a href="http://www.cygwin.com/">Cygwin</a> had been previously traced to a
204 signal-handling bug in their compatibility DLL.  This bug appears to now be
205 fixed in DLL version 1.5.7-1, and Cygwin users are reporting that upgrading the
206 DLL removes the hang-at-end-of-transfer problem for their existing rsync executable.
207 (Note that this doesn't solve a hang that some folks see in the middle of a
208 transfer -- using daemon mode instead of ssh can work around that one.)
209
210 <a name="two_six"></a>
211 <h3>Rsync 2.6.0 released</h3>
212
213 <p><i style="color:#777777">January 1st, 2004</i>
214
215 <P> Two important things to note in the new release:
216
217 <ol>
218
219 <li>The default remote shell is now "ssh" unless you tell configure you want to
220 make something else the default.
221
222 <li>Some bug fixes in the include/exclude code, while making things work
223 properly, have resulted in some user-visible changes for certain wildcard
224 strings.  Read the BUG FIXES section in the
225 <a href="/ftp/rsync/old-versions/rsync-2.6.0-NEWS">NEWS file</a> to see if
226 any of these changes apply to you.
227 (Most people should be unaffected.)
228
229 </ol>
230
231 <p>One other item of note is that the oft-requested option "--files-from" is now
232 available.  This option lets you specify a list of files to transfer, and can
233 be much more efficient than a recursive descent using include/exclude
234 statements (if you know in advance what files you want to transfer).  The list
235 of files can come from either side of the connection, so it is possible for a
236 server to provide the file-list that lets someone grab a server-specified set of
237 files, for example.  See the <a href="/ftp/rsync/rsync.html">rsync man page</a>
238 for more details.
239
240 <p>For a full list of changes in version 2.6.0, see the
241 <a href="/ftp/rsync/old-versions/rsync-2.6.0-NEWS">release NEWS</a>.
242
243 <a name="security_dec03"></a>
244 <h3 style="color:red">December 2003 Security Advisory</h3>
245
246 <p><i style="color:#777777">December 4th, 2003</i>
247
248 <h4>Background</h4>
249
250 <p>The rsync team has received evidence that a vulnerability in rsync was
251 recently used in combination with a Linux kernel vulnerability to
252 compromise the security of a public rsync server. While the forensic
253 evidence we have is incomplete, we have pieced together the most
254 likely way that this attack was conducted and we are releasing this
255 advisory as a result of our investigations to date.
256
257 <p>
258 Our conclusions are that:
259
260 <ul>
261
262 <li>rsync version 2.5.6 and earlier contains a heap overflow vulnerability that can
263    be used to remotely run arbitrary code.
264
265 <li>While this heap overflow vulnerability could not be used by itself
266    to obtain root access on a rsync server, it could be used in
267    combination with the recently announced brk vulnerability in the
268    Linux kernel to produce a full remote compromise.
269
270 <li>The server that was compromised was using a non-default rsyncd.conf
271    option <tt>"use chroot = no"</tt>. The use of this option made the attack on
272    the compromised server considerably easier. A successful attack is
273    almost certainly still possible without this option, but it would
274    be much more difficult.
275 </ul>
276
277 <p>
278 Please note that this vulnerability only affects the use of rsync as a
279 "rsync server". To see if you are running a rsync server you should
280 use the netstat command to see if you are listening on TCP port
281 873. If you are not listening on TCP port 873 then you are not running
282 a rsync server.
283
284 <h4>New rsync release</h4>
285
286 <p>
287 In response we have released a new version of rsync, version
288 2.5.7. This is based on the current stable 2.5.6 release with only the
289 changes necessary to prevent this heap overflow vulnerability. There
290 are no new features in this release.
291 <p>
292 We recommend that anyone running a rsync server take the following
293 steps:
294 <ol>
295 <li>
296  Update to (at least) rsync version 2.5.7 immediately.
297 <li>
298  If you are running a Linux kernel prior to version 2.4.23 then
299       you should upgrade your kernel immediately. Note that some
300       distribution vendors may have patched versions of the 2.4.x
301       series kernel that fix the brk vulnerability in versions before
302       2.4.23. Check with your vendor security site to ensure that you
303       are not vulnerable to the <tt>brk</tt> problem.
304 <li>
305  Review your <tt>/etc/rsyncd.conf</tt> configuration file. If you are
306       using the option <tt>"use chroot = no"</tt> then remove that line or
307       change it to <tt>"use chroot = yes"</tt>.  If you find that you need that
308       option for your rsync service then you should disable your rsync
309       service until you have discussed a workaround with the rsync
310       maintainers on the rsync mailing list.  The disabling of the
311       chroot option should not be needed for any normal rsync server.
312 </ol>
313
314 <p>The patches and full source for rsync version 2.5.7 are available from
315 <a href="http://rsync.samba.org/">http://rsync.samba.org/</a> and mirror sites. We expect that vendors will
316 produce updated packages for their distributions shortly.
317
318 <h4>Credits</h4>
319
320 <p>
321 The rsync team would like to thank the following individuals for their
322 assistance in investigating this vulnerability and producing this
323 response:
324 <ul>
325
326 <li>Timo Sirainen &lt;tss.iki.fi&gt;
327 <li>Mike Warfield &lt;mhw.wittsend.com&gt;
328 <li>Paul Russell &lt;rusty.samba.org&gt;
329 <li>Andrea Barisani &lt;lcars.gentoo.org&gt;
330 </ul>
331
332 <p>        
333 The Common Vulnerabilities and Exposures project (cve.mitre.org) has
334 assigned the name 
335 <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0962">CAN-2003-0962</a> 
336 to this issue.
337
338 <p>
339 Regards,
340 <p>
341 The rsync team
342
343 <!--#include virtual="footer.html" -->