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

Edward

  • Осваиваюсь на форуме
  • 30
  • 2 / 0
Всем привет!

Требуется сделать контактную форму на странице товара. _http://forum.virtuemart.net/index.php?topic=61872.30 Здесь нашел модификацию - выводится ask_seller в flypage.tpl. Модифицировал код на

Код
	<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
/*
* flypage-ask-inline.tpl.php version 1.0b
*  Copyright (C) 2009 Rick Baer - All rights reserved.
*/
?>

<script type="text/javascript"><!--
// AJAX handler for sending "Ask a question about this product" email

function handleAskProdQuest( formId, parameters ) {
formEmail = document.getElementById( formId );

var respMsg = parameters;

var callback = function(responseText) {

// close an existing mooPrompt box first, before attempting to create a new one (thanks wellsie!)
if (document.boxB) {
document.boxB.close();
clearTimeout(timeoutID);
}

// Prepare response message
if (responseText.indexOf('>Success<') > 0) {
responseText = respMsg;
//document.getElementById('ask_inline').style.display='none';
} else {
responseText = 'Your product question was not emailed due to an internal error';
};

document.boxB = new MooPrompt(notice_lbl, responseText, {
buttons: 1,
width:400,
height:150,
overlay: false,
button1: ok_lbl
});

setTimeout( 'document.boxB.close()', 5000 );
}

var opt = {
    // Use POST
    method: 'post',
    // Send this lovely data
    data: $(formId),
    // Handle successful response
    onComplete: callback,
   
    evalScripts: true
}

new Ajax(formEmail.action, opt).request();
}

--></script>


<h3 style="margin-top:0px; text-align:center; width:100%; display:block; color:#fe8500;"><?php echo $ask_seller_text; ?></h3>

   
  <div id="ask_inline" class="ask_inline" >

<form action="<?php echo $mm_action_url ?>index.php" method="post" name="emailForm" id="emailForm" onsubmit="validateEnquiryForm(this.id); return false;">
<label for="contact_name"><?php echo $VM_LANG->_('NAME_PROMPT')?></label><br />
<input type="text" name="name" id="contact_name" size="60" class="inputbox" value="<?php echo $my->name; ?>"><br />

<label for="contact_mail"><?php echo $VM_LANG->_('EMAIL_PROMPT')?></label><br />
<input type="text" id="contact_mail" name="email" size="60" label="Your email" class="inputbox" value="<?php echo $my->email; ?>"><br />

<label for="contact_text"><?php echo $VM_LANG->_('MESSAGE_PROMPT')?></label><br />
<textarea rows="10" cols="60" name="text" id="contact_text" class="inputbox"><?php echo $subject ?></textarea><br /><br />

<input type="submit" name="send" value="<?php echo $VM_LANG->_('SEND_BUTTON')?>" class="button" />
&nbsp; &nbsp; 
<input type="button" name="cancel" class="button" value="<?php echo $VM_LANG->_('CMN_CANCEL'); ?>"  onclick="document.getElementById('ask_inline').style.display='none'; return false;">


<input type="hidden" name="product_id" value="<?php echo $product_id  ?>" />
<input type="hidden" name="product_sku" value="<?php echo $product_sku  ?>" />
<input type="hidden" name="set" value="1" />
<input type="hidden" name="func" value="productAsk" />
<input type="hidden" name="page" value="shop.ask" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="flypage" value="<?php echo $flypage ?>" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" />

<input type="hidden" name="<?php echo $validate ?>" value="1" />
</form>
<script type="text/javascript"><!--


function validateEnquiryForm(form_id) {
if ( document.emailForm.text.value == "" ) {
alert( "<?php echo $VM_LANG->_('CONTACT_FORM_NC',false); ?>" );
} else {
document.emailForm.action = "<?php echo sefRelToAbs("index.php"); ?>"
handleAskProdQuest(form_id,"<?php echo $VM_LANG->_('THANK_MESSAGE')?>"); // AJAX request
}
}
--></script>

  </div>

сообщения отправляются только при полном заполнении всех полей. хотя, проверку e-mail закоментировал. возможно, проверка осуществляется где-то еще? куда копать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сумма корзины на главной странице

Автор andreylc

Ответов: 6
Просмотров: 2023
Последний ответ 30.05.2018, 11:13:43
от andreylc
Вывод товара из дочерних категорий в родительскую

Автор B0nG

Ответов: 0
Просмотров: 2974
Последний ответ 03.08.2014, 15:13:57
от B0nG
ID товара вместо cdata

Автор newsky

Ответов: 0
Просмотров: 2661
Последний ответ 01.07.2014, 13:05:12
от newsky
Расширенный Ajax-поиск по характеристикам товара VirtueMart

Автор Arkadiy

Ответов: 990
Просмотров: 213681
Последний ответ 27.06.2014, 16:47:52
от DeLight
Не могу убрать форму "Задайте вопрос..." на странице товара

Автор abrodski

Ответов: 1
Просмотров: 2800
Последний ответ 20.05.2014, 14:30:44
от abrodski