Description
A vulnerability in the handling of verify_mode = CERT_REQUIRED in the wolfssl Python package (wolfssl-py) causes client certificate requirements to not be fully enforced. Because the WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT flag was not included, the behavior effectively matched CERT_OPTIONAL: a peer certificate was verified if presented, but connections were incorrectly authenticated when no client certificate was provided. This results in improper authentication, allowing attackers to bypass mutual TLS (mTLS) client authentication by omitting a client certificate during the TLS handshake. The issue affects versions up to and including 5.8.2.
Problem types
CWE-306 Missing Authentication for Critical Function
CWE-287 Improper Authentication
Product status
5.3.0 (python)
Credits
Matan Radomski
References
github.com/wolfSSL/wolfssl-py/pull/62
github.com/...ommit/b4517dece79f682a8f453abce5cfc0b81bae769d
github.com/wolfSSL/wolfssl-py/releases/tag/v5.8.4-stable