Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
mysql-install-component-scheme — MySQL Community Server 26.7.0 - High - schema qualificato INSTALL COMPONENT - plugin_dir skip | Kitploit
Strumenti/GitHubGitHub/abraxas/mysql-install-component-scheme
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso RemotoSicurezza dei DatabaseLab e Pratica
GitHub
abraxas/mysql-install-component-scheme

mysql-install-component-scheme

MySQL Community Server 26.7.0 - High - schema qualificato INSTALL COMPONENT - plugin_dir skip

Vedi Repository
19 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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 Portata: Remota

MySQL Community Server mysqld 26.7.0 (06a5c1c) - Oracle

Il file:// INSTALL COMPONENT predefinito è incapsulato da mysql_server_path_filter e forzato sotto plugin_dir. Il loader libminchassis non filtrato rimane registrato come dynamic_loader_scheme_file.mysql_minimal_chassis. Lo schema URN file.mysql_minimal_chassis acquisisce quell'implementazione ed esegue dlopen su un percorso assoluto con l'UID di mysqld. INSTALL PLUGIN / CREATE FUNCTION SONAME rifiutano ancora /. Richiede INSERT su mysql.component (PR:H).

Il laboratorio copia il component_query_attributes.so originale in /tmp/MYSQL-INSTALL-COMPONENT-SCHEME-WITNESS.so. Nessun componente personalizzato.

CampoValore
IDnessuna CVE al momento
ClasseRCE (componente dlopen come mysqld; PR:H; il laboratorio ha caricato un .so originale)
PortataRemota (SQL autenticato; 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
ProdottoMySQL Community Server mysqld
Affetto26.7.0 (06a5c1c99c377fc41b2eba1ea244e8b220bdc3c8)
AuthINSTALL COMPONENT (INSERT su mysql.component)
LicenzaGNU Affero GPL v3.0
LaboratorioSolo 127.0.0.1. Componente originale inutilizzato copiato fuori da plugin_dir.

Cosa può fare un attaccante

Possiede INSTALL COMPONENT. Posiziona un componente .so fuori da plugin_dir (FILE DUMPFILE sotto secure_file_priv, o una scrittura locale). INSTALL COMPONENT 'file.mysql_minimal_chassis:///abs/name' (senza suffisso .so; il loader lo aggiunge). dlopen con l'UID di mysqld. Lo stesso URN viene persistito in mysql.component e ricaricato al riavvio.

file:///abs/name viene negato (3529). INSTALL PLUGIN ... SONAME '/abs/...' viene negato (1124). Lo schema qualificato è ciò che rimane.

Come l'ho trovato

Stessa ricerca sulla 26.7.0. set_default("dynamic_loader_scheme_file.mysql_server_path_filter") è il confine documentato. L'implementazione non filtrata rimane registrata così che il wrapper possa richiamarla. get_scheme_service_from_urn prende i byte prima di :// come schema.

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 è uno schema reale. component.test non lo prova mai.

Vicoli ciechi: URN con 3 slash (scheme:///tmp/...) caricato; 4 slash non erano necessari. Il nome base dell'URN deve omettere .so.

Laboratorio

cd lab
./run.sh

Immagine mysql:26.7.0. Pubblicato 127.0.0.1:18650. plugin_dir=/usr/lib64/mysql/plugin. Copia il component_query_attributes.so originale in /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 correzione

Non acquisire dynamic_loader_scheme_file.mysql_minimal_chassis dagli URN SQL. Mappare solo file all'implementazione del filtro di percorso. Rifiutare uno schema che nomina un'implementazione. Mantenere check_valid_path su ogni loader di file.

Riferimenti

  • 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
  • Pacchetti correlati: abraxas/mysql-mysqldump-show-tables-overflow · abraxas/mysql-mysqldump-tab-path · abraxas/mysql-mysqlbinlog-raw-path · abraxas/mysql-set-role-leftover
Scarica lo strumento