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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-48908-PoC — PoC неавторизованного RCE для CVE-2026-48908 — SP Page Builder для Joomla (≤ 6.6.1): произвольная загрузка файлов через asset.uploadCustomIcon. Самоочищающийся, защищённый токеном. Только для авторизованного тестирования. | Kitploit
Инструменты/GitHubGitHub/papageo75/cve-2026-48908-poc
Генерация полезной нагрузкиАнализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
papageo75/cve-2026-48908-poc

CVE-2026-48908-PoC

PoC неавторизованного RCE для CVE-2026-48908 — SP Page Builder для Joomla (≤ 6.6.1): произвольная загрузка файлов через asset.uploadCustomIcon. Самоочищающийся, защищённый токеном. Только для авторизованного тестирования.

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

CVE-2026-48908 — SP Page Builder (Joomla) Неавторизованное удаленное выполнение кода

Эксплойт 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

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

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

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

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

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

Requirements

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, со схемой или без.

Example (sanitised)

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 всегда сообщает вердикт для цели:

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

  • Размещенная веб-оболочка защищена случайным токеном для каждого запуска и возвращает 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 record — CVE-2026-48908
  • Technical write-up — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • Vendor — JoomShaper SP Page Builder (security fix in 6.6.2)
  • SP Page Builder — Joomla Extensions Directory

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

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

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

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

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

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

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

Лицензия

MIT — см. LICENSE.

Скачать инструмент
.htaccess
AddType application/x-httpd-php .PHP
AllowOverride
.PHP
выполняется
ВыводЗначениеВыход
CODE EXECUTION CONFIRMED via '<method>'Уязвима — полное RCE без аутентификации0
[~] 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