<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/phpwebftp/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/phpwebftp/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/phpwebftp/bugs/</id><updated>2016-08-03T08:01:10.350000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>#17 XSS vulnerability</title><link href="https://sourceforge.net/p/phpwebftp/bugs/17/?limit=25#db84" rel="alternate"/><published>2016-08-03T08:01:10.350000Z</published><updated>2016-08-03T08:01:10.350000Z</updated><author><name>Jean-Philippe Pialasse</name><uri>https://sourceforge.net/u/unnilennium/</uri></author><id>https://sourceforge.net6339f46f825c72a915eb11786fd1fe14c5d6e28a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;here is possible fix. it is alsopresent in v4.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>XSS vulnerability</title><link href="https://sourceforge.net/p/phpwebftp/bugs/17/" rel="alternate"/><published>2016-08-03T08:00:26.720000Z</published><updated>2016-08-03T08:00:26.720000Z</updated><author><name>Jean-Philippe Pialasse</name><uri>https://sourceforge.net/u/unnilennium/</uri></author><id>https://sourceforge.nete2c50205ab608b26310b43553bfdfb86611161b3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;see &lt;a href="https://packetstormsecurity.com/files/137001/phpwebftp-xss.txt" rel="nofollow"&gt;https://packetstormsecurity.com/files/137001/phpwebftp-xss.txt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PHPWebFTP ver 3.3b - xss vulnerability , by N_A.&lt;br/&gt;
N_A &lt;span&gt;[at]&lt;/span&gt; tutanota.com&lt;/p&gt;
&lt;p&gt;Vendor has notified&lt;/p&gt;
&lt;h2 id="description"&gt;Description&lt;/h2&gt;
&lt;p&gt;phpWebFTP enables connections to FTP servers, even behind a firewall not &lt;br/&gt;
allowing traffic. phpWebFTP bypasses the firewall by making a FTP connection &lt;br/&gt;
from your web server to the FTP server and transferring the files to your web &lt;br/&gt;
client over the http protocol&lt;/p&gt;
&lt;h2 id="vulnerability"&gt;Vulnerability&lt;/h2&gt;
&lt;p&gt;PHPWebFTP ver 3.3b allows malicious code injection due to some variables we &lt;br/&gt;
can control. This allows an attacker to inject malicious code to carry out &lt;br/&gt;
XSS attacks upon the program.&lt;/p&gt;
&lt;p&gt;----snip , index.php----&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;server&lt;/span&gt;&lt;span class="x"&gt;=&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;_SESSION&lt;/span&gt;&lt;span class="x"&gt;['server'];&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="x"&gt;=&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;_SESSION&lt;/span&gt;&lt;span class="x"&gt;['user'];&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;password&lt;/span&gt;&lt;span class="x"&gt;=&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;_SESSION&lt;/span&gt;&lt;span class="x"&gt;['password'];&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;language&lt;/span&gt;&lt;span class="x"&gt;=&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;_SESSION&lt;/span&gt;&lt;span class="x"&gt;['language'];&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;port&lt;/span&gt;&lt;span class="x"&gt;=&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;_SESSION&lt;/span&gt;&lt;span class="x"&gt;['port'];&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;passive&lt;/span&gt;&lt;span class="x"&gt;=&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;_SESSION&lt;/span&gt;&lt;span class="x"&gt;['passive'];&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;----snip , index.php----&lt;/p&gt;
&lt;p&gt;further down in the code, the variables are passed without any &lt;br/&gt;
security/filtering checks:&lt;/p&gt;
&lt;p&gt;----snip, index.php----&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;ftp&lt;/span&gt;&lt;span class="x"&gt; = new ftp(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;server&lt;/span&gt;&lt;span class="x"&gt;, &lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;port&lt;/span&gt;&lt;span class="x"&gt;, &lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="x"&gt;, &lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;password&lt;/span&gt;&lt;span class="x"&gt;, &lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;passive&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;ftp&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;setMode(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;mode&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;ftp&lt;/span&gt;&lt;span class="x"&gt;-&amp;gt;setCurrentDir(&lt;/span&gt;&lt;span class="p"&gt;$&lt;/span&gt;&lt;span class="nv"&gt;currentDir&lt;/span&gt;&lt;span class="x"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;----snip, index.php----&lt;/p&gt;
&lt;p&gt;Code injected into the &lt;span&gt;[server]&lt;/span&gt; field: &amp;lt;script&amp;gt;alert('executed');&amp;lt;/script&amp;gt;&lt;br/&gt;
This is also possible for the &lt;span&gt;[username]&lt;/span&gt;,&lt;span&gt;[port]&lt;/span&gt; and &lt;span&gt;[field]&lt;/span&gt; options.&lt;/p&gt;
&lt;p&gt;N_A &lt;span&gt;[at]&lt;/span&gt; tutanota.com&lt;/p&gt;
&lt;p&gt;--&lt;br/&gt;
Securely sent with Tutanota. Claim your encrypted mailbox today!&lt;br/&gt;
&lt;a href="https://tutanota.com" rel="nofollow"&gt;https://tutanota.com&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#15 files owned by a user or a group with a point are not shown</title><link href="https://sourceforge.net/p/phpwebftp/bugs/15/?limit=25#9cf1" rel="alternate"/><published>2016-08-03T06:06:55.731000Z</published><updated>2016-08-03T06:06:55.731000Z</updated><author><name>Jean-Philippe Pialasse</name><uri>https://sourceforge.net/u/unnilennium/</uri></author><id>https://sourceforge.netc4144af87278d8059b9e63df6ae108423ce9094b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;the patch might be :&lt;br/&gt;
---  include/ftp.class.php.old       2016-08-03 01:49:20.123000000 -0400&lt;br/&gt;
+++ include/ftp.class.php   2016-08-03 02:04:29.022000000 -0400&lt;br/&gt;
@@ -301,9 +301,9 @@&lt;br/&gt;
                        $regexp .= "\s+";                                       // one or more spaces&lt;br/&gt;
                        $regexp .= "(\d+)";                                     // numbers (?), $regs&lt;span&gt;[2]&lt;/span&gt;&lt;br/&gt;
                        $regexp .= "\s+";                                       // one or more spaces&lt;br/&gt;
-                       $regexp .= "(&lt;span&gt;[\d\w-_]&lt;/span&gt;+)";                      // user, $regs&lt;span&gt;[3]&lt;/span&gt;&lt;br/&gt;
+                       $regexp .= "(&lt;span&gt;[\d\w-_.]&lt;/span&gt;+)";                     // user, $regs&lt;span&gt;[3]&lt;/span&gt;&lt;br/&gt;
                        $regexp .= "\s+";                                       // one or more spaces&lt;br/&gt;
-                       $regexp .= "(&lt;span&gt;[\d\w-_]&lt;/span&gt;+)";                      // group, $regs&lt;span&gt;[4]&lt;/span&gt;&lt;br/&gt;
+                       $regexp .= "(&lt;span&gt;[\d\w-_.]&lt;/span&gt;+)";                     // group, $regs&lt;span&gt;[4]&lt;/span&gt;&lt;br/&gt;
                        $regexp .= "\s+";                                       // one or more spaces&lt;br/&gt;
                        $regexp .= "(\d+)";                                     // size, $regs&lt;span&gt;[5]&lt;/span&gt;&lt;br/&gt;
                        $regexp .= "\s+";                                       // one or more spaces&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Filenames with space get cut on download</title><link href="https://sourceforge.net/p/phpwebftp/bugs/16/" rel="alternate"/><published>2013-10-29T16:12:14.645000Z</published><updated>2013-10-29T16:12:14.645000Z</updated><author><name>Armin</name><uri>https://sourceforge.net/u/skarmin/</uri></author><id>https://sourceforge.net52b971bcd56a9390f08c17f19a0c9e99a9902206</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;"my test file.txt" will become "my".&lt;br /&gt;
In inc/ftp_tools.php line 139 add quotes to the filename:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
header('Content-Disposition: attachment; filename="' . $select_file . '"');&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#12 Allways upload with ASCII mode</title><link href="https://sourceforge.net/p/phpwebftp/bugs/12/?limit=50#2e1c" rel="alternate"/><published>2013-08-28T11:02:43.209000Z</published><updated>2013-08-28T11:02:43.209000Z</updated><author><name>Alexandr</name><uri>https://sourceforge.net/u/lastbyte/</uri></author><id>https://sourceforge.net4db43b7305bfcf4879bc86622685c503c14d63f7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I use 3.3a verison; if you have other verison line numbers can be different; This happens bcz FTP_BINARY not equal 1.&lt;/p&gt;
&lt;p&gt;You need to change 3 line:&lt;/p&gt;
&lt;p&gt;in index.php:&lt;br /&gt;
    291 -- $newMode=($ftp-&amp;gt;mode==1)?0:1;&lt;br /&gt;
        ++ $newMode=($ftp-&amp;gt;mode == FTP_BINARY)? FTP_ASCII: FTP_BINARY;&lt;br /&gt;
    922 -- &amp;lt;?=$lblTransferMode;?&amp;gt;:&lt;br /&gt;&amp;lt;?=$ftp-&amp;gt;mode==1?$lblBinaryMode:$lblASCIIMode;?&amp;gt;&lt;br /&gt;
        ++ &amp;lt;?=$lblTransferMode;?&amp;gt;:&lt;br /&gt;&amp;lt;?=$ftp-&amp;gt;mode == FTP_BINARY? $lblBinaryMode: $lblASCIIMode;?&amp;gt;&lt;/p&gt;
&lt;p&gt;in inluce/ftp.class.php&lt;br /&gt;
    25 -- $mode = 0;&lt;br /&gt;
       ++ $mode = FTP_ASCII&lt;br /&gt;
    67 -- function setMode($mode=1) {&lt;br /&gt;
       ++ function setMode($mode=FTP_BINARY) {&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>files owned by a user or a group with a point are not shown</title><link href="https://sourceforge.net/p/phpwebftp/bugs/15/" rel="alternate"/><published>2012-11-25T23:11:49Z</published><updated>2012-11-25T23:11:49Z</updated><author><name>Jean-Philippe Pialasse</name><uri>https://sourceforge.net/u/unnilennium/</uri></author><id>https://sourceforge.net587346a002869e8ac66fc9bf1d332d62391bfb3f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;regex are incomplet as username could have point . &lt;/p&gt;
&lt;p&gt;corrected with this :&lt;/p&gt;
&lt;p&gt;--- ftp.class.php.old   2012-11-25 18:03:19.000000000 -0500&lt;br /&gt;
+++ ftp.class.php       2012-11-25 18:04:35.000000000 -0500&lt;br /&gt;
@@ -299,9 +299,12 @@&lt;br /&gt;
$regexp .= "\s+";                                       // one or more spaces&lt;br /&gt;
$regexp .= "(\d+)";                                     // numbers (?), $regs[2]&lt;br /&gt;
$regexp .= "\s+";                                       // one or more spaces&lt;br /&gt;
-                       $regexp .= "([\d\w\-_]+)";                      // user, $regs[3]&lt;br /&gt;
+#                      $regexp .= "([\d\w\-_]+)";                      // user, $regs[3]&lt;br /&gt;
+#                      $regexp .= "\s+";                                       // one or more spaces&lt;br /&gt;
+#                      $regexp .= "([\d\w\-_]+)";                      // group, $regs[4]&lt;br /&gt;
+                       $regexp .= "([\d\w\-_.]+)";                     // user, $regs[3]&lt;br /&gt;
$regexp .= "\s+";                                       // one or more spaces&lt;br /&gt;
-                       $regexp .= "([\d\w\-_]+)";                      // group, $regs[4]&lt;br /&gt;
+                       $regexp .= "([\d\w\-_.]+)";                     // group, $regs[4]&lt;br /&gt;
$regexp .= "\s+";                                       // one or more spaces&lt;br /&gt;
$regexp .= "(\d+)";                                     // size, $regs[5]&lt;br /&gt;
$regexp .= "\s+";                                       // one or more spaces&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Showing no files when user != group</title><link href="https://sourceforge.net/p/phpwebftp/bugs/14/" rel="alternate"/><published>2009-10-19T21:29:55Z</published><updated>2009-10-19T21:29:55Z</updated><author><name>GHappy</name><uri>https://sourceforge.net/u/kuddelmail/</uri></author><id>https://sourceforge.netd6057e6fbc6db4c9a7b1a159235633102b81c403</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;When the group differs from the login user these files are not shown.&lt;br /&gt;
Files should at least be shown if a group has rw permissions and the user is in or the user has rw permissions.&lt;br /&gt;
I figured this out using mod-fcgi, all files with permission fcgiuser:www-data, php running as fcgiuser.&lt;br /&gt;
New files can be created, edited and deleted although the webroot folder has also permission fcgiuser:www-data.&lt;br /&gt;
I thried this using phpWebFTP 4.0 and 3.3b both having this issue&lt;/p&gt;
&lt;p&gt;Best regards Fabio&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>file download problem, files open corrupt</title><link href="https://sourceforge.net/p/phpwebftp/bugs/13/" rel="alternate"/><published>2007-11-13T15:49:55Z</published><updated>2007-11-13T15:49:55Z</updated><author><name>tpearson74</name><uri>https://sourceforge.net/u/tpearson74/</uri></author><id>https://sourceforge.net7b04414b27bca90d36ac7a43ddb12198ed2d59ce</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hello...i have up and running the 3.3b version and its working good minus the fact that if i upload a file and then try to download it...it opens corrupt. this is on pdf, word and excel....notepad txt files seems to work fine.&lt;br /&gt;
unfortantely i can not seem to figure why this is happening and can not use this product unless this is fixed&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Allways upload with ASCII mode</title><link href="https://sourceforge.net/p/phpwebftp/bugs/12/" rel="alternate"/><published>2007-03-21T10:26:48Z</published><updated>2007-03-21T10:26:48Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netde41657604c1eceb9f97e4cc09c527b4400a955b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello i am using phpWebFTP with easyphp  (windows,apache,php4) without problem but now i installed apache and php5 and the phpWebFTP allways use ascii mode. I use both versions of phpWebFTP with same problem. When i use the same code in a server with php4 i have no problem. The ftp server always are the same. i look php.ini and apache configuration and i cannot see anything wrong. Can u have any idea? Thx for advance&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Russian messages sre not displayed correctly</title><link href="https://sourceforge.net/p/phpwebftp/bugs/11/" rel="alternate"/><published>2007-03-04T07:39:31Z</published><updated>2007-03-04T07:39:31Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.net9b80259bafa5b816a8ec901e154b8e14905dd9a0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;If the Russian language is chosen, the messages are not displayed correctly - the text is unreadable. The bug must be related with some codepage error.&lt;/p&gt;
&lt;p&gt;rp@gorodok.net&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>