Skip to content
Heist/ feed
Back to feed
Medium

KMS request injection via unsanitized key vault and provider values in libmongocrypt

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-114655
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 17:56 UTC · Revision 1

Source evidence

KMS request injection via unsanitized key vault and provider values in libmongocrypt

core-osv · Original source

Published 22 Oct 2026, 19:14 UTC

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.

osv:CVE-2026-114655
Complete source record
{
  "id": "1199cc2b832f33263a2f06548b94d1c279719d1456e133bfd1beadc76486cd4c",
  "url": "https://osv.dev/vulnerability/CVE-2026-114655",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "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 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.",
    "evidence": "osv:CVE-2026-114655",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-114655",
      "aliases": [
        "CVE-2026-114655",
        "GHSA-7mvq-mg47-m88j"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mongodb/libmongocrypt",
              "type": "GIT",
              "events": [
                {
                  "introduced": "db663b458b8680df9b81ff8cde7053633c155fb6"
                },
                {
                  "fixed": "f0a7100caae87f9f4806b3a04d86494cfccac726"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "1.0.0"
                      },
                      {
                        "fixed": "1.21.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f0a7100caae87f9f4806b3a04d86494cfccac726"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "1.21.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "pymongocrypt-1.21.0",
            "pymongocrypt-1.20.0",
            "pymongocrypt-1.20.0.dev0",
            "pymongocrypt-1.19.0",
            "pymongocrypt-1.18.1",
            "pymongocrypt-1.18.0",
            "pymongocrypt-1.18.0.dev0",
            "pymongocrypt-1.17.0",
            "pymongocrypt-1.16.0",
            "pymongocrypt-1.15.1",
            "pymongocrypt-1.15.0",
            "pymongocrypt-1.14.1",
            "pymongocrypt-1.14.0",
            "pymongocrypt-1.13.0",
            "pymongocrypt-1.12.2",
            "pymongocrypt-1.12.2rc4",
            "pymongocrypt-1.12.2rc2",
            "pymongocrypt-1.12.2rc1",
            "pymongocrypt-1.2.2rc0",
            "pymongocrypt-1.12.1",
            "pymongocrypt-1.12.0",
            "pymongocrypt-1.11.0",
            "java-1.11.0",
            "csharp-v1.11.0",
            "pymongocrypt-1.10.1",
            "csharp-v1.10.0",
            "pymongocrypt-1.10.0",
            "1.10.0b1",
            "1.10.0b0",
            "pymongocrypt-1.9.1",
            "node-v6.0.1",
            "csharp-v1.9.0",
            "pymongocrypt-1.9.0",
            "csharp-v1.8.2",
            "csharp-v1.8.1",
            "pymongocrypt-1.8.0",
            "node-v2.9.0",
            "node-v6.0.0",
            "node-v6.0.0-alpha.3",
            "node-v6.0.0-alpha.2",
            "pymongocrypt-1.7.0",
            "pymongocrypt-1.6.1",
            "csharp-v1.8.0",
            "node-v2.8.0",
            "pymongocrypt-1.6.0",
            "1.8.0-alpha1",
            "pymongocrypt-1.5.2",
            "csharp-v1.8.0-alpha.0",
            "java-1.8.0-alpha0",
            "node-v2.8.0-alpha.0",
            "1.8.0-alpha0",
            "node-v2.7.1",
            "node-v2.7.0",
            "node-v2.7.0-alpha.0",
            "node-v2.6.0",
            "node-v2.6.0-alpha.0",
            "pymongocrypt-1.5.1",
            "node-v2.5.0",
            "node-v2.4.0",
            "pymongocrypt-1.5.0",
            "node-v2.4.0-alpha.2",
            "node-v2.4.0-alpha.1",
            "csharp-v1.7.0",
            "node-v2.4.0-alpha.0",
            "1.7.0-alpha2",
            "1.7.0-alpha1",
            "pymongocrypt-1.4.1",
            "1.7.0-alpha0",
            "pymongocrypt-1.4.0",
            "node-v2.3.0",
            "node-v2.2.1",
            "csharp-v1.6.0",
            "node-v2.2.0",
            "java-1.6.0-alpha0",
            "1.6.0-alpha0",
            "csharp-v1.5.5",
            "pymongocrypt-1.3.1",
            "node-v2.2.0-alpha.6",
            "node-v2.2.0-alpha.5",
            "pymongocrypt-1.3.0",
            "csharp-v1.5.4",
            "node-v2.2.0-alpha.4",
            "node-v2.2.0-alpha.3",
            "csharp-v1.5.2",
            "1.5.0-rc2",
            "node-v2.2.0-alpha.2",
            "pymongocrypt-1.3.0b0",
            "1.5.0-rc1",
            "csharp-v1.5.1",
            "csharp-v1.5.0",
            "node-v2.2.0-alpha.1",
            "1.5.0-rc0",
            "1.5.0-alpha2",
            "node-v2.2.0-alpha.0",
            "1.5.0-alpha1",
            "1.5.0-alpha0",
            "node-v2.1.0",
            "1.3.1",
            "1.4.0-alpha0",
            "node-v2.0.0",
            "node-v2.0.0-beta.4",
            "node-v2.0.0-beta.3",
            "csharp-v1.3.0",
            "pymongocrypt-1.2.0",
            "pymongocrypt-1.1.2",
            "1.3.0",
            "1.3.0-beta1",
            "node-v2.0.0-beta.0",
            "node-v1.2.7",
            "1.2.2",
            "csharp-v1.2.3",
            "csharp-v1.2.2",
            "pymongocrypt-1.1.1",
            "1.2.1",
            "node-v1.2.6",
            "node-v1.2.5",
            "node-v1.2.4",
            "node-v1.2.3",
            "node-v1.2.2",
            "1.2.0",
            "pymongocrypt-1.1.0",
            "node-v1.2.1",
            "node-v1.2.0",
            "csharp-v1.2.1",
            "csharp-v1.2.0",
            "debian/1.1.0-1",
            "1.1.0",
            "csharp-v1.1.0-beta04",
            "csharp-v1.1.0-beta03",
            "pymongocrypt-1.1.0b0",
            "csharp-v1.1.0-beta02",
            "csharp-v1.1.0-beta01",
            "1.1.0-beta1",
            "1.0.4",
            "pymongocrypt-1.0.1",
            "node-v1.1.0",
            "1.0.3",
            "1.0.2",
            "1.0.1",
            "1.0.1-rc0",
            "node-v1.0.1",
            "node-v1.0.0",
            "pymongocrypt-1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114655.json"
          }
        }
      ],
      "modified": "2026-11-01T02:30:46.183042258Z",
      "provider": "osv",
      "references": [
        "https://github.com/mongodb/libmongocrypt/releases/tag/1.21.1",
        "https://jira.mongodb.org/browse/MONGOCRYPT-963",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114655.json",
        "https://github.com/mongodb/libmongocrypt/security/advisories/GHSA-7mvq-mg47-m88j",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-114655"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-74"
        ],
        "cna_assigner": "mongodb",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114655.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-114655",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 520034,
  "published_at": "2026-10-22T19:14:00.708+00:00"
}