CVE-2021-20327: MongoDB Node.js client side field level encryption library may not be validating KMS certificate
A specific version of the Node.js mongodb-client-encryption module does not perform correct validation of the KMS server’s certificate. This vulnerability in combination with a privileged network position active MITM attack could result in interception of traffic between the Node.js driver and the KMS service rendering client-side field level encryption (CSFLE) ineffective. This issue was discovered during internal testing and affects mongodb-client-encryption module version 1.2.0, which was available from 2021-Jan-29 and deprecated in the NPM Registry on 2021-Feb-04. This vulnerability does not impact driver traffic payloads with CSFLE-supported key services from applications residing inside the AWS, GCP, and Azure nework fabrics due to compensating controls in these environments. This issue does not impact driver workloads that don’t use Field Level Encryption.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/mongodb-client-encryptionto a version that resolves this vulnerability.Fixed in 1.2.1 - Upgrade
Upgrade
mongodb-client-encryptionto a version that resolves this vulnerability.Fixed in 1.2.0 - Compensating control
For deployments where applications run inside AWS, GCP, or Azure network fabrics, rely on the described compensating controls that prevent impact (CSFLE-supported key services do not impact driver traffic payloads).
- Compensating control
In environments with a privileged network position, mitigate active MITM risk between the Node.js driver and the KMS service (since a privileged network position active MITM attack could intercept traffic and render CSFLE ineffective).
Event History
Frequently Asked Questions
What is the vulnerability ID?
The vulnerability ID is CVE-2021-20327.
What is the severity of CVE-2021-20327?
The severity of CVE-2021-20327 is medium with a CVSS score of 6.8.
Which version of the Node.js mongodb-client-encryption module is affected?
The version 1.2.0 of the Node.js mongodb-client-encryption module is affected.
What is the vulnerability in the Node.js mongodb-client-encryption module?
The vulnerability in the Node.js mongodb-client-encryption module is the incorrect validation of the KMS server's certificate.
How can this vulnerability be exploited?
This vulnerability can be exploited by an active MITM attacker in a privileged network position to intercept traffic between the Node.js driver and the KMS server.