KMS request injection via unsanitized key vault and provider values in libmongocrypt
Summary
libmongocrypt builds requests to external key management services (AWS, Azure and GCP) by inserting values from key vault documents, KMS provider configuration and KMS responses into request lines, headers and signed request bodies without validating or encoding them for each context. A user with wr...
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| MongoDB | libmongocrypt |
≥ 1.0.0, < 1.21.1 |
1.21.1 |
Original description The description as published by the source.
libmongocrypt builds requests to external key management services (AWS, Azure and GCP) by inserting values from key vault documents, KMS provider configuration and KMS responses into request lines, headers and signed request bodies without validating or encoding them for each context. A user with write access to the key vault collection can alter the structure of these requests, including adding members to request bodies and token claims that the library then signs with the application's credentials. This may result in key management operations being performed with parameters the application did not intend.
Source: CVE.org (CVE Program・cvelistV5) NVD
References
- web cna@mongodb.com
- web cna@mongodb.com
- web cna@mongodb.com