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
mysql-install-component-scheme — MySQL Community Server 26.7.0 - Alta - Esquema cualificado de INSTALL COMPONENT - omisión de plugin_dir | Kitploit
Herramientas/GitHubGitHub/abraxas/mysql-install-component-scheme
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónHerramienta de Acceso RemotoSeguridad de Bases de DatosLabs y Práctica
GitHub
abraxas/mysql-install-component-scheme

mysql-install-component-scheme

MySQL Community Server 26.7.0 - Alta - Esquema cualificado de INSTALL COMPONENT - omisión de plugin_dir

Ver Repositorio
1hace 9 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

Abraxas Labs - mysql-install-component-scheme

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

mysql-install-component-scheme

Clase: RCE Alcance: Remoto

MySQL Community Server mysqld 26.7.0 (06a5c1c) - Oracle

El INSTALL COMPONENT file:// por defecto está envuelto por mysql_server_path_filter y forzado bajo plugin_dir. El cargador libminchassis sin filtrar permanece registrado como dynamic_loader_scheme_file.mysql_minimal_chassis. El esquema URN file.mysql_minimal_chassis adquiere esa implementación y hace dlopen de una ruta absoluta con el UID de mysqld. INSTALL PLUGIN / CREATE FUNCTION SONAME siguen rechazando /. Requiere INSERT en mysql.component (PR:H).

El laboratorio copia el component_query_attributes.so original a /tmp/MYSQL-INSTALL-COMPONENT-SCHEME-WITNESS.so. Sin componente personalizado.

CampoValor
IDsin CVE todavía
ClaseRCE (componente dlopen como mysqld; PR:H; el laboratorio cargó un .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
ProductoMySQL Community Server mysqld
Afectado26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
AutenticaciónINSTALL COMPONENT (INSERT en mysql.component)
LicenciaGNU Affero GPL v3.0
LaboratorioSolo 127.0.0.1. Componente original sin usar copiado fuera de plugin_dir.

Qué puede hacer un atacante

Tener INSTALL COMPONENT. Colocar un componente .so fuera de plugin_dir (FILE DUMPFILE bajo secure_file_priv, o una escritura local). INSTALL COMPONENT 'file.mysql_minimal_chassis:///abs/name' (sin sufijo .so; el cargador lo añade). dlopen con el UID de mysqld. El mismo URN se persiste en mysql.component y se recarga al reiniciar.

file:///abs/name es denegado (3529). INSTALL PLUGIN ... SONAME '/abs/...' es denegado (1124). El esquema cualificado es el remanente.

Cómo lo encontré

La misma búsqueda en 26.7.0. set_default("dynamic_loader_scheme_file.mysql_server_path_filter") es el límite documentado. La implementación sin filtrar permanece registrada para que el envoltorio pueda llamarla. get_scheme_service_from_urn toma los bytes antes de :// como el 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 es un esquema real. component.test nunca lo intenta.

Caminos erróneos: URN de 3 barras (scheme:///tmp/...) cargó; el de 4 barras no fue necesario. El tallo del URN debe omitir .so.

Laboratorio

cd lab
./run.sh

Imagen mysql:26.7.0. Publicado 127.0.0.1:18650. plugin_dir=/usr/lib64/mysql/plugin. Copia el component_query_attributes.so original a /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

La solución

No adquirir dynamic_loader_scheme_file.mysql_minimal_chassis desde URNs de SQL. Mapear solo file a la implementación del filtro de rutas. Rechazar un esquema que nombre una implementación. Mantener check_valid_path en cada cargador de archivos.

Referencias

  • github.com/mysql/mysql-server etiqueta mysql-26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
  • components/libminchassis/dynamic_loader.cc get_scheme_service_from_urn
  • sql/server_component/dynamic_loader_path_filter.cc
  • Paquetes hermanos: abraxas/mysql-mysqldump-show-tables-overflow · abraxas/mysql-mysqldump-tab-path · abraxas/mysql-mysqlbinlog-raw-path · abraxas/mysql-set-role-leftover
Descargar herramienta