Aws Iot Device Sdk V2 For Python
The AWS IoT Device SDK v2 for Java, Python, C++, and Node.js appends a user-supplied Certificate Authority (CA) to the root CAs instead of overriding it on macOS systems. Additionally, SNI validation is also not enabled when the CA has been "overridden". This allows attackers with access to a host's trust stores or who can compromise a certificate authority already in the host's trust store to bypass CA pinning. An attacker could then spoof the MQTT broker, drop traffic, and/or respond with the attacker's data, but they would not be able to forward this data on to the MQTT broker because the attacker would still need the user's private keys to authenticate against the MQTT broker.