There is an old path traversal issue that we've not fixed. The text of the message describing this: The tar patch "tar-1.13.25-dots.patch" changes.... for (;;) { if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2])) return 1; do { if (! *p++) return 0; } while (! ISSLASH (*p)); } ...into... for (;;) { if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2])) return 1; do { if (! *p++) return 0; } while (! ISSLASH (*p)); do { if (! *p++) return 0; } while ( ISSLASH (*p)); } ...which looks like it's an optimization, however it also changes the answer for "/../etc/passwd" ... changing both do while's to just plain while's should fix it. This issue also affects RHEL 2.1
Created attachment 111155 [details] I hope this patch will fix it. Could u test it please?
Created attachment 112548 [details] Patch against the current source. Here's a patch against the current source, rather than modifying a current patch, which is what the current patch in this bug seems to do. By testing this, things look good with this patch.
Ping on this issue
Lifting embargo
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0195.html