MySQL sslConfig CA is never used: server certificate not verified
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia da ingestion/src/metadata/utils/ssl_manager.py e segui come SSLManager.setup_ssl costruisce il dizionario ssl per MySQL, Doris e StarRocks. Verifica come PyMySQL legge le opzioni SSL all'interno di quel dizionario; è completato quando la CA viene usata per la verifica del server e una CA errata fa fallire la connessione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Connector
MySQL
Feature area
Authentication / Connection
Describe the bug
A MySQL connection with sslConfig.caCertificate set encrypts the connection but never verifies the server certificate, and sslCertificate/sslKey are never presented.
SSLManager.setup_ssl for MysqlConnection (also Doris and StarRocks) builds connectionArguments["ssl"] = {"ssl_ca": ..., "ssl_cert": ..., "ssl_key": ...}. That dict is passed to PyMySQL as ssl=, and PyMySQL's _create_ssl_ctx reads the keys ca, cert and key. With no ca it sets verify_mode = CERT_NONE and check_hostname = False:
>>> Connection._create_ssl_ctx(None, {"ssl_ca": "ca.pem"}) # what OpenMetadata passes
verify_mode=CERT_NONE check_hostname=False
>>> Connection._create_ssl_ctx(None, {"ca": "ca.pem"})
verify_mode=CERT_REQUIRED check_hostname=True
(PyMySQL 2.2.8, as shipped with openmetadata-ingestion 2.1.0.0.) ssl_ca/ssl_cert/ssl_key are valid as top-level pymysql.connect keyword arguments, but not inside the ssl dict.
To Reproduce
- Set
sslConfig.caCertificateon a MySQL service. - Build the connection arguments with
SSLManager.setup_ssland pass the resultingssldict topymysql.connections.Connection._create_ssl_ctx. - The context has
verify_mode=CERT_NONEandcheck_hostname=False, as shown above. I have not run a live connection against a wrong CA.
Expected behavior
The CA is used to verify the server (ca, cert, key inside the ssl dict), so a wrong CA fails the connection.
OS
Kubernetes (ingestion-base image)
Python version
3.12
OpenMetadata version
2.0.6
OpenMetadata Ingestion package version
openmetadata-ingestion==2.0.6.0; same code on main (ingestion/src/metadata/utils/ssl_manager.py).
Pre-submission checklist
- I searched for duplicate issues.
- I removed credentials, hostnames, emails, and other sensitive data from logs and config.
- Lingua principale
- TypeScript
- Stelle
- 15.4k
- Fork
- 2.4k
- Merge medio
- 1g 4h
- PR unite (30g)
- 714
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di open-metadata/OpenMetadata
-
Default Anthropic model in the LLM configuration is a retired model (claude-3-5-sonnet-20240620)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
open-metadata/OpenMetadata#36757 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
open-metadata/OpenMetadata#36739 ·
I maintainer di solito rispondono entro 1 giorno
-
[Detail Bug] Usage ingestion publishes table usage and join dates one day earlier on UTC-negative host timezonesForse già presa @detail-app l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
open-metadata/OpenMetadata#36604 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
open-metadata/OpenMetadata#36496 ·
I maintainer di solito rispondono entro 1 giorno
-
MCP find_context and company_context return no results on Elasticsearch (OpenSearchVectorService singleton is null)Forse già presa @zerafachris l’ha presa 6 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
open-metadata/OpenMetadata#36463 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di open-metadata/OpenMetadata
Issue simili
-
apps/stage-web bug env/os-linux pending triage scope/audio-output
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
reproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
anomalyco/opencode#61640 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
scope: data grid status: waiting for maintainer
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
mui/mui-x#24090 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
ai-driven-fuzzing bug Minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
ai-driven-fuzzing bug claude Minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
linagora/twake-calendar-frontend#1944 ·
I maintainer di solito rispondono entro 1 giorno