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
mysql-install-component-scheme — MySQL Community Server 26.7.0 - Alta - Esquema qualificado INSTALL COMPONENT - plugin_dir skip | Kitploit
Ferramentas/GitHubGitHub/abraxas/mysql-install-component-scheme
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoFerramenta de Acesso RemotoSegurança de Banco de DadosLabs e Prática
GitHub
abraxas/mysql-install-component-scheme

mysql-install-component-scheme

MySQL Community Server 26.7.0 - Alta - Esquema qualificado INSTALL COMPONENT - plugin_dir skip

Ver Repositório
1há 9 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 - mysql-install-component-scheme

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  mysql-install-component-scheme

mysql-install-component-scheme

Classe: RCE Alcance: Remoto

MySQL Community Server mysqld 26.7.0 (06a5c1c) - Oracle

O file:// padrão do INSTALL COMPONENT é envolvido por mysql_server_path_filter e forçado sob plugin_dir. O carregador libminchassis não filtrado permanece registrado como dynamic_loader_scheme_file.mysql_minimal_chassis. O esquema URN file.mysql_minimal_chassis adquire essa implementação e faz dlopen de um caminho absoluto com o UID do mysqld. INSTALL PLUGIN / CREATE FUNCTION SONAME ainda rejeitam /. Requer INSERT em mysql.component (PR:H).

O laboratório copia o component_query_attributes.so original para /tmp/MYSQL-INSTALL-COMPONENT-SCHEME-WITNESS.so. Nenhum componente personalizado.

CampoValor
IDainda sem CVE
ClasseRCE (componente dlopen como mysqld; PR:H; o laboratório carregou um .so original)
AlcanceRemoto (SQL autenticado; INSTALL COMPONENT / PR:H)
CWECWE-427
CVSSAlto: 7.2 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
ProdutoMySQL Community Server mysqld
Afetado26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
AutenticaçãoINSTALL COMPONENT (INSERT em mysql.component)
LicençaGNU Affero GPL v3.0
LaboratórioApenas 127.0.0.1. Componente original não utilizado copiado para fora de plugin_dir.

O que um atacante pode fazer

Possuir INSTALL COMPONENT. Colocar um componente .so fora de plugin_dir (FILE DUMPFILE sob secure_file_priv, ou uma escrita local). INSTALL COMPONENT 'file.mysql_minimal_chassis:///abs/name' (sem sufixo .so; o carregador o acrescenta). dlopen com o UID do mysqld. O mesmo URN é persistido em mysql.component e recarregado na reinicialização.

file:///abs/name é negado (3529). INSTALL PLUGIN ... SONAME '/abs/...' é negado (1124). O esquema qualificado é o resquício.

Como eu encontrei

Mesma caçada da 26.7.0. set_default("dynamic_loader_scheme_file.mysql_server_path_filter") é a fronteira documentada. A implementação não filtrada permanece registrada para que o wrapper possa chamá-la. get_scheme_service_from_urn pega os bytes antes de :// como o esquema.

my_service<SERVICE_TYPE(dynamic_loader_scheme)> service(
    (my_string("dynamic_loader_scheme_") + scheme).c_str(),
    &imp_mysql_minimal_chassis_registry);

file.mysql_minimal_chassis é um esquema real. component.test nunca o tenta.

Caminhos errados: URN com 3 barras (scheme:///tmp/...) carregou; 4 barras não foram necessárias. O radical do URN deve omitir .so.

Laboratório

cd lab
./run.sh

Imagem mysql:26.7.0. Publicado 127.0.0.1:18650. plugin_dir=/usr/lib64/mysql/plugin. Copia o component_query_attributes.so original para /tmp/MYSQL-INSTALL-COMPONENT-SCHEME-WITNESS.so.

SUCCESS mysql-install-component-scheme file-slash-denied=yes qualified-load=yes component-urn=yes dump=26.7.0 image=mysql:26.7.0 MYSQL-INSTALL-COMPONENT-SCHEME-WITNESS

A correção

Não adquirir dynamic_loader_scheme_file.mysql_minimal_chassis a partir de URNs SQL. Mapear apenas file para a implementação do filtro de caminho. Rejeitar um esquema que nomeie uma implementação. Manter check_valid_path em todo carregador de arquivo.

Referências

  • github.com/mysql/mysql-server tag mysql-26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
  • components/libminchassis/dynamic_loader.cc get_scheme_service_from_urn
  • sql/server_component/dynamic_loader_path_filter.cc
  • Pacotes irmãos: abraxas/mysql-mysqldump-show-tables-overflow · abraxas/mysql-mysqldump-tab-path · abraxas/mysql-mysqlbinlog-raw-path · abraxas/mysql-set-role-leftover
Baixar ferramenta