f7f8dc2c1399682454468249110f1ccbc934a425
[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 style="color:red">**</b>
16 <b>For all versions of rsync prior to 2.6.3pre1, see the
17 <a href="#security_aug04" style="color:red">August 2004 security advisory</a>!</b>
18 <b style="color:red">**</b>
19 <b>If you're using a version prior to 2.6.1, see the
20 <a href="#security_apr04" style="color:red">April 2004 security advisory</a>!</b>
21 <b style="color:red">**</b>
22 <b>If you're using a version prior to 2.5.7, see the
23 <a href="#security_dec03" style="color:red">December 2003 security advisory</a>!</b>
24 <b style="color:red">**</b>
25
26 <h3>Rsync 2.6.3pre2 released</h3>
27
28 <p><i style="color:#777777">September 21th, 2004</i>
29
30 <p>Rsync version 2.6.3pre2 has been released.  It contains a few bug fixes and
31 one minor new feature compared with 2.6.3pre1.  This release should be the last
32 one prior to 2.6.3, so please give it a good workout.
33
34 <p>See the <a href="/ftp/rsync/preview/rsync-2.6.3pre2-NEWS">release NEWS</a> for the
35 details of what changed since 2.6.2.
36
37 <p>The changes since 2.6.3pre1 are:
38
39 <ul>
40
41 <li> Fixed the combination of --inplace and --backup to work properly.
42 Also optimized this combination to use the backup file as the basis
43 file for a more optimal transfer.
44
45 <li> Improved the combination of --keep-dirlinks and --delete so that only
46 symlinks-to-directories on the receiver that match a real directory
47 on the sender are treated as if they were a real directory.  This
48 eliminates some weird delete behavior for symlinks that point inside
49 the transferred hierarchy.
50
51 <li> Also added support for the RSYNC_PARTIAL_DIR environment variable
52 that, when found, transforms a regular --partial option (such as
53 the convenient -P option) into one that also specifies a directory.
54
55 <li> Added the ability to parse a literal IPv6 address in an "rsync:" URL
56 (e.g. rsync://[2001:638:500:101::21]:873/module/dir).
57
58 <li> The "backed up ..." message that is output when at least 2 --verbose
59 options are specified is now the same both with and without the
60 --backup-dir option.
61
62 <li> The file-list that is output when at least 4 verbose options are
63 specified reports the uid value on the sender even when rsync is
64 not running as root (since we might be sending to a root receiver).
65
66 <li> Fixed a typo in the RERR_VANISHED error message.
67
68 <li> We once again allow --include/--exclude options to be specified on
69 the server's command-line, even though rsync doesn't use this
70 combination itself (since other software does).  The parsing of these
71 options also ensures that a daemon transfer can't be told to use a
72 file that was excluded in the module's config section.
73
74 <li> We now reject the combination of --inplace with either --compare-dest
75 or --link-dest (since the rsync protocol will need to be extended to
76 tell the server when the generator is using an adjunct file as the
77 basis-file and when it is using the destination file directly).
78
79 <li> Fixed a bug that could cause a slow-to-connect rsync daemon to die
80 with an error instead of waiting for the connection to finish.
81
82 <li> Fixed a problem with --delete-after not happening if 2.6.3 was
83 talking to an rsync older than 2.5.6 as the receiver.
84
85 </ul>
86
87 <p>See the <a href="download.html">download page</a> for all the ways
88 to grab the new version (previews are in the "preview" subdir), or snag one of these:
89 <b><a href="/ftp/rsync/preview/rsync-2.6.3pre2.tar.gz">rsync-2.6.3pre2.tar.gz</a>
90 (<a href="/ftp/rsync/preview/rsync-2.6.3pre2.tar.gz.asc">signature</a>),
91 <a href="/ftp/rsync/preview/rsync-2.6.3pre1-2.6.3pre2.diffs.gz">rsync-2.6.3pre1-2.6.3pre2.diffs.gz</a>
92 (<a href="/ftp/rsync/preview/rsync-2.6.3pre1-2.6.3pre2.diffs.gz.asc">signature</a>)</b>.
93
94 <h3>Rsync 2.6.3pre1 released</h3>
95
96 <p><i style="color:#777777">August 12th, 2004</i>
97
98 <p>Rsync version 2.6.3pre1 has been released.  It contains a few new features and
99 quite a few bug fixes.
100 Please help out with the testing so that we give the latest code a good workout.
101
102 <p>See the <a href="/ftp/rsync/preview/old-versions/rsync-2.6.3pre1-NEWS">release NEWS</a> for the
103 details of what changed since 2.6.2.
104
105 <a name="security_aug04"></a>
106 <h3 style="color:red">August 2004 Security Advisory</h3>
107
108 <p><i style="color:#777777">August 12th, 2004</i>
109
110 <h4>Background</h4>
111
112 <p>There is a path-sanitizing bug that affects daemon mode in all recent
113 rsync versions (including 2.6.2) but only if chroot is disabled.  It
114 does NOT affect the normal send/receive filenames that specify what
115 files should be transferred (this is because these names happen to get
116 sanitized twice, and thus the second call removes any lingering leading
117 slash(es) that the first call left behind).  It does affect certain
118 option paths that cause auxilliary files to be read or written.
119
120 <h4>The Fix</h4>
121
122 <p>The best fix is to apply this one-word patch to the sanitize_path()
123 function in util.c:
124
125 <pre>
126 --- orig/util.c 2004-04-27 12:59:37 -0700
127 +++ util.c      2004-08-11 23:37:27 -0700
128 @@ -743,7 +743,7 @@
129                                 allowdotdot = 1;
130                         } else {
131                                 p += 2;
132 -                               if (*p == '/')
133 +                               while (*p == '/')
134                                         p++;
135                                 if (sanp != start) {
136                                         /* back up sanp one level */
137 </pre>
138
139 <p>This bug is fixed in the CVS version of rsync, and will be released in
140 version 2.6.3 (it is currently in release-testing).
141
142 <p>One potential fix that doesn't require recompiling rsync is to set
143 "use chroot = true" for all the modules in the rsyncd.conf file.
144
145
146 <h3>Rsync 2.6.2 released</h3>
147
148 <p><i style="color:#777777">April 30th, 2004</i>
149
150 <p>Rsync version 2.6.2 has been released.  It is a bugfix release that mainly
151 fixes <b>a bug with the --relative option (-R) in 2.6.1</b>
152 that could cause files to be transferred incorrectly.  This only affected a
153 source right at the root of the filesystem, such as "/" or "/*" (using "."
154 as the source after a chdir to "/" was not affected, however).
155
156 <p>See the <a href="/ftp/rsync/rsync-2.6.2-NEWS">release NEWS</a> for the
157 details of what else was fixed.
158
159 <p>See the <a href="download.html">download page</a> for all the ways
160 to grab the new version, or snag one of these: <b>
161 <a href="/ftp/rsync/rsync-2.6.2.tar.gz">rsync-2.6.2.tar.gz</a>
162 (<a href="/ftp/rsync/rsync-2.6.2.tar.gz.asc">signature</a>),
163 <a href="/ftp/rsync/rsync-2.6.1-2.6.2.diffs.gz">rsync-2.6.1-2.6.2.diffs.gz</a>
164 (<a href="/ftp/rsync/rsync-2.6.1-2.6.2.diffs.gz.asc">signature</a>)</b>.
165
166 <h3>Rsync 2.6.1 released</h3>
167
168 <p><i style="color:#777777">April 26th, 2004</i>
169
170 <p>Rsync version 2.6.1 has been released.  It is primarily a performance
171 release that requires less memory to run, makes fewer write calls to the socket
172 (lowering the system CPU time), does less string copying (lowering the user CPU
173 time), and also reduces the amount of data that is transmitted over the wire.
174 There have also been quite a few bug fixes.  See the
175 <a href="/ftp/rsync/old-versions/rsync-2.6.1-NEWS">release NEWS</a> for the full
176 details.
177
178 <a name="security_apr04"></a>
179 <h3 style="color:red">April 2004 Security Advisory</h3>
180
181 <p><i style="color:#777777">April 26th, 2004</i>
182
183 <p>There is a security problem in all versions prior to 2.6.1 that affects only
184 people running a read/write daemon WITHOUT using chroot.  If the user privs
185 that such an rsync daemon is using is anything above "nobody", you are at risk
186 of someone crafting an attack that could write a file outside of the module's
187 "path" setting (where all its files should be stored).  Please either enable
188 chroot or upgrade to 2.6.1.  People not running a daemon, running a read-only
189 daemon, or running a chrooted daemon are totally unaffected.
190
191 <p>See the <a href="download.html">download page</a> for all the ways
192 to grab the new version.
193
194 <h3>One Cygwin hang-problem resolved</h3>
195
196 <p>The problem with rsync hanging at the end of the transfer on
197 <a href="http://www.cygwin.com/">Cygwin</a> had been previously traced to a
198 signal-handling bug in their compatibility DLL.  This bug appears to now be
199 fixed in DLL version 1.5.7-1, and Cygwin users are reporting that upgrading the
200 DLL removes the hang-at-end-of-transfer problem for their existing rsync executable.
201 (Note that this doesn't solve a hang that some folks see in the middle of a
202 transfer -- using daemon mode instead of ssh can work around that one.)
203
204 <a name="two_six"></a>
205 <h3>Rsync 2.6.0 released</h3>
206
207 <p><i style="color:#777777">January 1st, 2004</i>
208
209 <P> Two important things to note in the new release:
210
211 <ol>
212
213 <li>The default remote shell is now "ssh" unless you tell configure you want to
214 make something else the default.
215
216 <li>Some bug fixes in the include/exclude code, while making things work
217 properly, have resulted in some user-visible changes for certain wildcard
218 strings.  Read the BUG FIXES below to see if any of these changes apply to you.
219 (Most people should be unaffected.)
220
221 </ol>
222
223 <p>One other item of note is that the oft-requested option "--files-from" is now
224 available.  This option lets you specify a list of files to transfer, and can
225 be much more efficient than a recursive descent using include/exclude
226 statements (if you know in advance what files you want to transfer).  The list
227 of files can come from either side of the connection, so it is possible for a
228 server to provide the file-list that lets someone grab a server-specified set of
229 files, for example.  See the <a href="/ftp/rsync/rsync.html">rsync man page</a>
230 for more details.
231
232 <p>For a full list of changes in version 2.6.0, see the
233 <a href="/ftp/rsync/old-versions/rsync-2.6.0-NEWS">release NEWS</a>.
234
235 <a name="security_dec03"></a>
236 <h3 style="color:red">December 2003 Security Advisory</h3>
237
238 <p><i style="color:#777777">December 4th, 2003</i>
239
240 <h4>Background</h4>
241
242 <p>The rsync team has received evidence that a vulnerability in rsync was
243 recently used in combination with a Linux kernel vulnerability to
244 compromise the security of a public rsync server. While the forensic
245 evidence we have is incomplete, we have pieced together the most
246 likely way that this attack was conducted and we are releasing this
247 advisory as a result of our investigations to date.
248
249 <p>
250 Our conclusions are that:
251
252 <ul>
253
254 <li>rsync version 2.5.6 and earlier contains a heap overflow vulnerability that can
255    be used to remotely run arbitrary code.
256
257 <li>While this heap overflow vulnerability could not be used by itself
258    to obtain root access on a rsync server, it could be used in
259    combination with the recently announced brk vulnerability in the
260    Linux kernel to produce a full remote compromise.
261
262 <li>The server that was compromised was using a non-default rsyncd.conf
263    option <tt>"use chroot = no"</tt>. The use of this option made the attack on
264    the compromised server considerably easier. A successful attack is
265    almost certainly still possible without this option, but it would
266    be much more difficult.
267 </ul>
268
269 <p>
270 Please note that this vulnerability only affects the use of rsync as a
271 "rsync server". To see if you are running a rsync server you should
272 use the netstat command to see if you are listening on TCP port
273 873. If you are not listening on TCP port 873 then you are not running
274 a rsync server.
275
276 <h4>New rsync release</h4>
277
278 <p>
279 In response we have released a new version of rsync, version
280 2.5.7. This is based on the current stable 2.5.6 release with only the
281 changes necessary to prevent this heap overflow vulnerability. There
282 are no new features in this release.
283 <p>
284 We recommend that anyone running a rsync server take the following
285 steps:
286 <ol>
287 <li>
288  Update to (at least) rsync version 2.5.7 immediately.
289 <li>
290  If you are running a Linux kernel prior to version 2.4.23 then
291       you should upgrade your kernel immediately. Note that some
292       distribution vendors may have patched versions of the 2.4.x
293       series kernel that fix the brk vulnerability in versions before
294       2.4.23. Check with your vendor security site to ensure that you
295       are not vulnerable to the <tt>brk</tt> problem.
296 <li>
297  Review your <tt>/etc/rsyncd.conf</tt> configuration file. If you are
298       using the option <tt>"use chroot = no"</tt> then remove that line or
299       change it to <tt>"use chroot = yes"</tt>.  If you find that you need that
300       option for your rsync service then you should disable your rsync
301       service until you have discussed a workaround with the rsync
302       maintainers on the rsync mailing list.  The disabling of the
303       chroot option should not be needed for any normal rsync server.
304 </ol>
305
306 <p>The patches and full source for rsync version 2.5.7 are available from
307 <a href="http://rsync.samba.org/">http://rsync.samba.org/</a> and mirror sites. We expect that vendors will
308 produce updated packages for their distributions shortly.
309
310 <h4>Credits</h4>
311
312 <p>
313 The rsync team would like to thank the following individuals for their
314 assistance in investigating this vulnerability and producing this
315 response:
316 <ul>
317
318 <li>Timo Sirainen &lt;tss.iki.fi&gt;
319 <li>Mike Warfield &lt;mhw.wittsend.com&gt;
320 <li>Paul Russell &lt;rusty.samba.org&gt;
321 <li>Andrea Barisani &lt;lcars.gentoo.org&gt;
322 </ul>
323
324 <p>        
325 The Common Vulnerabilities and Exposures project (cve.mitre.org) has
326 assigned the name 
327 <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0962">CAN-2003-0962</a> 
328 to this issue.
329
330 <p>
331 Regards,
332 <p>
333 The rsync team
334
335 <!--#include virtual="footer.html" -->