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

amelo

  • Новичок
  • 4
  • 0 / 0
Ошибка вида "Parse error: syntax error, unexpected $end in /var/www/e5435632/data/www/inti-ru.net/maki/templates/453/html/com_content/section/blog_item.php on line 131", когда в "Главной" меняю тип на "Блог Раздела". Думал, что ошибка из-за использования коротких PHP тегов <? вместо <?php, но покопавшись в blog_item.php никакой ошибки не нашёл. Перезалил файлик - ничего не изменилось.
В чём может быть проблема?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Parse error: syntax error, unexpected $end in....
« Ответ #1 : 24.02.2010, 14:03:05 »
так покопайтесь в этом файле, скорей всего там ошибка синтаксиса, незакрытое условие или что то вроде
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

amelo

  • Новичок
  • 4
  • 0 / 0
Re: Parse error: syntax error, unexpected $end in....
« Ответ #2 : 24.02.2010, 14:16:29 »
копался. ничего не нашёл. вот сам код:

Код
<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<?php $canEdit   = ($this->user->authorize('com_content', 'edit', 'content', 'all') || $this->user->authorize('com_content', 'edit', 'content', 'own')); ?>
<?php if ($this->item->state == 0) : ?>

<div class="system-unpublished">
    <?php endif; ?>
    <?php if ($this->item->params->get('show_title') || $this->item->params->get('show_pdf_icon') || $this->item->params->get('show_print_icon') || $this->item->params->get('show_email_icon') || $canEdit) : ?>
    <div class="article-title-indent">
        <div class="article-title-wrapper">
            <table class="contentpaneopen<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
                <tr>
                    <?php if ($this->item->params->get('show_title')) : ?>
                    <td class="contentheading<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>" width="100%"><?php if ($this->item->params->get('link_titles') && $this->item->readmore_link != '') : ?>
                        <a href="<?php echo $this->item->readmore_link; ?>" class="contentpagetitle<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>"> <?php echo $this->escape($this->item->title); ?></a>
                        <?php else : ?>
                        <?php echo $this->escape($this->item->title); ?>
                        <?php endif; ?>
                    </td>
                    <?php endif; ?>
                    <?php if (($this->params->get('show_pdf_icon')) or ( $this->params->get( 'show_print_icon' )) or ($this->params->get('show_email_icon')) or ($canEdit) ): ?>
                    <td width="100%"><div class="icon-indent">
                            <table>
                                <tr>
                                    <?php if ($this->item->params->get('show_pdf_icon')) : ?>
                                    <td align="right" width="100%" class="buttonheading"><?php echo JHTML::_('icon.pdf', $this->item, $this->item->params, $this->access); ?> </td>
                                    <?php endif; ?>
                                    <?php if ( $this->item->params->get( 'show_print_icon' )) : ?>
                                    <td align="right" width="100%" class="buttonheading"><?php echo JHTML::_('icon.print_popup', $this->item, $this->item->params, $this->access); ?> </td>
                                    <?php endif; ?>
                                    <?php if ($this->item->params->get('show_email_icon')) : ?>
                                    <td align="right" width="100%" class="buttonheading"><?php echo JHTML::_('icon.email', $this->item, $this->item->params, $this->access); ?> </td>
                                    <?php endif; ?>
                                    <?php if ($canEdit) : ?>
                                    <td align="right" width="100%" class="buttonheading"><?php echo JHTML::_('icon.edit', $this->item, $this->item->params, $this->access); ?> </td>
                                    <?php endif; ?>
                                </tr>
                            </table>
                        </div></td>
                    <?php endif; ?>
                </tr>
            </table>
            <?php if (($this->params->get('show_author')) or ( $this->params->get( 'show_create_date' )) ): ?>
            <div class="article-indent">
                <?php if (($this->item->params->get('show_author')) && ($this->item->author != "")) : ?>
                <span class="small">
                <?php JText::printf( 'Written by', ($this->escape($this->item->created_by_alias)? $this->escape($this->item->created_by_alias) : $this->escape($this->item->author)) ); ?>
                </span>
                <?php endif; ?>
                <?php if ($this->item->params->get('show_create_date')) : ?>
                <div class="createdate"><?php echo JHTML::_('date', $this->item->created, JText::_('DATE_FORMAT_LC2')); ?></div>
                <?php endif; ?>
            </div>
            <?php endif; ?>
        </div>
    </div>
</div>
<?php  if (!$this->item->params->get('show_intro')) :
echo $this->item->event->afterDisplayTitle;
endif; ?>
<?php echo $this->item->event->beforeDisplayContent; ?>
<div class="article-text-indent">
    <div class="clear">
        <table class="contentpaneopen<?php echo $this->escape($this->item->params->get( 'pageclass_sfx' )); ?>">
            <?php if (($this->item->params->get('show_section') && $this->item->sectionid) || ($this->item->params->get('show_category') && $this->item->catid)) : ?>
            <tr>
                <td><?php if ($this->item->params->get('show_section') && $this->item->sectionid && isset($this->section->title)) : ?>
                    <span>
                    <?php if ($this->item->params->get('link_section')) : ?>
                    <?php echo '<a href="'.JRoute::_(ContentHelperRoute::getSectionRoute($this->item->sectionid)).'">'; ?>
                    <?php endif; ?>
                    <?php echo $this->escape($this->section->title); ?>
                    <?php if ($this->item->params->get('link_section')) : ?>
                    <?php echo '</a>'; ?>
                    <?php endif; ?>
                    <?php if ($this->item->params->get('show_category')) : ?>
                    <?php echo ' - '; ?>
                    <?php endif; ?>
                    </span>
                    <?php endif; ?>
                    <?php if ($this->item->params->get('show_category') && $this->item->catid) : ?>
                    <span>
                    <?php if ($this->item->params->get('link_category')) : ?>
                    <?php echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug, $this->item->sectionid)).'">'; ?>
                    <?php endif; ?>
                    <?php echo $this->escape($this->item->category); ?>
                    <?php if ($this->item->params->get('link_category')) : ?>
                    <?php echo '</a>'; ?>
                    <?php endif; ?>
                    </span>
                    <?php endif; ?>
                </td>
            </tr>
            <?php endif; ?>
            <?php if ($this->item->params->get('show_url') && $this->item->urls) : ?>
            <tr>
                <td valign="top" colspan="2"><a href="http://<?php echo $this->escape($this->item->urls) ; ?>" target="_blank"> <?php echo $this->escape($this->item->urls); ?></a> </td>
            </tr>
            <?php endif; ?>
            <tr>
                <td valign="top" colspan="2"><?php if (isset ($this->item->toc)) : ?>
                    <?php echo $this->item->toc; ?>
                    <?php endif; ?>
                    <?php echo $this->item->text; ?> </td>
            </tr>
            <?php if ( intval($this->item->modified)!= 0 && $this->item->params->get('show_modify_date')) : ?>
            <tr>
                <td colspan="2"  class="modifydate"><?php echo JText::sprintf('LAST_UPDATED2', JHTML::_('date', $this->item->modified, JText::_('DATE_FORMAT_LC2'))); ?> </td>
            </tr>
            <?php endif; ?>
            <?php if ($this->item->params->get('show_readmore') && $this->item->readmore) : ?>
            <tr>
                <td  colspan="2"><div class="indent-more"> <a href="<?php echo $this->item->readmore_link; ?>" class="png readon<?php echo $this->escape($this->item->params->get('pageclass_sfx')); ?>">
                        <?php if ($this->item->readmore_register) :
echo JText::_('Register to read more...');
elseif ($readmore = $this->item->params->get('readmore')) :
echo $readmore;
else :
echo JText::sprintf('Read more...');
endif; ?>
                        </a> </div></td>
            </tr>
            <?php endif; ?>
        </table>
    </div>
</div>
<?php if ($this->item->state == 0) : ?>
</div>
<?php endif; ?>
<div class="article-separator-indent"><span class="article_separator">&nbsp;</span></div>
<?php echo $this->item->event->afterDisplayContent; ?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 6829
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Fatal error: Class 'JDocument' not found

Автор gabiboi

Ответов: 2
Просмотров: 3758
Последний ответ 04.09.2020, 14:39:07
от svetka_777
simpleform2 ошибка ajax error в Google chrome

Автор safronoff343

Ответов: 1
Просмотров: 3444
Последний ответ 05.06.2020, 20:36:42
от safronoff343
Ошибка Fatal error: Allowed memory size of 73400320 bytes exhausted

Автор Andre109

Ответов: 1
Просмотров: 3376
Последний ответ 03.12.2018, 01:29:56
от voland
Ошибка 500 Internal Server Error. Что это такое и как это решить

Автор sargiusz

Ответов: 4
Просмотров: 6005
Последний ответ 20.03.2017, 14:30:33
от flyingspook