Ticket UUID: | 3312900 | |||
Title: | CWD operation does not perform basic checks | |||
Type: | Bug | Version: | None | |
Submitter: | rkeene | Created on: | 2011-06-07 04:26:08 | |
Subsystem: | ftpd | Assigned To: | andreas_kupries | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2011-08-10 03:50:58 | |
Resolution: | Fixed | Closed By: | andreas_kupries | |
Closed on: | 2011-08-09 20:50:58 | |||
Description: |
CWD operation should check for existence of file (using the filesystem callback "exists" to prevent changing directories to a file) --- ftpd1.2.5/ftpd.tcl(revision 2177) +++ ftpd1.2.5/ftpd.tcl(working copy) @@ -824,7 +824,14 @@ return } - set data(cwd) [file join $data(cwd) $relativepath] + set path [file join $data(cwd) $relativepath] + + if {[::ftpd::Fs exists $path]} { + puts $sock "550 not a directory" + return + } + + set data(cwd) $path puts $sock "250 CWD command successful." return } | |||
User Comments: |
andreas_kupries added on 2011-08-10 03:50:58:
allow_comments - 1 Fixed in CVS head. rkeene added on 2011-06-23 23:03:38: File Added - 415766: ftpd1.2.5-bug3312900.diff rkeene added on 2011-06-23 23:00:22: Patch file attached |
Attachments:
- ftpd1.2.5-bug3312900.diff [download] added by rkeene on 2011-06-23 23:03:38. [details]