<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Oct 2026 18:48:52 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-330417</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-330417</link>
      <description>EUVD-2026-330417</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-330417</guid>
    </item>
    <item>
      <title>fkie_cve-2026-11820</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-11820</link>
      <description>&lt;p&gt;A flaw was found in the community.general Ansible collection&amp;#39;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&amp;#39;s Vonage/Nexmo account.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;A flaw was found in the community.general Ansible collection&amp;#39;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&amp;#39;s Vonage/Nexmo account.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-11820</guid>
    </item>
    <item>
      <title>GHSA-87gp-wmhr-wgcw</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-87gp-wmhr-wgcw</link>
      <description>&lt;p&gt;Module: plugins/modules/nexmo.py&lt;/p&gt;
&lt;p&gt;CVSS 3.1: 6.5 MEDIUM — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N&lt;/p&gt;
&lt;p&gt;Issue: api_key and api_secret are declared no_log=True at the input level, but both credentials are immediately URL-encoded into a GET request as query parameters, bypassing all no_log protection.&lt;/p&gt;
&lt;p&gt;Vulnerable Code (lines 82-93):&lt;/p&gt;
&lt;p&gt;msg = {
&amp;#34;api_key&amp;#34;: module.params.get(&amp;#34;api_key&amp;#34;),
&amp;#34;api_secret&amp;#34;: module.params.get(&amp;#34;api_secret&amp;#34;),
&amp;#34;from&amp;#34;: module.params.get(&amp;#34;src&amp;#34;),
&amp;#34;text&amp;#34;: module.params.get(&amp;#34;msg&amp;#34;),
}
url = f&amp;#34;{NEXMO_API}?{urlencode(msg)}&amp;#34;
response, info = fetch_url(module, url, headers=headers)&lt;/p&gt;
&lt;p&gt;Observed Output:&lt;/p&gt;
&lt;p&gt;https://rest.nexmo.com/sms/json?api_key=a1b2c3d4&amp;amp;api_secret=MyS3cr3tK3y!!&amp;amp;from=AnsibleBot&amp;amp;to=15551234567&amp;amp;text=Hello&lt;/p&gt;
&lt;p&gt;Exposure Vectors:&lt;/p&gt;
&lt;p&gt;Ansible verbose output (-vvv) logs the full request URL&lt;/p&gt;
&lt;p&gt;Vonage/Nexmo server access logs record credentials in query string&lt;/p&gt;
&lt;p&gt;HTTP proxies, SIEM, and network inspection tools capture the full URL&lt;/p&gt;
&lt;p&gt;AWX/Automation Controller network debug logs&lt;/p&gt;
&lt;p&gt;Fix: Switch to POST with credentials in the request body:&lt;/p&gt;
&lt;p&gt;data = urlencode({&amp;#34;api_key&amp;#34;: api_key, &amp;#34;api_secret&amp;#34;: api_secret,
&amp;#34;from&amp;#34;: src, &amp;#34;to&amp;#34;: number, &amp;#34;text&amp;#34;: msg})
fetch_url(module, NEXMO_API, data=data, method=&amp;#34;POST&amp;#34;,
headers={&amp;#34;Content-Type&amp;#34;: &amp;#34;application/x-www-form-urlencoded&amp;#34;})&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Module: plugins/modules/nexmo.py&lt;/p&gt;
&lt;p&gt;CVSS 3.1: 6.5 MEDIUM — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N&lt;/p&gt;
&lt;p&gt;Issue: api_key and api_secret are declared no_log=True at the input level, but both credentials are immediately URL-encoded into a GET request as query parameters, bypassing all no_log protection.&lt;/p&gt;
&lt;p&gt;Vulnerable Code (lines 82-93):&lt;/p&gt;
&lt;p&gt;msg = {
&amp;#34;api_key&amp;#34;: module.params.get(&amp;#34;api_key&amp;#34;),
&amp;#34;api_secret&amp;#34;: module.params.get(&amp;#34;api_secret&amp;#34;),
&amp;#34;from&amp;#34;: module.params.get(&amp;#34;src&amp;#34;),
&amp;#34;text&amp;#34;: module.params.get(&amp;#34;msg&amp;#34;),
}
url = f&amp;#34;{NEXMO_API}?{urlencode(msg)}&amp;#34;
response, info = fetch_url(module, url, headers=headers)&lt;/p&gt;
&lt;p&gt;Observed Output:&lt;/p&gt;
&lt;p&gt;https://rest.nexmo.com/sms/json?api_key=a1b2c3d4&amp;amp;api_secret=MyS3cr3tK3y!!&amp;amp;from=AnsibleBot&amp;amp;to=15551234567&amp;amp;text=Hello&lt;/p&gt;
&lt;p&gt;Exposure Vectors:&lt;/p&gt;
&lt;p&gt;Ansible verbose output (-vvv) logs the full request URL&lt;/p&gt;
&lt;p&gt;Vonage/Nexmo server access logs record credentials in query string&lt;/p&gt;
&lt;p&gt;HTTP proxies, SIEM, and network inspection tools capture the full URL&lt;/p&gt;
&lt;p&gt;AWX/Automation Controller network debug logs&lt;/p&gt;
&lt;p&gt;Fix: Switch to POST with credentials in the request body:&lt;/p&gt;
&lt;p&gt;data = urlencode({&amp;#34;api_key&amp;#34;: api_key, &amp;#34;api_secret&amp;#34;: api_secret,
&amp;#34;from&amp;#34;: src, &amp;#34;to&amp;#34;: number, &amp;#34;text&amp;#34;: msg})
fetch_url(module, NEXMO_API, data=data, method=&amp;#34;POST&amp;#34;,
headers={&amp;#34;Content-Type&amp;#34;: &amp;#34;application/x-www-form-urlencoded&amp;#34;})&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-87gp-wmhr-wgcw</guid>
    </item>
  </channel>
</rss>
