CVE-2026-11820
Analyzed Analyzed - Analysis Complete

Credentials Leak via GET Request in Ansible Nexmo Module

Vulnerability report for CVE-2026-11820, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-23

Last updated on: 2026-07-01

Assigner: Red Hat, Inc.

Description

A flaw was found in the community.general Ansible collection's nexmo module. The module constructs HTTP requests to the Vonage/Nexmo SMS API by encoding API credentials (api_key and api_secret) into URL query parameters and sending them via GET requests. This causes credentials to be exposed in web server access logs, proxy logs, HTTP Referer headers, and network monitoring tools, despite the Ansible argument specification marking these parameters as no_log. An attacker with access to any of these logging or monitoring points can obtain the full API credentials and gain unauthorized access to the victim's Vonage/Nexmo account.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-23
Last Modified
2026-07-01
Generated
2026-07-14
AI Q&A
2026-06-24
EPSS Evaluated
2026-07-13
NVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
redhat enterprise_linux 8.0
redhat enterprise_linux 9.0
redhat enterprise_linux 10.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-532 The product writes sensitive information to a log file.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability exists in the nexmo.py module where the api_key and api_secret credentials are marked as no_log=True to prevent logging, but they are immediately URL-encoded into a GET request as query parameters. This bypasses the no_log protection because the full URL, including sensitive credentials, is exposed.

As a result, the sensitive api_key and api_secret are included in the URL query string, which can be logged or captured by various systems.

Impact Analysis

The vulnerability can lead to exposure of sensitive credentials (api_key and api_secret) through multiple vectors:

  • Ansible verbose output (-vvv) logs the full request URL including credentials.
  • Vonage/Nexmo server access logs record the credentials in the query string.
  • HTTP proxies, SIEM, and network inspection tools capture the full URL, exposing credentials.
  • AWX/Automation Controller network debug logs may also capture these credentials.

This exposure can lead to unauthorized access or misuse of the API credentials.

Detection Guidance

This vulnerability can be detected by monitoring logs and network traffic for exposure of sensitive credentials in URLs.

  • Check Ansible verbose output logs (using -vvv) for URLs containing api_key and api_secret query parameters.
  • Inspect Vonage/Nexmo server access logs for URLs with credentials in the query string.
  • Use network inspection tools or HTTP proxies to capture and analyze URLs for exposed api_key and api_secret.
  • Review AWX/Automation Controller network debug logs for URLs containing sensitive credentials.

Suggested commands include using grep or similar tools to search logs for 'api_key=' or 'api_secret=' strings, for example: grep -r 'api_key=' /var/log/ansible/

Mitigation Strategies

To mitigate this vulnerability immediately, switch from sending credentials in the URL query parameters via GET requests to sending them in the request body via POST requests.

Specifically, modify the code to use POST with credentials included in the request body, for example:

  • Use data = urlencode({"api_key": api_key, "api_secret": api_secret, "from": src, "to": number, "text": msg})
  • Call fetch_url with method="POST" and headers set to "Content-Type": "application/x-www-form-urlencoded"

This prevents credentials from appearing in URLs and logs, reducing exposure through Ansible verbose output, server access logs, HTTP proxies, and network inspection tools.

Compliance Impact

This vulnerability causes sensitive credentials (api_key and api_secret) to be exposed in URLs, which are logged in various places such as Ansible verbose output, Vonage/Nexmo server access logs, HTTP proxies, SIEM, network inspection tools, and AWX/Automation Controller network debug logs.

Exposure of sensitive credentials in logs and network traffic can lead to unauthorized access and data breaches, which may violate data protection requirements under standards like GDPR and HIPAA that mandate protection of sensitive information.

Therefore, this vulnerability negatively impacts compliance with such standards by failing to adequately protect sensitive authentication data.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-11820. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart