-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
Fully Compatible
-
ALL
-
v8.3, v8.2, v8.0, v7.0
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The $vectorSearch stage allows users to specify a prefilter (via the filter bson element). This filter spec could potentially reference encrypted fields.
Currently, the query analysis code does not replace encrypted predicates in the prefilter with encryption placeholders, meaning that if a user has specified a pre-filter using an encrypted field, the corresponding sensitive data is leaked via the plaintext request.
While $vectorSearch is not listed as a supported stage with CSFLE, nothing prevents a user from querying an encrypted collection with a $vectorSearch stage. To fix this issue, the stage analyzer functor for $vectorSearch should analyze the filter, such that encrypted field references are replaced with encryption placeholders.
NOTE: This ticket has been created as Mongo Internal deliberately, and should remain this way until this vulnerability is patched.