CVE-2026-114655

Description

A flaw was found in libmongocrypt. The library constructs requests to external Key Management Service (KMS) providers without properly validating or encoding values sourced from key vault documents, provider configurations, or service responses. An attacker with write access to the key vault collection can manipulate request structures and inject arbitrary parameters or token claims that are signed using the application's credentials. This issue may allow unauthorized key management operations to be performed with unintended parameters, potentially leading to information disclosure or compromised cryptographic keys.

Statement

A flaw was found in libmongocrypt, where the library constructs requests to external Key Management Service (KMS) providers without properly validating or encoding values sourced from key vault documents, provider configurations, or service responses. An attacker with write access to the key vault collection can manipulate request structures and inject arbitrary parameters or token claims that are signed using the application's credentials, potentially resulting in unauthorized key management operations with unintended parameters, information disclosure, or compromised cryptographic keys. All libmongocrypt versions >= 1.0.0 and < 1.21.1 are affected; the issue is fixed in 1.21.1. The vulnerable KMS request-construction code is core to the library, so all shipped in-range community versions (epel-8/9/10, fedora-43/44/rawhide) are affected and are handled as delegated community affects.

Mitigation

Upgrade to libmongocrypt 1.21.1, which validates and encodes values before they are inserted into KMS HTTP request lines, headers, and signed request bodies (per the GitHub release 1.21.1 and MONGOCRYPT-963).

Understanding the Weakness (CWE)

Integrity

Technical Impact: Unexpected State

Frequently Asked Questions

Want to get errata notifications? Sign up here.