Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-48908 — Эксплойт, подтверждающий концепцию, для CVE-2026-48908, неаутентифицированная RCE в Joomla SP Page Builder через произвольную загрузку файлов, с адаптивной доставкой полезной нагрузки и очисткой. | Kitploit
Инструменты/GitHubGitHub/bayu06802/cve-2026-48908
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubbayu06802/cve-2026-48908

CVE-2026-48908

Эксплойт, подтверждающий концепцию, для CVE-2026-48908, неаутентифицированная RCE в Joomla SP Page Builder через произвольную загрузку файлов, с адаптивной доставкой полезной нагрузки и очисткой.

Репозиторий
12 месяцев назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-48908 — SP Page Builder (Joomla) Неаутентифицированное RCE

Эксплойт proof-of-concept для CVE-2026-48908, критической (CVSS 4.0 = 10.0) неаутентифицированной уязвимости удаленного выполнения кода в компоненте SP Page Builder (com_sppagebuilder) для Joomla от JoomShaper.

CVECVE-2026-48908
УязвимостьCWE-284 Неправильный контроль доступа → Неаутентифицированная произвольная загрузка файлов → RCE
КомпонентSP Page Builder (com_sppagebuilder) для Joomla
Затронутые версии1.0.0 – 6.6.1
Исправлено в6.6.2
Требуемые привилегииНет (до аутентификации)
Взаимодействие пользователяНет

Описание

SP Page Builder предоставляет задачу контроллера asset.uploadCustomIcon для обработки загрузки пользовательского пакета иконок-шрифтов:

root@kitploit:~
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon

В затронутых версиях эта задача доступна без аутентификации и без действительного anti-CSRF токена. Она принимает ZIP-архив (multipart поле custom_icon) и извлекает его содержимое в публично доступную через веб директорию под корнем документа:

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<name>/   (including the fonts/ subfolder)

Поскольку загрузка доступна до аутентификации и извлеченные файлы попадают в корень веб-сервера, злоумышленник может записать контролируемые файлы в просматриваемое расположение и получить к ним доступ через HTTP.

Достижение выполнения кода несмотря на фильтр расширений

В некоторых сборках добавлен серверный фильтр имен файлов для записей архива. Этот PoC обходит типичную реализацию такого фильтра с помощью цепочки из трех шагов:

  1. Блок-лист с учетом регистра. Фильтр отклоняет строчные .php, .phtml, .phar, .php3–.php8, .pht, .inc, … но не нормализует регистр, поэтому .PHP (и другие варианты со смешанным регистром) и .htaccess проходят.
  2. Обработчик веб-сервера с учетом регистра. Стандартный обработчик PHP в Apache (<FilesMatch "\.php$">) выполняет только строчные .php, поэтому загруженный .PHP изначально отдается как исходный текст, а не выполняется.
  3. Переопределение через .htaccess. Файл .htaccess (который блок-лист также пропускает), содержащий AddType application/x-httpd-php .PHP, помещается вместе с полезной нагрузкой. Там, где AllowOverride это разрешает, это регистрирует .PHP как PHP и загруженная оболочка выполняется.

PoC всегда упаковывает корректную структуру иконок-шрифтов (selection.json, style.css, fonts/<name>.ttf), чтобы загрузка была принята, а затем добавляет оболочку.

Адаптивный — он перебирает список исполняемых PHP расширений (сначала наименее заметные), затем запасной вариант с .htaccess, и останавливается на первом, который действительно выполняет код:

  1. Прямые загрузки одиночных файлов — fonts/<shell>.<ext> для каждого из php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php. Без .htaccess. Разные фильтры SP Page Builder блокируют разные наборы, и разные конфигурации Apache выполняют разные расширения — поэтому этот метод находит любую комбинацию, которую цель разрешает и выполняет.
  2. fonts/.htaccess + fonts/<shell>.PHP (запасной) — только если все прямые попытки не удались. Помещенный .htaccess (AddType … .PHP) заставляет выполняться прописной .PHP там, где AllowOverride это разрешает (именно это нужно хостам стиля 5.4.6).

Он останавливается на первом выполняющемся методе и выводит, какой именно сработал. Каждая принятая загрузка отслеживается, поэтому --cleanup удаляет все из них (несколько попыток могут оставить каталоги только для записи).

В зависимости от версии и усиления защиты сервера результат может различаться, и PoC сообщает об этом явно (см. Результаты ниже): полное RCE, только запись файлов (PHP отключен / AllowOverride None), исправлено (только для администратора) или не уязвимо.

Требования

root@kitploit:~
pip install -r requirements.txt   # requests

Использование

root@kitploit:~
# confirm the vulnerability and prove code execution (runs `id`)
python3 sppb_rce.py https://target.example

# run a specific command
python3 sppb_rce.py --url target.example -c "uname -a"

# interactive pseudo-shell
python3 sppb_rce.py https://target.example --shell

# only check; run no command
python3 sppb_rce.py https://target.example --check

# remove the uploaded payload directory afterwards
python3 sppb_rce.py https://target.example --cleanup

Цель может быть указана как позиционный аргумент или через --url, с указанием схемы или без.

Пример (обезличенный)

root@kitploit:~
[*] target   : https://target.example
[*] endpoint : index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
[*] try .php            -> rejected by filter
[*] try .php3           -> rejected by filter
...
[*] try .PHP            -> uploaded, not executed
[*] try .htaccess+.PHP  -> EXECUTED
[+] CODE EXECUTION CONFIRMED via '.htaccess+.PHP' (echo 7*6 -> 42)
[*] running: id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
------------------------------------------------------------
[*] cleanup: done (4 dirs)

Результаты (и коды выхода)

PoC всегда сообщает вердикт для цели:

ВыводЗначениеВыход
CODE EXECUTION CONFIRMED via '<method>'Уязвим — полное неаутентифицированное RCE0
[~] PARTIALLY VULNERABLE — unauth file-write works, but PHP did NOT executeТолько запись файлов (AllowOverride None / PHP отключен в /media)3
[-] TARGET NOT VULNERABLE — SP Page Builder is patched (6.6.2+)Исправлено — теперь загрузка требует аутентификации администратора1
[-] TARGET NOT VULNERABLE — every upload was rejected, or SP Page Builder is absent/patchedНе эксплуатируемо / компонент отсутствует2

Функции безопасности

  • Помещенная веб-оболочка защищена случайным токеном, уникальным для каждого запуска, и возвращает 404 любому, у кого его нет — это не общедоступный бэкдор.
  • --cleanup удаляет созданный каталог с полезной нагрузкой.
  • Действия по умолчанию безвредны (id, арифметическая метка).

Устранение

  1. Обновите SP Page Builder до версии 6.6.2 или новее (добавляет проверки аутентификации, авторизации и CSRF для задачи загрузки). Это основное исправление.
  2. Многоуровневая защита на веб-сервере:
    • Отключите выполнение PHP в каталогах загрузки (/media/, /images/, /tmp) через пул FPM или php_admin_flag engine off.
    • Установите AllowOverride None для этих каталогов, чтобы помещенный .htaccess не мог повторно включить обработчики.
    • Используйте нечувствительный к регистру белый список для расширений загрузки, никогда не используйте черный список.
  3. Обзор с предположением о взломе: ищите неожиданные .php/.PHP в media/.../iconfont/, новые учетные записи Super User и установленные файловые менеджеры.

Ссылки

  • NVD — CVE-2026-48908
  • Запись CVE.org — CVE-2026-48908
  • Технический отчет — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • Вендор — JoomShaper SP Page Builder (исправление безопасности в 6.6.2)
  • SP Page Builder — Каталог расширений Joomla

Ключевые слова

Эксплойт Joomla SP Page Builder · com_sppagebuilder неаутентифицированное RCE · CVE-2026-48908 PoC · asset.uploadCustomIcon произвольная загрузка файлов · Joomla удаленное выполнение кода · скрипт эксплойта для пенттеста.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Данное программное обеспечение публикуется только для образовательных целей и авторизованного тестирования безопасности — например, тестов на проникновение, на которые у вас есть письменное разрешение, программ bug-bounty, включающих цель в область действия, соревнований CTF и собственных лабораторных систем.

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

  • вы будете использовать его только против систем, которые вам принадлежат или на тестирование которых у вас есть явное, задокументированное разрешение;
  • автор(ы) и участники не несут ответственности за любой ущерб, потерю данных, сбой в работе службы или юридические последствия, возникшие в результате использования или неправильного использования этого кода;
  • этот материал предоставляется «КАК ЕСТЬ», без каких-либо гарантий, явных или подразумеваемых.

Если вы не согласны с этими условиями, не используйте данное программное обеспечение. Как и в случае с любым общедоступным эксплойтом/PoC, он распространяется добросовестно, чтобы помочь защитникам обнаружить, понять и устранить уязвимость; что вы с ним делаете — ваша ответственность.

Лицензия

MIT — см. LICENSE.

Скачать инструмент