Новости 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 Гость просматривают эту тему.
  • 1 Ответов
  • 3769 Просмотров
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Всем приветы!
Помогите как правильно интегрировать JComments 2.2 в каталог недвижимости EA Improved 1.5.3.
Решение на офсайте не подходит, видать для более ранних версий
http://www.joomlatune.ru/jcomments-estateagent.html

Во-первых -
Цитировать
Откройте файл /components/com_estateagent/estateagent.html.php
Такого файла нет, есть только Откройте файл /components/com_estateagent/estateagent.php

Во вторых в нем нет указанных строк
Цитировать
  $tabs->endTab();
  $tabs->endPane();

Вот код существующего файла estateagent.php

Код
<?php
/*
File: estategent.php
Estate Agent Improved Component for Joomla 1.5.x 
Version: 1.5.x
Author: EAImproved team
Homepage: http://www.eaimproved.eu
License: GNU/GPL http://www.gnu.org/copyleft/gpl.html
*/

defined('_JEXEC') or die('Restricted access');

define('EA_SITE_PATH', dirname(__FILE__));

$document =& JFactory::getDocument();
$mainframe = & JFactory::getApplication();

//ini_set('display_errors','1');
//error_reporting(2047);

require_once(JPATH_SITE.DS.'administrator'.DS.'components'.DS.'com_estateagent'.DS.'class.estateagent.php');

//require_once($mainframe->getPath( 'front_html'));
//include_once(EA_SITE_PATH.DS."user.estateagent.php");
require_once(EA_SITE_PATH.DS.'actions'.DS.'agent.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'property.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'properties.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'category.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'categories.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'contact.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'mailtofriend.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'search.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'shortlist.php');
require_once(EA_SITE_PATH.DS.'actions'.DS.'currencyconverter.php');

require_once(EA_SITE_PATH.DS.'templates'.DS.'template.estateagent.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'helper.search.estateagent.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'helper.estateagent.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'header.estateagent.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'footer.estateagent.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'orderingbar.estateagent.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'orderingbar.agents.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'arrays.estateagent.php');
require_once(EA_SITE_PATH.DS.'helpers'.DS.'energyclass.php');

$document->addStyleSheet('components/com_estateagent/assets/estateagent.css');
$eaconf=&EAConfig::getInstance();
$eahelper=&EA_Helper::getInstance();

// check session-handling
//if(!session_is_registered("sres")) session_register("sres");


$view = JRequest::getString( 'view', 'categories' );
$task = JRequest::getString('task');
$id = JRequest::getInt( 'id', 0 );
$cid    = JArrayHelper::getValue( $_REQUEST, 'cid', array(0) );

// Check if EstateAgent is offline
if ($eaconf->ea_offline == 1) {
    require(EA_SITE_PATH.DS.'offline.php');
return;
}



//==================================================================================================
 
$excludeheaderlist=array('sendmtf','sendmail','mtfform','rss','newCaptcha','gallery','mtgcalc','curncyconverter','export','pdfexport');
if(!@in_array($view, $excludeheaderlist)) EAHeader();

switch( $view ) {
case "mtgcalc":
require_once(EA_SITE_PATH.DS.'includes'.DS.'mtgcalculator.php');
break;
case "curncyconverter":
get_CurrencyConverter();
break;
case "gallery":
if($eaconf->ea_allowsubmission==1)
{
if (authorizeFrontEnd()==false)
{
$mainframe->redirect( 'index.php?option=com_estateagent&view=categories', JText::_('ALERTNOTAUTH') );
}
}

require( EA_ADMIN_PATH.DS.'includes'.DS.'gallery'.DS.'admin.gallery.php');

break;
case 'newCaptcha':
$eahelper->CaptchaSecurityImages();
break;
case "mailform":
showTheContactForm();
break;

case "sendmail":
sendContactMail();
break;

case "mtfform":
mailToFriendForm();
break;

case "sendmtf":
mailToFriend();
break;
case "showproperty":
case "pdfexport":
case "print":
showEstateObject();
break;

case "properties":
ShowAllProperties();
break;

case "easearch":
showSearchForm();

break;
case "dosearch":
doEASearch();
break;
case "searchresults":
showSearchResults();
break;

case "shortlist":
//showSearchResults();
showMyShortList();

break;
case "emailmyshortlist":
sendmyshortlist();

break;

case "rss":
include(EA_SITE_PATH.DS.'templates'.DS.'rss.estateagent.php');

break;

case "agents":
listAgents();
break;

case "showagent":
profileAgent($id);
break;

case "agentproperties":
listAgentObjects();
break;

case "showtype": // show entries of a  type
ShowAllProperties();
break;

case "showhot":
//ShowHotProperties();
ShowAllProperties();
break;

case "category":
showCategoryEntries();
break;

case "categories":
default:
//$session =& JFactory::getSession();
//$theids = $session->get('user_visits');
showCategoriesOverview();
//ShowAllProperties();
break;
//Front End Administration
case "eaadmin":

if($eaconf->ea_allowsubmission==1) {
include_once(EA_SITE_PATH.DS.'actions'.DS.'user.php');
if (authorizeFrontEnd()==false) {
$mainframe->redirect( 'index.php?option=com_estateagent&view=categories', JText::_('ALERTNOTAUTH') );
}
$language =& JFactory::getLanguage();

$language->load('com_estateagent', JPATH_ADMINISTRATOR);
switch($task) {
case "add":
case "edit":
editMyEAObject();
break; 
case "clone":
cloneMyEAObject();
break;

case "save":
case "apply":
saveMyEAObject();
break;

case "publish":
case "unpublish":
publishMyEAObject();
break;

case 'cancel':
EAcancel();
break;

case "remove":
removeMyEAObject();
break;

case "showContact":
showContact();
break;

case "saveContact":
saveContact();
break;

default:
showEACPanel();
break;
}
}
break;

}

$excludefooterlist=array('sendmtf','sendmail','mtfform','rss','newCaptcha','pdfexport','dosearch','curncyconverter','gallery');
if(!@in_array($view, $excludefooterlist))EAFooter();

$excludersserlist=array('sendmtf','sendmail','emailmyshortlist', 'mailform','mtfform','rss','newCaptcha','pdfexport','print','mtgcalc','curncyconverter','gallery','eaadmin','dosearch');
if(!@in_array($view, $excludersserlist)) echo EA_Template::rssIcon();

?>
*

Netman_avs

  • Захожу иногда
  • 56
  • 1 / 0
Упс! Всё само решилось! Достаточно было в Панели управления EstateAgent включить отображение комментариев и все заработало!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

EstateAgent Improved 2.5.x

Автор mening

Ответов: 14
Просмотров: 10523
Последний ответ 16.04.2017, 17:35:25
от cepseu
А почему так дёшево EstateAgent?

Автор stardel

Ответов: 3
Просмотров: 5028
Последний ответ 30.07.2016, 14:07:58
от voland
EstateAgent Improved актуальные вопросы и их решения

Автор kirill.psl

Ответов: 364
Просмотров: 61145
Последний ответ 27.05.2016, 22:57:16
от cepseu
Модуль поиска по местанохождению EstateAgent

Автор fialka

Ответов: 5
Просмотров: 4088
Последний ответ 20.11.2015, 18:41:40
от RazarioAgro
Плагин экспорта объектов недвижимости с сайта на Яндекс недвижимость под Joomla 2.5 для EstateAgent

Автор a.Lexus

Ответов: 1
Просмотров: 2893
Последний ответ 13.10.2015, 13:14:19
от a.Lexus