Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
joomla-levels-api — Joomla 6.1.3 - Alta - Remota - ACL - GET /api/v1/users/levels vaza níveis de visualização | Kitploit
Ferramentas/GitHubGitHub/abraxas/joomla-levels-api
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoSegurança de APILabs e Prática
GitHubabraxas/joomla-levels-api

joomla-levels-api

Joomla 6.1.3 - Alta - Remota - ACL - GET /api/v1/users/levels vaza níveis de visualização

Ver Repositório
24há 8 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Abraxas Labs - joomla-levels-api

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

Análise: https://abraxaslabs.tech/research/joomla-levels-api

joomla-levels-api

Classe: Privilégio remanescente Alcance: Remoto

Joomla CMS 6.1.3 (0f2d4de) - Open Source Matters

Usuários Administradores -> Níveis de Acesso de Visualização exige core.admin em com_users (LevelController::allowSave e exclusão). O webservice de Grupos já faz o mesmo (GroupsController, 6.1.1). LevelsController não possui substituição de allowAdd, allowEdit ou delete, então ApiController permite a passagem de core.manage mais core.create.

Um token de API da classe Manager, concedido core.login.api sem core.admin, pode criar níveis de acesso de visualização que a interface proíbe.

IDainda sem CVE
ClassePrivilégio remanescente / bypass de autorização
AlcanceRemoto (token de API com core.login.api)
CWECWE-863
CVSSMédio: 6.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
ProdutoJoomla CMS
Afetado6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
AutenticaçãoToken de API para Manager (grupo 6) com core.login.api e gerenciamento/criação/edição de com_users. Sem core.admin. O padrão de core.login.api é apenas Super User.
LicençaGNU Affero GPL v3.0
Laboratórioapenas 127.0.0.1

O que um atacante pode fazer

Usar um token de API que não seja de Super User para alterar quais grupos veem quais páginas. Ele não se torna Super User apenas com este privilégio remanescente. Trata-se de controle de visibilidade de conteúdo, não de tomada de controle do site.

PrivilégioMétodo / caminhoTipoComprovado em laboratório ou inferido
Criar um nível de acesso de visualizaçãoPOST /api/index.php/v1/users/levels JSON title, rules (ids de grupo)integridadeComprovado em laboratório. HTTP 200, #__viewlevels id=7, título poc-level-JOOMLA-LEVELS-API-WITNESS
Editar um nível existente (lista de grupos / título)PATCH /api/index.php/v1/users/levels/{id}integridadeInferido. Mesmo controller, sem allowEdit. Laboratório apenas criou.
Excluir um nívelDELETE /api/index.php/v1/users/levels/{id}integridade / disponibilidade de linhas de ACLInferido. Mesma substituição ausente. O laboratório não executou DELETE.
Expor um artigo, módulo ou item de menu exclusivo para membrosNível novo ou corrigido cujas rules incluam Public / Guest / Registeredreconhecimento (visibilidade de conteúdo)Inferido a partir de #__viewlevels.rules. O laboratório inseriu a linha; não reaplicou ACL a um artigo ativo.
Ocultar uma página de Registered, ou adicionar o grupo do atacante a um nível SpecialMesmo PATCH / criaçãointegridadeInferido. Mesmo armazenamento.
Alterar grupos de usuários a partir da APIPOST /api/index.php/v1/users/groupsn/aComprovado em laboratório fechado. HTTP 403 (GroupsController core.admin)
Abrir Usuários -> Níveis de Acesso de Visualização no administradorGET /administrator/index.php?option=com_users&view=levelsn/aComprovado em laboratório fechado. HTTP 403
Salvar um nível pela interfacePOST ... task=level.saven/aComprovado em laboratório fechado. HTTP 403 (LevelController::allowSave exige core.admin)
Acessar a API com um Manager padrão (sem core.login.api)Token Bearer / X-Joomla-Tokenn/aInferido fechado. O padrão de core.login.api é apenas Super User (grupo 8). Este laboratório o concede ao grupo 6 primeiro.
RCE via Super User / instaladorn/an/aFechado. Manager permanece Manager.

Como eu encontrei

Fixe o irmão de Groups:

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

UI do Administrador:

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

Tentativas erradas já registradas: tratar a Groups API como ainda aberta (ela retorna 403); acessar a API como um Manager comum sem antes conceder core.login.api (o padrão é somente Super User, mesma configuração do CVE-2026-71574 / 72531 / 48904); interpretar o 403 da UI como a história completa (o que sobra é a API). Teatro: um reverse shell. O oráculo é API 200 mais Groups 403 mais UI 403.

Mesmos resquícios de pin: menu items API, media override, articles catid.

Lab

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

ou

cd lab
./run.sh

Destino apenas http://127.0.0.1:19520. Imagem joomla:6.1.3-php8.3-apache mais 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

A correção

Copie core.admin allowAdd / allowEdit / delete de GroupsController para LevelsController. Mantenha a verificação da interface do administrador.

Referências

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

Licença

GNU Affero GPL v3.0. Consulte LICENSE. Apenas laboratório de loopback. Sem garantias.

Baixar ferramenta