[Tickets #10252] Infinite loop breaks apache

bugs at horde.org bugs at horde.org
Thu Jun 16 09:38:01 UTC 2011


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/10252
------------------------------------------------------------------------------
  Ticket             | 10252
  Created By         | mmarx at netdmon.de
  Summary            | Infinite loop breaks apache
  Queue              | IMP
  Version            | 5.0.7
  Type               | Bug
  State              | Unconfirmed
  Priority           | 3. High
  Milestone          |
  Patch              |
  Owners             |
------------------------------------------------------------------------------


mmarx at netdmon.de (2011-06-16 09:38) wrote:

I've just came across a severe bug in IMP which locks up my apache 2  
process with 100% CPU load. I'm not exactly sure what I did to cause  
it but I will describe my actions as good as I can.

I setup horde4 with imp, kronolith, turba etc. it worked like a charm  
for some weeks now. I regularly update the pear packages when I get  
the announcements.

Today I used kronolith to create a new calendar entry in April 2012,  
shortly after this I moved an appointment from today to tomorrow via  
drag and drop. Then I tried to switch back to DIMP. It kept saying  
"Loading" but nothing happened. I logged into my server and realized  
that the apache2 process was running at 100% CPU load. I checked the  
logfiles and saw that my /var/log/messages file grew rapidly. See  
below, the "fread" and "feof" error lines spammed the logfile. I  
restarted the apache server, removed /tmp/<horde cache files>*,  
restarted my browser and logged in again to the horde webinterface.  
The snippet below from the /var/log/messages file is the result of  
this successful login process but the result is the same, the logfile  
gets spammed with the PHP error messages.

Since then I can no longer use the horde webinterface because as soon  
as I access it, it instantly locks up my apache server.

System information:
-------------
root at server:~# pear list -c horde
INSTALLED PACKAGES, CHANNEL PEAR.HORDE.ORG:
===========================================
PACKAGE                   VERSION STATE
...
horde                     4.0.6   stable
imp                       5.0.7   stable
kronolith                 3.0.4   stable
...
-------------
root at server:~# pear list-upgrades
Channel pear.horde.org: No upgrades available
-------------
root at server:~# php -v
PHP 5.3.3-7+squeeze1 with Suhosin-Patch (cli) (built: Mar 18 2011 17:22:52)
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
     with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

Logfiles:
/var/log/messages:
Jun 16 10:53:41 server HORDE: HORDE [horde] Login success for a at b.de  
[111.111.222.222] to horde. [pid 25835 on line 153 of  
"/usr/share/horde4/login.php"]
Jun 16 10:53:41 server HORDE: HORDE [imp] Login success for a at b.de  
(Horde user a at b.de) [111.111.222.222] to {localhost:993 [imap]} [pid  
25835 on line 179 of "/usr/share/horde4/imp/lib/Auth.php"]
Jun 16 10:53:44 server HORDE: HORDE [imp] PHP ERROR: rewind() expects  
parameter 1 to be resource, string given [pid 25835 on line 1802 of  
"/usr/share/php/Horde/Mime/Part.php"]
Jun 16 10:53:44 server HORDE: HORDE [imp] PHP ERROR: feof() expects  
parameter 1 to be resource, string given [pid 25835 on line 1803 of  
"/usr/share/php/Horde/Mime/Part.php"]
Jun 16 10:53:44 server HORDE: HORDE [imp] PHP ERROR: fread() expects  
parameter 1 to be resource, string given [pid 25835 on line 1804 of  
"/usr/share/php/Horde/Mime/Part.php"]
Jun 16 10:53:44 server HORDE: HORDE [imp] PHP ERROR: feof() expects  
parameter 1 to be resource, string given [pid 25835 on line 1803 of  
"/usr/share/php/Horde/Mime/Part.php"]
Jun 16 10:53:44 server HORDE: HORDE [imp] PHP ERROR: fread() expects  
parameter 1 to be resource, string given [pid 25835 on line 1804 of  
"/usr/share/php/Horde/Mime/Part.php"]
Jun 16 10:53:44 server HORDE: HORDE [imp] PHP ERROR: feof() expects  
parameter 1 to be resource, string given [pid 25835 on line 1803 of  
"/usr/share/php/Horde/Mime/Part.php"]
...
-------------
/var/log/syslog:
...
Jun 16 10:54:01 server HORDE: HORDE [imp] PHP ERROR: fread() expects  
parameter 1 to be resource, string given [pid 25835 on line 1804 of  
"/usr/share/php/Horde/Mime/Part.php"]
Jun 16 10:54:01 server HORDE: HORDE [imp] PHP ERROR: feof() expects  
parameter 1 to be resource, string given [pid 25835 on line 1803 of  
"/usr/share/php/Horde/Mime/Part.php"]
Jun 16 10:54:01 server suhosin[16086]: ALERT - canary mismatch on  
efree() - heap overflow detected at 0xba12588c (attacker 'REMOTE_ADDR  
not set', file '/usr/share/horde4/imp/lib/Ajax/Application.php', line  
456)
-------------

Please tell me if you need further information.






More information about the bugs mailing list