Ошибка в includes/message_parser.php в функции bbcode_img
- $stats = @getimagesize($in);
+ $stats = @getimagesize(htmlspecialchars_decode($in));
Иначе при урлах вида
http://somesite/forum/download/file.php?id=12518&t=1 в $in мы имеем
http://somesite/forum/download/file.php ... 18&t=1 и последний параметр благополучно теряется. В случае со ссылкой на превьюшку с самого же форума вместо превьюшки туда попадает полноразмерная картинка и разумеется не пролазит в ограничения размеров. В остальных случаях параметры тоже могут иметь ключевое значение.
Воспроизводится в 3.0.5, 3.0.6, 3.0.7
Сначала написал html_entity_decode вместо htmlspecialchars_decode, но потом нашёл, что в движке реализована собственная подстановка htmlspecialchars_decode, что должно бы работать более кроссверсионно. Наверное так правильней.
Возможно фикс не совсем корректный, моё мнение - encode надо делать в последний момент, а в эту функцию оригинальное значение $in должно прийти. Но я не особо дружу с php вообще и с движком форума в частности, чтобы разобраться где откуда какие вызовы идут - мне несколько дней понадобится.