libcurl keeps previously used connections in a connection pool for subsequenttransfers to reuse, if one of them matches the setup.Due to errors in the logic, the config matching function did not take 'issuercert' into account and it compared the involved paths *case insensitively*,which could lead to libcurl reusing wrong connections.File paths are, or can be, case sensitive on many systems but not all, and caneven vary depending on used file systems.The comparison also didn't include the 'issuer cert' which a transfer can setto qualify how to verify the server certificate.
https://www.oracle.com/security-alerts/cpuoct2021.html
https://www.oracle.com/security-alerts/cpujan2022.html
https://www.debian.org/security/2022/dsa-5197
https://security.netapp.com/advisory/ntap-20210902-0003/
https://lists.debian.org/debian-lts-announce/2022/08/msg00017.html
https://lists.debian.org/debian-lts-announce/2021/08/msg00017.html
https://hackerone.com/reports/1223565
https://cert-portal.siemens.com/productcert/pdf/ssa-732250.pdf
https://cert-portal.siemens.com/productcert/pdf/ssa-484086.pdf
https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf