This vulnerability is not a code defect you can patch in isolation — it's an architectural category error. The allowedDatasets feature was implemented by wrapping BigQuery's dry-run API and treating an empty array response as a signal to skip validation entirely. That is the core failure: empty array from a dry-run endpoint does not mean 'this query is safe' — it means 'I cannot evaluate this query structure.' The BigQuery dry-run API is a validation tool, not an authorization oracle. It answers 'would this parse and execute?' not 'may this principal execute it?'
The specific escape vectors are INFORMATION_SCHEMA queries and EXTERNAL_QUERY syntax. These constructs execute perfectly well — they simply fall outside the semantic scope of what the dry-run endpoint validates. An attacker can enumerate schema, column types, foreign keys, and partition schemes from any dataset, or pivot through federated queries to external sources like Sheets or Cloud Storage that may contain credentials or connection strings mapping to entirely different security domains.
The fix cannot be 'block INFORMATION_SCHEMA specifically' — that treats a symptom while preserving the underlying assumption that dry-run response shapes are a reliable authorization signal. The correct remediation is explicit application-layer permission checks that validate allowedDatasets against the actual permission model, not against what the dry-run API chooses to evaluate. This is not entropy management; it is structural correction.
Your immediate actions: audit all query paths that rely on dry-run responses for authorization decisions. If any path treats empty arrays or unexpected response shapes as implicit permission, that is a vulnerability. Test INFORMATION_SCHEMA and EXTERNAL_QUERY queries against your allowedDatasets enforcement — they should be explicitly blocked or validated, not silently permitted. The vulnerability window spans versions 0.16.1 through 1.4.0, and the compound exposure (schema extraction plus federated access) exceeds what CVSS 7.7 suggests.