Новости Joomla

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

‼️ 👩‍💻 Обновление безопасности для Tassos Framework!

7 января 2026 года греческому разработчику Тассосу Мариносу сообщили об уязвимости в системном плагине Tassos Framework, который входит в состав его расширений для Joomla.

⚠️ Проблема затрагивает следующие расширения:
- Convert Forms - конструктор форм обратной связи для Joomla
- EngageBox - конструктор всплывающих окон для Joomla
- Google Structured Data - пакет плагинов микроразметки для Joomla
- Advanced Custom Fields - пакет плагинов пользовательских полей (видео-сервисы, карты и иже с ними)
- Smile Pack - пакет расширений
- MailChimp Auto-Subscribe

Незамедлительно была проведена полная внутренняя проверка кода, внедрены дополнительные меры проверки и повышения безопасности, а также выпущены исправленные версии всех затронутых расширений. Проблема полностью решена.

👉 Суть уязвимости.
Уязвимость заключалась в том, как плагин Tassos Framework обрабатывал определенные AJAX-запросы через com_ajaxточку входа Joomla. При определенных условиях внутренняя функциональность фреймворка могла быть вызвана без надлежащих ограничений.

В худшем случае это могло позволить неавторизованному злоумышленнику читать файлы, доступные веб-серверу. Это также могло позволить удалять файлы с сервера при выполнении определенных условий.

При определенных обстоятельствах запросы к базе данных могли быть изменены для извлечения данных из базы данных Joomla. В совокупности эти возможности потенциально могли быть использованы для повышения уровня доступа и выполнения несанкционированного кода.

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

Немедленно обновите расширения до безопасных версий (Joomla 4/5/6 | Joomla 3):
- Convert Forms - v5.1.1 / v.4.1.1
- EngageBox - v.7.1.1 / v,6,3,9
- Google Structured Data - v.6.1.1 / v.5.6.9
- Advanced Custom Fields - v.3.1.1 / v.2.8.10
- Smile Pack - v.2.1.1 / v.1.2.4.
- MailChimp Auto-Subscribe - v.5.1.1+ / v.5.0.4

Все указанные версии включают в себя релиз безопасности плагина Tassos Framework System Plugin v6.0.62.

Если у вас установлено несколько расширений Tassos, достаточно обновить только одно, чтобы применить патч. Однако всегда рекомендуется обновлять все расширения.

@joomlafeed

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

Проект IV: Обучение с подкреплением на основе отзывов переводчиков.
Joomla собирается использовать автоматический перевод документации. В каждом языке есть свои специфические слова, характерные для Joomla. Предполагается обучать языковые модели, используя обратную связь от переводчиков, чтобы постоянно улучшать качество переводов и учитывать специфические языковые особенности Joomla.

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

0 Пользователей и 1 Гость просматривают эту тему.
  • 25 Ответов
  • 2487 Просмотров
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Друзья!

Помогите устранить ошибку после утсновки бэкапа сайта на Опен Сервер. Ошибка лога: "Fatal error: Call to a member function get() on null in C:\OSPanel\domains\сайт\libraries\joomla\cache\storage\memcached.php on line 126"

Вот
Код
public function get($id, $group, $checkTime = true)
{
$cache_id = $this->_getCacheId($id, $group);
$back = self::$_db->get($cache_id);
return $back;
}
Ну а сама 126 строчка
Код
$back = self::$_db->get($cache_id);
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Open Server не поддерживает на memcached - Просто выключить в настройках
В настройках OS Memcached - не используется и так
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
self::$_db - А что   в этой переменной ?
Код
echo'<pre>';print_r( self::$_db );echo'</pre>'.__FILE__.' '.__LINE__;
die(__FILE__ .' '. __LINE__ );
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
self::$_db - А что   в этой переменной ?
Код
echo'<pre>';print_r( self::$_db );echo'</pre>'.__FILE__.' '.__LINE__;
die(__FILE__ .' '. __LINE__ );
а в каком файле смотреть?
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
а в каком файле смотреть?
C:\OSPanel\domains\сайт\libraries\joomla\cache\storage\memcached.php on line 126
Тут где ошибка ?
Перед строкой 126
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
C:\OSPanel\domains\сайт\libraries\joomla\cache\storage\memcached.php on line 126
Тут где ошибка ?
Перед строкой 126

Вот что идет перед этим
Код
<?php
/**
 * @package     Joomla.Platform
 * @subpackage  Cache
 *
 * [member=126442]copyright[/member]   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 */

defined('JPATH_PLATFORM') or die;

/**
 * Memcached cache storage handler
 *
 * @package     Joomla.Platform
 * @subpackage  Cache
 * @see         http://php.net/manual/en/book.memcached.php
 * @since       12.1
 */
class JCacheStorageMemcached extends JCacheStorage
{
/**
* @var    Memcached
* @since  12.1
*/
protected static $_db = null;

/**
* @var    boolean
* @since  12.1
*/
protected $_persistent = false;

/**
* @var
* @since   12.1
*/
protected $_compress = 0;

/**
* Constructor
*
* @param   array  $options  Optional parameters.
*
* @since   12.1
*/
public function __construct($options = array())
{
parent::__construct($options);
if (self::$_db === null)
{
$this->getConnection();
}
}

/**
* Return memcached connection object
*
* @return  object   memcached connection object
*
* @since   12.1
*/
protected function getConnection()
{
if ((extension_loaded('memcached') && class_exists('Memcached'))!= true)
{
return false;
}

$config = JFactory::getConfig();
$this->_persistent = $config->get('memcache_persist', true);
$this->_compress = $config->get('memcache_compress', false) == false ? 0 : Memcached::OPT_COMPRESSION;

/*
* This will be an array of loveliness
* @todo: multiple servers
* $servers = (isset($params['servers']))? $params['servers'] : array();
*/
$server = array();
$server['host'] = $config->get('memcache_server_host', 'localhost');
$server['port'] = $config->get('memcache_server_port', 11211);

// Create the memcache connection
if ($this->_persistent)
{
$session = JFactory::getSession();
self::$_db = new Memcached($session->getId());
}
else
{
self::$_db = new Memcached;
}
$memcachedtest = self::$_db->addServer($server['host'], $server['port']);

if ($memcachedtest == false)
{
return JError::raiseError(404, "Could not connect to memcached server");
}

self::$_db->setOption(Memcached::OPT_COMPRESSION, $this->_compress);

// Memcached has no list keys, we do our own accounting, initialise key index
if (self::$_db->get($this->_hash . '-index') === false)
{
$empty = array();
self::$_db->set($this->_hash . '-index', $empty, 0);
}

return;
}

/**
* Get cached data from memcached by id and group
*
* @param   string   $id         The cache data id
* @param   string   $group      The cache data group
* @param   boolean  $checkTime  True to verify cache time expiration threshold
*
* @return  mixed  Boolean false on failure or a cached data string
*
* @since   12.1
*/
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Общие настройки => Система => Настройки кэша => Обработчик кэширования - Что стоит ??
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Общие настройки => Система => Настройки кэша => Обработчик кэширования - Что стоит ??

Если смотреть в админке текущего сайта, то выбрано JLIB_FORM_VALUE_CASHE_memcached
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Переключите на файл
Есть только переключение на "Файл". На него переключить?
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Есть только переключение на "Файл". На него переключить?
Ну да конечно
« Последнее редактирование: 14.06.2020, 22:47:37 от era »
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Ну да конечно
Отключение этого метода кэширования, и дальнейшее создание нового бекапа позволило установить его на Опен Сервер! Огромное большое! Теперь буду обновлять движок с 2.5 на актуальный!
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Внимательно ! - Пошаговая миграция с Joomla 2.5 на 3.х

При обновлении с 2.5 на 3.5.1 уже повылезала ошибка "Fatal error: Call to undefined method Joomla\Registry\Registry::getValue() in C:\OSPanel\domains\сайт\components\com_jcomments\libraries\joomlatune\joomla\jversion.php on line 35". В какую сторону копать?
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Какая у вас версия PHP ?
Сейчас в настройках ОS стоит версия PHP 5.6
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Попробуйте переставить или повыше или пониже версию
А ещё переключите на стандартный шаблон ваш сайт
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Попробуйте переставить или повыше или пониже версию
А ещё переключите на стандартный шаблон ваш сайт
Используется и так шаблон beez_20. Попробую перед обновлением повыше сделать PHP
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Попробуйте переставить или повыше или пониже версию
А ещё переключите на стандартный шаблон ваш сайт

Ничего из вышеперечисленных не помогло...
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
C:\OSPanel\domains\сайт\components\com_jcomments\libraries\joomlatune\joomla\jversion.php on line 35". В какую сторону копать?
А Попробуйте обновить этот компонент com_jcomments
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
C:\OSPanel\domains\сайт\components\com_jcomments\libraries\joomlatune\joomla\jversion.php on line 35
А что в самом этом файлике
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Изменить эту строку вот таким образом
Код
JRegistry::getvalue()  to JRegistry::get()

Теперь на 86% установки выскакивает "1091 - Обнаружена ошибка. Can't DROP 'usertype'; check that column/key exists SQL=ALTER TABLE `#__users` DROP INDEX `usertype`;" ;D
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Ответил Вам в личных сообщениях !
По поводу ошибки
зайдите в PhpMyAdmin, откройте #__users таблицу и убедитесь, что usertype столбец существует.
Если да то попробуйте там же PhpMyAdmin выполнить такой запрос ( Заменить "#_" на префикс )
Код
ALTER TABLE `#__users` ADD INDEX(`usertype`);

*

stitch808

  • Захожу иногда
  • 150
  • 5 / 0
Ответил Вам в личных сообщениях !
По поводу ошибки
зайдите в PhpMyAdmin, откройте #__users таблицу и убедитесь, что usertype столбец существует.
Если да то попробуйте там же PhpMyAdmin выполнить такой запрос ( Заменить "#_" на префикс )
Код
ALTER TABLE `#__users` ADD INDEX(`usertype`);
Пока проблема так и не решилась...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

С устранением Warning: "continue" targeting switch is equivalent to "break". D

Автор alexs64

Ответов: 0
Просмотров: 11387
Последний ответ 07.09.2025, 20:44:48
от alexs64
Где настраивается <jdoc:include type="component" />

Автор zhekamur

Ответов: 4
Просмотров: 3042
Последний ответ 06.06.2024, 22:50:07
от Vastriet
Все изменения появляются в старой базе данных и ftp после смены хостинга

Автор makena0606

Ответов: 2
Просмотров: 3396
Последний ответ 09.02.2024, 10:21:47
от Vastriet
Кнопка &amp;quot;редактировать&amp;quot;

Автор all_zer

Ответов: 1
Просмотров: 2994
Последний ответ 28.12.2023, 09:53:48
от fsv
Прошу помощи. Ошибка при обновлении на Joomla 4

Автор wmsonic

Ответов: 1
Просмотров: 2634
Последний ответ 29.10.2023, 22:07:23
от Kukush