libcurl keeps previously used connections in a connection pool for subsequent transfers to reuse if one of them matches the setup. An easy handle that first uses default native CA trust can continue trusting the native platform store after the application switches that same handle to custom CA material for a later transfer." The flaw allows the TLS connection established with native CA trust to be reused for a subsequent transfer that has been reconfigured to use only custom CA material (CURLOPT_CAINFO or CURLOPT_CAINFO_BLOB), bypassing the new CA requirement. Does not affect the curl command-line tool.
The CA trust configuration is applied consistently on every Connect() from a fixed config provider and never switches between native CA and CURLOPT_CAINFO/CAINFO_BLOB modes on the same handle. The connection-pool CA-mismatch path is never entered.