The vulnerability lies in the connection pooling mechanism of aiohttp's ClientSession. When making multiple HTTPS requests, aiohttp can reuse existing connections to improve performance. The key used to identify a reusable connection is generated by the ClientRequest.connection_key method. The vulnerability description states that the server_hostname TLS SNI check can be bypassed when a connection is reused. The provided patch confirms this by modifying aiohttp/client_reqrep.py. Specifically, it adds the server_hostname attribute to the ConnectionKey named tuple and includes it in the key's calculation within the ClientRequest.connection_key property. This change ensures that requests with different server_hostname values will have different connection keys, preventing the connection pool from reusing a connection that was established with a different SNI hostname. Therefore, the ClientRequest.connection_key function is the root cause of the vulnerability, as its incomplete key generation allowed for the bypass of security checks.