Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain on-path network position between device and endpoint
-
DeliveryPresent trusted-CA cert for unrelated hostname
-
ExploitSDK skips hostname verification
-
ExecutionComplete impostor TLS/MQTT session
-
ImpactRead telemetry and inject authentic-looking MQTT messages
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate host validation
|
| Exploitation Conditions | Requires an active adversary-in-the-middle position on the network path between the device and the AWS IoT Core endpoint, AND a TLS certificate issued for an unrelated hostname by a certificate authority that is already present in the device's trust store. It affects AWS IoT Device SDK for Python (v1 AWSIoTPythonSDK) versions 1.5.3 through 1.6.0 running on Python 3.7 and later. Limiting factors: the attacker must obtain such a trusted-CA certificate and hold an on-path/MITM position, so exploitation is not possible remotely from an arbitrary internet location against a device with an uncompromised network path; upgrading to 1.6.1 fully remediates by enforcing hostname verification. |
| Impact | The vendor's CVSS 4.0 base score of 9.2 (Critical) reflects full compromise of confidentiality and integrity (VC:H/VI:H/VA:H) over a network vector with no privileges or user interaction (AV:N/PR:N/UI:N), but the AT:P flag (attack requirements present) is doing important work: exploitation requires both an adversary-in-the-middle (AiTM) network position AND a certificate issued for an unrelated hostname by a certificate authority already present in the device trust store. This is a genuine TLS trust flaw (CWE-297 improper certificate validation with host mismatch), not a low-real-risk high-CVSS artifact, but the AiTM + trusted-CA-certificate prerequisites make it materially harder than a fully unauthenticated remote flaw. No EPSS score was provided, there is NO CISA KEV listing, and no public exploit code was identified; exploitation therefore appears theoretical/opportunistic rather than widespread. The description and CVSS are consistent (network vector, MITM). One nuance to verify: the vendor scores VA:H (high availability impact), but the described impact is telemetry disclosure and message injection - availability degradation is not clearly established, so VA:H may be aggressive. |
| Exploit ScenarioDerived | An attacker positioned on the network path between an IoT device and AWS IoT Core (e.g., on a compromised Wi-Fi/router or upstream link) presents a TLS certificate that is valid and signed by a CA in the device's trust store but issued for an unrelated hostname. Because the SDK does not verify the endpoint hostname against the certificate, the device accepts the impostor as the genuine AWS IoT Core endpoint, letting the attacker read all device telemetry and inject arbitrary MQTT messages the device treats as authentic. No public exploit code has been identified; the flaw was reported by the vendor (Amazon). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 17, 2026
Improper TLS hostname validation in the MQTT client layer of AWS IoT Device SDK for Python (AWSIoTPythonSDK) 1.5.3 through 1.6.0 running on Python 3.7 and later allows an adversary-in-the-middle who possesses a certificate issued for an unrelated hostname by a certificate authority already in the device trust store to impersonate the AWS IoT Core endpoint, read device telemetry, and inject MQTT messages that the device processes as authentic. This is not exploitable from an arbitrary internet location: the attacker must hold an on-path position and a trusted-CA certificate for an unrelated hostname. No public exploit was identified at time of analysis, and the vendor has released 1.6.1 to enforce hostname verification.
Earlier versions of this analysis (1)
Adversary-in-the-middle attackers can impersonate the AWS IoT Core MQTT endpoint to devices running the AWS IoT Device SDK for Python 1.5.3 through 1.6.0 on Python 3.7 and later, reading device telemetry and injecting arbitrary MQTT messages the device processes as authentic, because the SDK's MQTT TLS client layer does not verify that the presented server certificate matches the IoT Core hostname it intended to reach. Remote unauthenticated attackers (PR:N per the CVSS vector) can exploit this only if they already sit on the network path between device and endpoint and hold a valid certificate issued for an unrelated hostname by a certificate authority already present in the device's trust store, a combination that justifies the AC:H rating assigned by both the vendor (CVSS 8.1) and this assessment. No public exploit code was identified at time of analysis and the CVE is not listed in CISA KEV; exploitation cannot occur passively or off-path.
RemediationAI
Vendor-released patch: AWSIoTPythonSDK 1.6.1 and GitHub release v1.6.1, which adds TLS hostname verification according to the release notes for PR #354. Upgrade all affected devices from 1.5.3 through 1.6.0 to 1.6.1 or later using the PyPI package at https://pypi.org/project/AWSIoTPythonSDK/1.6.1/ and review the vendor advisory at https://aws.amazon.com/security/security-bulletins/2026-114-aws/ and the GitHub advisory at https://github.com/aws/aws-iot-device-sdk-python/security/advisories/GHSA-g7vp-3rxx-v25r. After upgrading, verify that MQTT TLS connections reject certificates whose hostname does not match the AWS IoT Core endpoint. If immediate upgrade is not possible, reduce exposure by narrowing the device trust store to only the Amazon Root CA required for AWS IoT Core so a certificate issued by an unrelated trusted CA cannot be used, with the trade-off that other TLS services on the device may break; alternatively, enforce certificate or public-key pinning for the AWS IoT Core endpoint in application code, with the trade-off of added operational overhead when AWS rotates certificates. Network controls such as egress filtering and protected network paths can make AiTM positioning harder but do not fix the missing hostname check, so they are compensating controls only.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CWE-297 describes improper validation of a certificate with host mismatch. In the affected AWS IoT Device SDK for Python, the MQTT client TLS connection layer accepts a server certificate whose hostname does not match the AWS IoT Core endpoint as long as the certificate chains to a CA present in the device trust store. The provided CPE cpe:2.3:a:aws:awsiotpythonsdk:*:*:*:*:*:*:*:* maps to AWS IoT Device SDK for Python (v1 AWSIoTPythonSDK) versions 1.5.3 through 1.6.0 on Python 3.7 and later. Because hostname verification was missing, an AiTM can present a certificate for an unrelated hostname signed by a trusted CA, complete TLS, intercept MQTT telemetry, and publish injected MQTT messages accepted as authentic. The v1.6.1 release notes contain PR #354, titled Fix TLS hostname verification, confirming the code-level remediation. The vendor CVSS 4.0 vector is AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H, while the independent assessment uses CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L, emphasizing that attack requirements - an AiTM position plus a trusted certificate for an unrelated hostname - limit exploitability compared with a standalone remote network attack.
Know when Mqtt gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
AC:H because exploitation needs both an MITM position and a trusted-CA cert for a wrong hostname; PR:N/UI:N as no auth or victim action is required; C:H/I:H from telemetry read and authentic message injection, A:L as availability impact is unclear.
Primary rating from Vendor (AMZN).
CVSS VectorVendor: AMZN
Lifecycle Timeline
4DescriptionCVE.org
Improper validation of certificate with host mismatch in the MQTT client TLS connection layer in AWS IoT Device SDK for Python 1.5.3 through 1.6.0 on Python 3.7 and later might allow an adversary-in-the-middle actor to impersonate the AWS IoT Core endpoint, read device telemetry, and inject arbitrary MQTT messages that the device processes as authentic, via a certificate issued for an unrelated hostname by a certificate authority present in the device trust store.
To remediate this issue, users should upgrade to version 1.6.1.
Articles & Coverage 1
Technical POC Analysis
Bug class: CWE-297, Improper Validation of Certificate with Host Mismatch.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Organizations using the AWS IoT Device SDK for Python versions 1.5.3 through 1.6.0 are exposed to a critical vulnerability that allows a network-positioned attacker with a trusted certificate to intercept and manipulate device communications. This could lead to unauthorized access to telemetry, injection of malicious commands, and potential disruption of IoT-dependent operations. Leadership should prioritize patching to version 1.6.1 to prevent data breaches and maintain the integrity of connected systems.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Moquette MQTT brokers running versions prior to 0.18.1 fail to enforce topic write ACLs on Last Will and Testament messa
An out-of-bounds write in the MQTT client module of the lwIP TCP/IP stack lets an adversary who controls or impersonates
Remote unauthenticated clients can crash a Moquette MQTT broker running 0.18.0 or earlier by publishing or subscribing w
Hardcoded MQTT credentials shipped inside Bransys ELD grant unauthenticated read access to real-time telemetry for every
Malformed MQTT PUBLISH frames leak packet buffers in the Eclipse ThreadX NetX Duo MQTT client, letting a peer that can d
Remote denial of service in the Aedes MQTT broker through version 1.1.0 lets any client able to open an MQTT session cra
An out-of-bounds read in Eclipse ThreadX NetX Duo's MQTT-over-WebSocket transport (the setter path) lets a malicious or
The MQTT protocol 3.1.1 requires a server to set a timeout value of 1.5 times the Keep-Alive value specified by a client
Loopback source-address restriction bypass in RabbitMQ's native MQTT and MQTT-over-WebSocket listeners (all releases fro
Denial of service in RabbitMQ's MQTT plugin lets an authenticated publisher using MQTT 5 force a single victim subscribe
Authorization bypass in RabbitMQ's MQTT topic permission handling allows a low-privileged authenticated user to broaden
Authenticated users of FlashMQ MQTT brokers running versions prior to 1.23.2 can cause a gradual memory leak by creating
EUVD-2026-82378
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB