• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Информация Потенциальная уязвимость всей линейки DLE

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
DLE использует PHPMailer версии 5.2.16 (информация в файле upload\engine\classes\mail\class.phpmailer.php 39 строка).

Данная версия PHPMailer содержит критическую уязвимости, а именно:
25.12.2016, CVE-2016-10033 Уязвимость удалённого выполнения кода через PHPMailer
27.12.2016, CVE-2016-10045 Уязвимость удалённого выполнения кода через PHPMailer

На русском: Для просмотра ссылки Войди или Зарегистрируйся

Для PHPMailer выпущен патч Для просмотра ссылки Войди или Зарегистрируйся , однако настоятельно рекомендую обновиться до версии 5.2.21!

Для просмотра ссылки Войди или Зарегистрируйся

Совместимость с DLE не проверялась! Беглый осмотр показал, что функции не претерпели значимых изменений, так что всё должно работать.

Не забываем, что class.phpmailer.php в DLE состоит из 2 файлов: class.phpmailer.php и class.smtp.php, идущими друг за другом.

Кто соберёт файл и протестирует на DLE удачно - не лишним будет выложить в топик.

P.s. во избежание воплей "Да DLE экранирует всё, бага не критична". Отвечу грубо, но тему закрою: если в гандоне не критичная дырка, а ты не хочешь залететь - ты пойдёшь и купишь целый... Использование библиотеки, в которой есть дыра, даже если ты этот кусок не используешь - зло!

P.p.s. удивляет, что разработчики DLE решили не выпускать промежуточный фикс данной уязвимости.
 
\upload\engine\classes\mobiledetect.class.php
Текущая версия 2.8.22
Актуальная версия: 2.8.24

Честно говоря не смотрел изменения в файлах, но коль есть более новая версия библиотеки - надо бы обновляться :)

Гитхаб: Для просмотра ссылки Войди или Зарегистрируйся

Совместимость с DLE, наличие уязвимостей и т.д. не проверялось.

P.s. стрёмно залезать в папку с JS-классами...

Upd: Уязвимостей не было - но добавили новые телефоны Samsung и браузер Vivaldi. Некоторым будет критично...
 
Последнее редактирование:
Вроде как с версии 10.5 добавили PHPMailer...
 
PHPMailer 5.2.23
Как раз заменил недавно в новом проекте. Проверял SMTP отправку, всё отлично.

А вообще, печально, что на официальном сайте нет отдельного раздела, где выкладывались бы актуальные библиотеки. Многие пользователи DLE ведь и не подозревают, что используются какие то библиотеки и сидят на DLE 10
 

Вложения

  • class.phpmailer.zip
    41,9 KB · Просмотры: 8
Последнее редактирование:
Есть уже версия 5.5.23 на гитхабе Для просмотра ссылки Войди или Зарегистрируйся

Сравнил новую библиотеку с той, что идет с версией DLE11.2 при помощи Notepad++ и модуля Compare. Если я правильно понял, процесс "допиливания" под DLE сводится к двум шагам:

1) добавить в начале файла защиту от прямого обращения из вне DLE
PHP:
if (! defined ( 'DATALIFEENGINE' )) {
    die ( "Hacking attempt!" );
}
2) объединить файл class.phpmailer.php и class.smtp.php из оригинального дистрибутива PHPMailer-master в один файл под названием class.phpmailer.php

Помимо исправлений CVE-2016-10033 и CVE-2016-10045 заметил другие правки

1) добавлена валидация $langcode
2) генерация уникального ID
3) правки под старый PHP и OpenSSL Для просмотра ссылки Войди или Зарегистрируйся
4) правки согласно Для просмотра ссылки Войди или Зарегистрируйся
5) в конце класса SMTP добавлена функция обработки ошибок "protected function errorHandler"

Просьба к разбирающимся поковырять, правильно ли я объединил.


 

Вложения

  • class.phpmailer.zip
    39,9 KB · Просмотры: 3
Последнее редактирование:
Есть уже версия 5.5.23 на гитхабе Для просмотра ссылки Войди или Зарегистрируйся

Сравнил новую библиотеку с той, что идет с версией DLE11.2 при помощи Notepad++ и модуля Compare. Если я правильно понял, процесс "допиливания" под DLE сводится к двум шагам:

1) добавить в начале файла защиту от прямого обращения из вне DLE
PHP:
if (! defined ( 'DATALIFEENGINE' )) {
    die ( "Hacking attempt!" );
}
2) объединить файл class.phpmailer.php и class.smtp.php из оригинального дистрибутива PHPMailer-master в один файл под названием class.phpmailer.php

Помимо исправлений CVE-2016-10033 и CVE-2016-10045 заметил другие правки

1) добавлена валидация $langcode
2) генерация уникального ID
3) правки под старый PHP и OpenSSL Для просмотра ссылки Войди или Зарегистрируйся
4) правки согласно Для просмотра ссылки Войди или Зарегистрируйся
5) в конце класса SMTP добавлена функция обработки ошибок "protected function errorHandler"

Просьба к разбирающимся поковырять, правильно ли я объединил.

Я же прикрепил постом выше.
5.2.23 последняя, 5.5.23 не существует Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху