Релиз LiveStreet 1.0.2

Сообщаем о выпуске промежуточной версии LiveStreet 1.0.2.
Основная причина — закрытие пассивной XSS (спасибо HiMiC ). Также были исправлены другие незначительные моменты по безопасности.
Полный список изменений относительно версии 1.0.1 доступен здесь — github.com/livestreet/livestreet/commit/479e97bea183b8ab863d45b8150fe6549b42f8ce

В новую версию вошли практически все изменения ядра из девел версии на текущий момент, что повысит, в частности, скорость работы сайта. Шаблоны не изменялись, поэтому должна быть полная 100% совместимость с текущими шаблонами и плагинами.

При обновлении с 1.0.1 достаточно перезаписать файлы из нового архива, каталог /templates/skin/ можно не перезаписывать.

Скачать можно здесь — livestreetcms.ru/download/

UPD
Список изменений:
  • фикс бага смены емайла, если у пользователя не было старого
  • если класс модуля не существует, то теперь выбрасывается эксепшен
  • доступ к какум только через http
  • фикс генератора плагинов из консоли
  • в конфиг вынесены настройки допустимого логина пользователя
  • фикс отображения адреса сайта плагина в списке плагинов
  • вынос в конфиг максимального размера текста топика для ссылок и опросов
  • возможность отключить обязательность проверки каптчи
  • фикс удаления комментариев
  • фикс раскрытия путей на сервере — замена функции getRequest на getRequestStr для строковых параметров
  • закрытие прямого доступа к plugin.xml, закрытие некоторых каталогов через htaccess
  • список допустимых протоколов для ссылок в парсере jevix
  • в классе LS методы заменены на статические
  • в сущности топика добавлены новые вспомогательные методы: getUrlEdit, getIsAllowDelete, getIsAllowEdit, getIsAllowAction
  • новая опция в конфиге $config['smarty']['compile_check'] для отключения проверки шаблонов перед компиляцией
  • фикс бага с передачей сессии в каптчу
  • фикс предпросмотра у топика-ссылки и опроса
  • фикс установки уровня php ошибок в Viewer
  • теперь, если файл шаблона плагина не найден, будет попытка его найти в каталоге шаблона плагина /default/, это позволит не дублировать файлы шаблонов для разных скинов
  • фикс утечки памяти при обработке конфига
  • для топика устанавливается canonical url
  • фикс экранирования полей в ORM
  • для ORM связи many-many добавлен новый метод clear() для удаления всех текущих связей
  • возможность в определении ORM связи has-many указывать дополнительный фильтр (4-й параметр)
  • поддержка группировки в условиях ORM запроса
  • фикс XSS в пагинации
  • в определении таблицы в ORM учитывается имя плагина, например, prefix_pluginname_user_invite
  • теперь при запуски из консоли функция func_getIp вернет 127.0.0.1
  • в jevix в обработку тегов TR_TAG_CALLBACK_FULL дополнительно передается содержание между тегов
  • в ls.ajax в хук дополнительно передаются параметры callback и more
  • оптимизация выборки инбоксов
  • фикс бага подписки на комменты к топику из закрытого блога
  • фикс удаления файлов изображения фото-сетов при удалении топика

Уязвимость CMS LiveStreet - вопрос

Выбрали этот CMS для ведения полупубличного ресурса с множеством закрытых блогов и закрытых спойлерами частей постов.
Вот возник вопрос… насколько легко взломать, насколько «взломостойка» эта CMS (доступ к информации), как часто находят уязвимости.
Какие мероприятия специфического (по отношению к этой CMS) характера нам следует провести?
Спасибо
PS в будущем могли бы нанять кого то в консультанты… но пока хочется понять общие моменты

Фикс безопасности в LiveStreet 0.5.1

В LiveStreet 0.5.1 в js библиотеке prettyPhoto обнаружена уязвимость XSS.

Варианты исправления:


Настоятельно требуем выполнить обновление.

Фикс безопасности в LiveStreet 0.5.1

Новый Год не всегда приносит радостные эмоции и отличные подарки, иногда сюрпризы более мрачные.
В LiveStreet 0.5.1 в фото-сетах обнаружена XSS уязвимость.

Патч, исправляющий баг, здесь — github.com/livestreet/livestreet/commit/c5b8e20d0ec380c2f2222fa266261d22dc36f926
Либо можно просто повторно скачать архив с LS от сюда — livestreetcms.com/download/ (архив обновлен)

Настоятельно рекомендуем требуем выполнить обновление.

Закрытие security бага в LS

Здравствуйте!

Уведомляем вас о закрытии в LiveStreet 0.4.2 уязвимости XSS.
Уязвимость была обнаружена в сторонней библиотеке CSSTidy, используемой в LS.
Для исправления этой уязвимости вы можете скачать обновленный архив LiveStreet 0.4.2 — http://livestreetcms.com/download/
Либо просто вручную удалите у себя файл /engine/lib/external/CSSTidy-1.3/css_optimiser.php.

Мы настоятельно рекомендуем вам выполнить эти действия.
Спасибо за понимание.

UPDATE
Это приложение к первому письму, в котором мы, к сожалению, упустили еще один важный баг безопасности.
Для исправления этой уязвимости вы можете скачать обновленный архив LiveStreet 0.4.2 — http://livestreetcms.com/download/
Либо внесите изменения вручную:
1. Найдите в файле /engine/modules/text/Text.class.php 213 строчку: return array($sTextShort,$sTextNew,$sTextCut);
2. Замените её на строчку: return array($sTextShort,$sTextNew,$sTextCut? htmlspecialchars($sTextCut): null);
Изменения можно посмотреть в SVN.

Уязвимость в классе Text в старых версиях

Пишу в свой блог, ибо не хватает кармы для написания в багрепорт.

Вообщем-то уязвимость не так страшна в данный момент. Суть ее заключается в неверно составленом регулярнике, а именно:

Метод для обрамления url'ов в noindex:


public function MakeUrlNoIndex($sText) {
		return preg_replace("/(<a .*>.*<\/a>)/Ui","<noindex>$1</noindex>",$sText);
	}

Дело в том, что символ точки, в регулярных выражениях, не является шаблоном для \n, Соответсвенно, если между тэгами поставить enter, т.е. он же \n, то ссылка не обрамится в ноиндекс.

На сколько я понял, убрали этот метод с выходом версии 0.4.2, в свзяи с тем, что яндекс начал смотреть в ноуфоллоу.

НО как видно из статей довольно знаменитых блогеров, где были проведены эксперементы, вес линка с ноуфолоу вроде как передается, а от ноиндекс, вроде как не отказались. Непонятно чему верить?)

Вообщем выводы можно сделать следущие:

1) Если у вас старая версия движка, то лучше обновитесь.
2) Я бы все же оставил обрамление линков в ноидекс, ибо если даже яндекс действительно начал учитывать nofollow, то до всех спамеров это дойдет не скоро

Критичное обновление Админпанели вер.1.2.86

В Админпанели была обнаружена уязвимость (спасибо юзеру skpropovednik). Версия с заплаткой 1.2.86 уже выложена здесь: livestreet.ru/addons/34/

Обновление крайне рекомендуется для всех.

ЗЫ Выкладываю сообщение сюда, потому что критичное обновление, а не просто очередной билд.

XSS уязвимость в модуле Админпанель < 1.2

Данная уязвимость работает в модуле Админпанель 1.2, вкладка Пользователи -> Список.
Справа от списка пользователей предлагается отправить письмо (новое или выбрать из старых).
В старых javascript в темах сообщений никак не фильтруется.

Например

	<select name="talk_inbox_list" id="talk_inbox_list" onchange="AdminMessageSelect();">
		<option value="0">-- Новое письмо --</option>
		<option value="1">test <script>alert('1')</script></option>
	</select>