When curl >= 7.20.0 and <= 7.78.0 connects to an IMAP or POP3 server to retrieve data using STARTTLS to upgrade to TLS security, the server can respond and send back multiple responses at once that curl caches. curl would then upgrade to TLS but not flush the in-queue of cached responses but instead continue using and trustingthe responses it got before the TLS handshake as if they were authenticated.Using this flaw, it allows a Man-In-The-Middle attacker to first inject the fake responses, then pass-through the TLS traffic from the legitimate server and trick curl into sending data back to the user thinking the attackers injected data comes from the TLS-protected server.
The product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Curl | Haxx | 7.20.0 (including) | 7.79.0 (excluding) |
.NET Core on Red Hat Enterprise Linux | RedHat | rh-dotnet31-curl-0:7.61.1-22.el7_9 | * |
Red Hat Enterprise Linux 8 | RedHat | curl-0:7.61.1-18.el8_4.2 | * |
Red Hat Enterprise Linux 8.2 Extended Update Support | RedHat | curl-0:7.61.1-12.el8_2.4 | * |
Curl | Ubuntu | bionic | * |
Curl | Ubuntu | devel | * |
Curl | Ubuntu | esm-infra/xenial | * |
Curl | Ubuntu | focal | * |
Curl | Ubuntu | hirsute | * |
Curl | Ubuntu | impish | * |
Curl | Ubuntu | jammy | * |
Curl | Ubuntu | trusty | * |
Curl | Ubuntu | trusty/esm | * |
Curl | Ubuntu | xenial | * |