Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
joomla-levels-api — Joomla 6.1.3 - Alta - Remota - ACL - GET /api/v1/users/levels filtra los niveles de vista | Kitploit
Herramientas/GitHubGitHub/abraxas/joomla-levels-api
Autenticación y AutorizaciónAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónSeguridad de APIsLabs y Práctica
GitHubabraxas/joomla-levels-api

joomla-levels-api

Joomla 6.1.3 - Alta - Remota - ACL - GET /api/v1/users/levels filtra los niveles de vista

9hace 4 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

Abraxas Labs - joomla-levels-api

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  joomla-levels-api

joomla-levels-api

Clase: Privilegio residual Alcance: Remoto

Joomla CMS 6.1.3 (0f2d4de) - Open Source Matters

Administrator Users -> Viewing Access Levels requiere core.admin sobre com_users (LevelController::allowSave y delete). El webservice de Groups ya hace lo mismo (GroupsController, 6.1.1). LevelsController no tiene override de allowAdd, allowEdit ni delete, por lo que ApiController deja pasar core.manage más core.create.

Un token de API de clase Manager, al que se le concede core.login.api sin core.admin, puede crear niveles de acceso de visualización que la UI prohíbe.

IDsin CVE todavía
ClasePrivilegio residual / bypass de autorización
AlcanceRemoto (token de API con core.login.api)
CWECWE-863
CVSSMedio: 6.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
ProductoJoomla CMS
Afectado6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
AuthToken de API para Manager (grupo 6) con core.login.api y manage/create/edit de com_users. Sin core.admin. Por defecto core.login.api es solo para Super User.
LicenciaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Qué puede hacer un atacante

Usar un token de API que no es de Super User para cambiar qué grupos ven qué páginas. No se convierten en Super User solo con este residuo. Esto es control de visibilidad de contenido, no una toma de control del sitio.

PrivilegioMétodo / rutaTipoProbado en lab o inferido
Crear un nivel de acceso de visualizaciónPOST /api/index.php/v1/users/levels JSON title, rules (ids de grupo)integridadProbado en lab. HTTP 200, #__viewlevels id=7, título poc-level-JOOMLA-LEVELS-API-WITNESS
Editar un nivel existente (lista de grupos / título)PATCH /api/index.php/v1/users/levels/{id}integridadInferido. Mismo controlador, sin allowEdit. El lab solo creó.
Eliminar un nivelDELETE /api/index.php/v1/users/levels/{id}integridad / disponibilidad de filas ACLInferido. Mismo override ausente. El lab no hizo DELETE.
Exponer un artículo, módulo o elemento de menú solo para miembrosNivel nuevo o parcheado cuyas rules incluyan Public / Guest / Registeredreconocimiento (visibilidad de contenido)Inferido a partir de #__viewlevels.rules. El lab insertó la fila; no volvió a aplicar ACL a un artículo en vivo.
Ocultar una página a Registered, o añadir el grupo del atacante a un nivel SpecialMismo PATCH / createintegridadInferido. Mismo almacén.
Mutar grupos de usuarios desde la APIPOST /api/index.php/v1/users/groupsn/aProbado en lab cerrado. HTTP 403 (GroupsController core.admin)
Abrir Users -> Viewing Access Levels en el administradorGET /administrator/index.php?option=com_users&view=levelsn/aProbado en lab cerrado. HTTP 403
Guardar un nivel desde la UIPOST ... task=level.saven/aProbado en lab cerrado. HTTP 403 (LevelController::allowSave requiere core.admin)
Golpear la API con un Manager estándar (sin core.login.api)Bearer token / X-Joomla-Tokenn/aInferido cerrado. Por defecto core.login.api es solo para Super User (grupo 8). Este lab primero lo concede al grupo 6.
RCE de Super User / instaladorn/an/aCerrado. Manager sigue siendo Manager.

Cómo lo encontré

Fijé joomla/joomla-cms 6.1.3 tras la oleada de JSST de 2026-07/08. La API de Groups ya requiere core.admin. Los niveles de visualización todavía caen a través de ApiController (core.manage más core.create / core.edit / core.delete). La única lógica extra en LevelsController es la decodificación JSON de rules en PATCH.

Hermano Groups corregido:

public function allowAdd($data = [])
{
    return $this->app->getIdentity()->authorise('core.admin', $this->option);
}

UI del administrador:

protected function allowSave($data, $key = 'id')
{
    return $this->app->getIdentity()->authorise('core.admin', $this->option)
        && parent::allowSave($data, $key);
}

Caminos equivocados ya registrados: tratar la API de Groups como todavía abierta (da 403); golpear la API como un Manager estándar sin conceder primero core.login.api (por defecto es solo para Super User, misma configuración que CVE-2026-71574 / 72531 / 48904); leer el 403 de la UI como toda la historia (el residuo es la API). Teatro: una reverse shell. El oráculo es API 200 más Groups 403 más UI 403.

Mismos residuos del pin: menu items API, media override, articles catid.

Lab

python3 joomla-levels-api-Abraxas-Labs.py

o

cd lab
./run.sh

Objetivo solo http://127.0.0.1:19520. Imagen joomla:6.1.3-php8.3-apache más mariadb:11.4.

SUCCESS joomla-levels-api api-http=200 level-id=7 groups-api=403 ui-view=403 ui-save=403 JOOMLA-LEVELS-API-WITNESS

La corrección

Copiar allowAdd / allowEdit / delete con core.admin de GroupsController a LevelsController. Mantener la puerta de la UI del administrador.

Referencias

  • github.com/joomla/joomla-cms tag 6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
  • LevelsController.php
  • Cercano parcheado: Groups API core.admin (6.1.1) · CVE-2026-71574
  • Mismo tag: joomla-menu-items-api · joomla-media-override · joomla-articles-catid
  • CWE-863

Licencia

GNU Affero GPL v3.0. Ver LICENSE. Solo lab en loopback. Sin garantía.

Descargar herramienta