curl-7.76.1-40.el9_8.5.ML.1
エラータID: AXSA:2026-1712:05
The curl packages provide the libcurl library and the curl utility for downloading files from servers using various protocols, including HTTP, FTP, and LDAP.
Security Fix(es):
* curl: curl: Authentication bypass due to incorrect connection reuse with Negotiate authentication (CVE-2026-1965)
* curl: curl: Information disclosure via OAuth2 bearer token leakage during HTTP(S) redirect (CVE-2026-3783)
* curl: curl: Man-in-the-middle attack via SSH host key bypass (CVE-2026-9547)
* curl: curl: Insecure connection establishment due to TLS configuration mismatch (CVE-2026-8286)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
CVE-2026-1965
libcurl can in some circumstances reuse the wrong connection when asked to do an Negotiate-authenticated HTTP or HTTPS request. libcurl features a pool of recent connections so that subsequent requests can reuse an existing connection to avoid overhead. When reusing a connection a range of criterion must first be met. Due to a logical error in the code, a request that was issued by an application could wrongfully reuse an existing connection to the same server that was authenticated using different credentials. One underlying reason being that Negotiate sometimes authenticates *connections* and not *requests*, contrary to how HTTP is designed to work. An application that allows Negotiate authentication to a server (that responds wanting Negotiate) with `user1:password1` and then does another operation to the same server also using Negotiate but with `user2:password2` (while the previous connection is still alive) - the second request wrongly reused the same connection and since it then sees that the Negotiate negotiation is already made, it just sends the request over that connection thinking it uses the user2 credentials when it is in fact still using the connection authenticated for user1... The set of authentication methods to use is set with `CURLOPT_HTTPAUTH`. Applications can disable libcurl's reuse of connections and thus mitigate this problem, by using one of the following libcurl options to alter how connections are or are not reused: `CURLOPT_FRESH_CONNECT`, `CURLOPT_MAXCONNECTS` and `CURLMOPT_MAX_HOST_CONNECTIONS` (if using the curl_multi API).
CVE-2026-3783
When an OAuth2 bearer token is used for an HTTP(S) transfer, and that transfer performs a redirect to a second URL, curl could leak that token to the second hostname under some circumstances. If the hostname that the first request is redirected to has information in the used .netrc file, with either of the `machine` or `default` keywords, curl would pass on the bearer token set for the first host also to the second one.
CVE-2026-8286
A vulnerability exists where a new transfer that uses STARTTLS to upgrade the connection might reuse an existing live connection even though the TLS configuration mismatches so it should not.
CVE-2026-9547
When a libcurl-based application performs transfers via `SCP://` or `SFTP://` and utilizes the `CURLOPT_SSH_KEYFUNCTION` callback, it may silently accept an untrusted server. This vulnerability occurs when a server presents a host key type that does not match the specific key type already recorded for that host in the `known_hosts` file. Instead of rejecting the mismatch, the callback mechanism fails to properly enforce the restriction, allowing the connection to succeed without warning and risking a potential man-in-the-middle attack.
Update packages.
libcurl can in some circumstances reuse the wrong connection when asked to do an Negotiate-authenticated HTTP or HTTPS request. libcurl features a pool of recent connections so that subsequent requests can reuse an existing connection to avoid overhead. When reusing a connection a range of criterion must first be met. Due to a logical error in the code, a request that was issued by an application could wrongfully reuse an existing connection to the same server that was authenticated using different credentials. One underlying reason being that Negotiate sometimes authenticates *connections* and not *requests*, contrary to how HTTP is designed to work. An application that allows Negotiate authentication to a server (that responds wanting Negotiate) with `user1:password1` and then does another operation to the same server also using Negotiate but with `user2:password2` (while the previous connection is still alive) - the second request wrongly reused the same connection and since it then sees that the Negotiate negotiation is already made, it just sends the request over that connection thinking it uses the user2 credentials when it is in fact still using the connection authenticated for user1... The set of authentication methods to use is set with `CURLOPT_HTTPAUTH`. Applications can disable libcurl's reuse of connections and thus mitigate this problem, by using one of the following libcurl options to alter how connections are or are not reused: `CURLOPT_FRESH_CONNECT`, `CURLOPT_MAXCONNECTS` and `CURLMOPT_MAX_HOST_CONNECTIONS` (if using the curl_multi API).
When an OAuth2 bearer token is used for an HTTP(S) transfer, and that transfer performs a redirect to a second URL, curl could leak that token to the second hostname under some circumstances. If the hostname that the first request is redirected to has information in the used .netrc file, with either of the `machine` or `default` keywords, curl would pass on the bearer token set for the first host also to the second one.
A vulnerability exists where a new transfer that uses STARTTLS to upgrade the connection might reuse an existing live connection even though the TLS configuration mismatches so it should not.
When a libcurl-based application performs transfers via `SCP://` or `SFTP://` and utilizes the `CURLOPT_SSH_KEYFUNCTION` callback, it may silently accept an untrusted server. This vulnerability occurs when a server presents a host key type that does not match the specific key type already recorded for that host in the `known_hosts` file. Instead of rejecting the mismatch, the callback mechanism fails to properly enforce the restriction, allowing the connection to succeed without warning and risking a potential man-in-the-middle attack.
N/A
SRPMS
- curl-7.76.1-40.el9_8.5.ML.1.src.rpm
MD5: 080b5730a9387f28327945b1f3596eb2
SHA-256: 600b856cdb8386b7b627bedf2423ff76ce5008e56472e70fac0ce7e64be40916
Size: 2.46 MB
Asianux Server 9 for x86_64
- curl-7.76.1-40.el9_8.5.ML.1.x86_64.rpm
MD5: d5f005f1a5bfd66784e183d767eb703d
SHA-256: 64585feada5cb610c959c82a2789fcb7c95da35dac55bf16248734c16e41890d
Size: 292.79 kB - curl-minimal-7.76.1-40.el9_8.5.ML.1.x86_64.rpm
MD5: 5a8c22bef9d211d252bc2787c6e17902
SHA-256: 66cb09f363ed36e976600f9327fd330bcd6d588f07f191491e12cf16f01a29be
Size: 126.94 kB - libcurl-7.76.1-40.el9_8.5.ML.1.i686.rpm
MD5: 29d51af7a55fc546fdc1b1a2e85ce9aa
SHA-256: 576b7b9ecb7729b5ca90f3515636ae451fd1bcc7f88e09e5bfb6fb9218e50041
Size: 309.92 kB - libcurl-7.76.1-40.el9_8.5.ML.1.x86_64.rpm
MD5: 5cab00b132ba78ebb42ac2a62af2f5b6
SHA-256: dfceb028c2dcc8674f1ed50ca012732a0695a84c068d50cc517e7a36645774d8
Size: 284.34 kB - libcurl-devel-7.76.1-40.el9_8.5.ML.1.i686.rpm
MD5: f04896205912574917d32e1d455bed1a
SHA-256: 93dcd78f72812c0014c9f2305a6b5722510cae12e6c09e2941197ef9d14b6c55
Size: 0.96 MB - libcurl-devel-7.76.1-40.el9_8.5.ML.1.x86_64.rpm
MD5: 388cfe847b240b6a9c555b3c15754347
SHA-256: 11eaea74f4849e1f231c8afa27a1d3f1bf6e79d2a2aaab64720a33c2dcdd5b50
Size: 0.96 MB - libcurl-minimal-7.76.1-40.el9_8.5.ML.1.i686.rpm
MD5: fd7312a32153cb43abc9f5830eeab91d
SHA-256: 8e1f8725065f2a423b0d9163c2895c57e50a2d44989419bd34636c9c4364ecd8
Size: 245.33 kB - libcurl-minimal-7.76.1-40.el9_8.5.ML.1.x86_64.rpm
MD5: dcdc742f864c9c3fcf288006f7955319
SHA-256: fed3d9a13e3b9f4436d91eecb45d1dd0de9d79781319a97d9424dc6299ceac55
Size: 224.92 kB