Bug #21215 [Com]: "multipart/signed" messages decoding issue

From: Date: Wed, 21 Feb 2018 19:51:31 +0000
Subject: Bug #21215 [Com]: "multipart/signed" messages decoding issue
References: 1  Groups: php.pear.bugs 
Request: Send a blank email to pear-bugs+get-11416@lists.php.net to get a copy of this message
Edit report at https://pear.php.net/bugs/bug.php?id=21215&edit=1 ID: 21215 Comment by: slgundam at gmail dot com Reported By: sgironella at schema31 dot it Summary: "multipart/signed" messages decoding issue Status: Open Type: Bug Package: Mail_mimeDecode Operating System: FreeBSD 11 Package Version: 1.5.6 PHP Version: 5.6.30 Roadmap Versions: New Comment: Roundcube could also fix this by adding an extra check in decode_raw_message to check this before calling getMimeNumbers in EmailReporting i fixed it like this https://github.com/mantisbt-plugins/EmailReporting/blob/master/core/Mail/Parser.php#L257 https://github.com/mantisbt-plugins/EmailReporting/blob/master/core/Mail/Parser.php#L236 Previous Comments: ------------------------------------------------------------------------ [2017-06-01 03:21:42] sgironella Added #patch bug:21215;patch:multipart_signed_patch;revision:1496301702;. ------------------------------------------------------------------------ [2017-06-01 03:06:48] alan_k Can you suggest a patch ------------------------------------------------------------------------ [2017-05-31 09:11:31] sgironella Description: ------------ On "multipart/signed" messages, "_decode()" method doesn't return a parts list but an associative array ("msg_body", "sig_hdr", "sig_body"); this lead "getMimeNumbers()" method to an infinite loop as it expects to iterate over a parts list and it doesn't manage those keys. See the case "case 'multipart/signed': // PGP" at line 324 Actual result: -------------- [31-May-2017 12:41:33 Europe/Rome] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /webroot/vendor/pear-pear.php.net/Mail_mimeDecode/Mail/mimeDecode.php on line 425 [31-May-2017 12:41:33 Europe/Rome] PHP Stack trace: [31-May-2017 12:41:33 Europe/Rome] PHP 1. {main}() /webroot/index.php:0 [31-May-2017 12:41:33 Europe/Rome] PHP 2. include_once() /webroot/index.php:291 [31-May-2017 12:41:33 Europe/Rome] PHP 3. rcube_message->__construct() /webroot/program/steps/mail/show.inc:49 [31-May-2017 12:41:33 Europe/Rome] PHP 4. rcube_dbmail->get_message() /webroot/program/lib/Roundcube/rcube_message.php:94 [31-May-2017 12:41:33 Europe/Rome] PHP 5. rcube_dbmail->retrieve_message() /webroot/program/lib/Roundcube/rcube_dbmail.php:1100 [31-May-2017 12:41:33 Europe/Rome] PHP 6. rcube_dbmail->decode_raw_message() /webroot/program/lib/Roundcube/rcube_dbmail.php:4316 [31-May-2017 12:41:33 Europe/Rome] PHP 7. Mail_mimeDecode->getMimeNumbers() /webroot/program/lib/Roundcube/rcube_dbmail.php:5425 [31-May-2017 12:41:33 Europe/Rome] PHP 8. Mail_mimeDecode->getMimeNumbers() /webroot/vendor/pear-pear.php.net/Mail_mimeDecode/Mail/mimeDecode.php:415 ------------------------------------------------------------------------ -- Edit this bug report at https://pear.php.net/bugs/bug.php?id=21215&edit=1

« previous php.pear.bugs (#11416) next »