CVE-2025-0665
eventfd double close
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.0
eventfd double close
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
CVE-2025-0665- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
EUVDEUVD-2025-1809
7.0
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
EUVD-2025-1809- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-cc57-hgv8-p56r
9.8
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection...
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
GHSA-cc57-hgv8-p56r- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1341
- Updated
- 2026-11-02
NVD
7.0
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
CVE-2025-0665- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
OSVALPINE-CVE-2025-0665
7.0
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
ALPINE-CVE-2025-0665- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2025-0665
7.0
- Record
BELL-CVE-2025-0665- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSV
7.0
eventfd double close
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
CVE-2025-0665- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-0665
7.0
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
DEBIAN-CVE-2025-0665- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
OSVJLSEC-2026-421
7.0
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection...
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
JLSEC-2026-421- CVSS 3.1
- 7.0 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-0665
9.8
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
UBUNTU-CVE-2025-0665- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVAZL-56692 No score
CVE-2025-0665 affecting package curl for versions less than 8.11.1-3
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
AZL-56692- Updated
- 2026-11-02
OSVCURL-CVE-2025-0665 No score
eventfd double close
libcurl would wrongly close the same eventfd file descriptor twice when taking down a connection channel after having completed a threaded name resolve.
- Record
CURL-CVE-2025-0665- Updated
- 2026-11-02
OSVMGASA-2025-0123 No score
Updated curl packages fix security vulnerabilities
When asked to use a .netrc file for credentials and to follow HTTP redirects, curl could leak the password used for the first host to the followed-to host under certain circumstances. The fix was included previously as part of MGAA-2025-0004.
- Record
MGASA-2025-0123- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:14809-1 No score
curl-8.12.1-1.1 on GA media
These are all security issues fixed in the curl-8.12.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:14809-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:03198-1 No score
Security update for curl
This update for curl fixes the following issues:
Update to version 8.14.1 (jsc#PED-13055, jsc#PED-13056).
Security issues fixed:
- CVE-2025-0665: eventfd double close can cause libcurl to act unreliably (bsc#1236589).
- CVE-2025-4947: QUIC certificate check is skipped with wolfSSL allows for MITM attacks (bsc#1243397).
- CVE-2025-5025: no QUIC certificate pinning with wolfSSL can lead to connections to impostor servers that are not easily noticed (bsc#1243706).
- CVE-2025-5399: bug in websocket code can cause libcurl to get trapped in an endless busy-loop when processing specially crafted packets (bsc#1243933).
- CVE-2024-6874: punycode conversions to/from IDN can leak stack content when libcurl is built to use the macidn IDN backend (bsc#1228260).
- CVE-2025-9086: bug in patch comparison logic when processing cookies can lead to out-of-bounds read in heap buffer (bsc#1249191).
- CVE-2025-10148: predictable websocket mask can lead to proxy cache poisoning by malicious server (bsc#1249348).
Other issues fixed:
-
Fix wrong return code when --retry is used (bsc#1249367).
- tool_operate: fix return code when --retry is used but not triggered [b42776b]
-
Fix the --ftp-pasv option in curl v8.14.1 (bsc#1246197).
- tool_getparam: fix --ftp-pasv [5f805ee]
-
Fixed with version 8.14.1:
- TLS: add CURLOPT_SSL_SIGNATURE_ALGORITHMS and --sigalgs.
- websocket: add option to disable auto-pong reply.
- huge number of bugfixes.
Please see https://curl.se/ch/ for full changelogs.
- Record
SUSE-SU-2025:03198-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:20239-1 No score
Security update for curl
This update for curl fixes the following issues:
Update to 8.12.1:
-
Bugfixes:
- asyn-thread: fix build with 'CURL_DISABLE_SOCKETPAIR'
- asyn-thread: fix HTTPS RR crash
- asyn-thread: fix the returned bitmask from Curl_resolver_getsock
- asyn-thread: survive a c-ares channel set to NULL
- cmake: always reference OpenSSL and ZLIB via imported targets
- cmake: respect 'GNUTLS_CFLAGS' when detected via 'pkg-config'
- cmake: respect 'GNUTLS_LIBRARY_DIRS' in 'libcurl.pc' and 'curl-config'
- content_encoding: #error on too old zlib
- imap: TLS upgrade fix
- ldap: drop support for legacy Novell LDAP SDK
- libssh2: comparison is always true because rc <= -1
- libssh2: raise lowest supported version to 1.2.8
- libssh: drop support for libssh older than 0.9.0
- openssl-quic: ignore ciphers for h3
- pop3: TLS upgrade fix
- runtests: fix the disabling of the memory tracking
- runtests: quote commands to support paths with spaces
- scache: add magic checks
- smb: silence '-Warray-bounds' with gcc 13+
- smtp: TLS upgrade fix
- tool_cfgable: sort struct fields by size, use bitfields for booleans
- tool_getparam: add "TLS required" flag for each such option
- vtls: fix multissl-init
- wakeup_write: make sure the eventfd write sends eight bytes
Update to 8.12.0:
-
Security fixes:
- [bsc#1234068, CVE-2024-11053] curl could leak the password used for the first host to the followed-to host under certain circumstances.
- [bsc#1232528, CVE-2024-9681] HSTS subdomain overwrites parent cache entry
- [bsc#1236589, CVE-2025-0665] eventfd double close
-
Changes:
- curl: add byte range support to --variable reading from file
- curl: make --etag-save acknowledge --create-dirs
- getinfo: fix CURLINFO_QUEUE_TIME_T and add 'time_queue' var
- getinfo: provide info which auth was used for HTTP and proxy
- hyper: drop support
- openssl: add support to use keys and certificates from PKCS#11 provider
- QUIC: 0RTT for gnutls via CURLSSLOPT_EARLYDATA
- vtls: feature ssls-export for SSL session im-/export
-
Bugfixes:
- altsvc: avoid integer overflow in expire calculation
- asyn-ares: acknowledge CURLOPT_DNS_SERVERS set to NULL
- asyn-ares: fix memory leak
- asyn-ares: initial HTTPS resolve support
- asyn-thread: use c-ares to resolve HTTPS RR
- async-thread: avoid closing eventfd twice
- cd2nroff: do not insist on quoted <> within backticks
- cd2nroff: support "none" as a TLS backend
- conncache: count shutdowns against host and max limits
- content_encoding: drop support for zlib before 1.2.0.4
- content_encoding: namespace GZIP flag constants
- content_encoding: put the decomp buffers into the writer structs
- content_encoding: support use of custom libzstd memory functions
- cookie: cap expire times to 400 days
- cookie: parse only the exact expire date
- curl: return error if etag options are used with multiple URLs
- curl_multi_fdset: include the shutdown connections in the set
- curl_sha512_256: rename symbols to the curl namespace
- curl_url_set.md: adjust the added-in to 7.62.0
- doh: send HTTPS RR requests for all HTTP(S) transfers
- easy: allow connect-only handle reuse with easy_perform
- easy: make curl_easy_perform() return error if connection still there
- easy_lock: use Sleep(1) for thread yield on old Windows
- ECH: update APIs to those agreed with OpenSSL maintainers
- GnuTLS: fix 'time_appconnect' for early data
- HTTP/2: strip TE request header
- http2: fix data_pending check
- http2: fix value stored to 'result' is never read
- http: ignore invalid Retry-After times
- http_aws_sigv4: Fix invalid compare function handling zero-length pairs
- https-connect: start next immediately on failure
- lib: redirect handling by protocol handler
- multi: fix…
- Record
SUSE-SU-2025:20239-1- Updated
- 2026-11-02
Affected products
- curl
- haxx curl
- netapp bootstrap os
- netapp h300s firmware
- netapp h410c firmware
- netapp h410s firmware
- netapp h500s firmware
- netapp h700s firmware
- siemens ruggedcom rst2428p
- siemens scalance xc-300/xr-300/xc-400/xr-500wg/xr-500 family
- siemens scalance xch328
- siemens scalance xcm324
Show 15 moreShow less
- siemens scalance xcm328
- siemens scalance xcm332
- siemens scalance xrh334 (24 v dc, 8xfo, cc)
- siemens scalance xrm334 (230 v ac, 12xfo)
- siemens scalance xrm334 (230 v ac, 8xfo)
- siemens scalance xrm334 (230v ac, 2x10g, 24xsfp, 8xsfp+)
- siemens scalance xrm334 (24 v dc, 12xfo)
- siemens scalance xrm334 (24 v dc, 8xfo)
- siemens scalance xrm334 (24v dc, 2x10g, 24xsfp, 8xsfp+)
- siemens scalance xrm334 (2x230 v ac, 12xfo)
- siemens scalance xrm334 (2x230 v ac, 8xfo)
- siemens scalance xrm334 (2x230v ac, 2x10g, 24xsfp, 8xsfp+)
- siemens simatic s7-1500 cpu 1518-4 pn/dp mfp
- siemens simatic s7-1500 cpu 1518f-4 pn/dp mfp
- siemens siplus s7-1500 cpu 1518-4 pn/dp mfp
Affected packages
| Package | Affected | Fixed |
|---|---|---|
curlAlpine:v3.18 |
before 8.12.0-r0 | 8.12.0-r0 |
curlAlpine:v3.19 |
before 8.12.0-r0 | 8.12.0-r0 |
curlAlpine:v3.20 |
before 8.12.0-r0 | 8.12.0-r0 |
curlAlpine:v3.21 |
before 8.12.0-r0 | 8.12.0-r0 |
curlAlpine:v3.22 |
before 8.12.0-r0 | 8.12.0-r0 |
curlAlpine:v3.23 |
before 8.12.0-r0 | 8.12.0-r0 |
curlAlpine:v3.24 |
before 8.12.0-r0 | 8.12.0-r0 |
curlAzure Linux:3 |
before 8.11.1-3 | 8.11.1-3 |
curlAlpaquita:stream |
8.11.1-r0 up to 8.12.0-r0 | 8.12.0-r0 |
curlBellSoft Hardened Containers:stream |
8.11.1-r0 up to 8.12.0-r0 | 8.12.0-r0 |
Show 10 moreShow less
| Package | Affected | Fixed |
|---|---|---|
curlDebian:13 |
before 8.12.0+git20250209.89ed161+ds-1 | 8.12.0+git20250209.89ed161+ds-1 |
curlDebian:14 |
before 8.12.0+git20250209.89ed161+ds-1 | 8.12.0+git20250209.89ed161+ds-1 |
CURL_jllJulia |
8.11.1+0 up to 8.13.0+0 | 8.13.0+0 |
LibCURL_jllJulia |
8.11.1+0 up to 8.12.0+0 | 8.12.0+0 |
curlMageia:9 |
before 7.88.1-4.6.mga9 | 7.88.1-4.6.mga9 |
curlSUSE:Linux Enterprise Module for Basesystem 15 SP6 |
before 8.14.1-150600.4.28.1 | 8.14.1-150600.4.28.1 |
curlSUSE:Linux Enterprise Module for Basesystem 15 SP7 |
before 8.14.1-150600.4.28.1 | 8.14.1-150600.4.28.1 |
curlopenSUSE:Leap 15.6 |
before 8.14.1-150600.4.28.1 | 8.14.1-150600.4.28.1 |
curlSUSE:Linux Micro 6.1 |
before 8.12.1-slfo.1.1_1.1 | 8.12.1-slfo.1.1_1.1 |
curlopenSUSE:Tumbleweed |
before 8.12.1-1.1 | 8.12.1-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-0665 is a high vulnerability (CVSS 7.0) in Curl, published February 5, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.33%, the 71st percentile. Fixed in curl 8.12.0-r0.
References
curl.se/docs/CVE-2025-0665.json
curl.se/docs/CVE-2025-0665.html
hackerone.com/reports/2954286
openwall.com/lists/oss-security/2025/02/05/2
openwall.com/lists/oss-security/2025/02/05/5
security.netapp.com/advisory/ntap-20250306-0007
Show 39 moreShow less
cert-portal.siemens.com/productcert/html/ssa-398330.html
cert-portal.siemens.com/productcert/html/ssa-089022.html
nvd.nist.gov/vuln/detail/CVE-2025-0665
github.com/advisories/GHSA-cc57-hgv8-p56r
security.alpinelinux.org/vuln/CVE-2025-0665
docs.bell-sw.com/security/cves/CVE-2025-0665
github.com/CVEProject/cvelistV5/tree/main/cves/2025/0xxx/CVE-2025-0665.json
security-tracker.debian.org/tracker/CVE-2025-0665
advisories.mageia.org/MGASA-2025-0123.html
bugs.mageia.org/show_bug.cgi?id=33992
bugs.mageia.org/show_bug.cgi?id=33893
curl.se/docs/CVE-2025-0167.html
advisories.mageia.org/MGAA-2025-0004.html
suse.com/support/update/announcement/2025/suse-su-202503198-1
bugzilla.suse.com/1228260
bugzilla.suse.com/1236589
bugzilla.suse.com/1243397
bugzilla.suse.com/1243706
bugzilla.suse.com/1243933
bugzilla.suse.com/1246197
bugzilla.suse.com/1249191
bugzilla.suse.com/1249348
bugzilla.suse.com/1249367
suse.com/security/cve/CVE-2024-6874
suse.com/security/cve/CVE-2025-0665
suse.com/security/cve/CVE-2025-10148
suse.com/security/cve/CVE-2025-4947
suse.com/security/cve/CVE-2025-5025
suse.com/security/cve/CVE-2025-5399
suse.com/security/cve/CVE-2025-9086
suse.com/support/update/announcement/2025/suse-su-202520239-1
bugzilla.suse.com/1230093
bugzilla.suse.com/1232528
bugzilla.suse.com/1234068
suse.com/security/cve/CVE-2024-11053
suse.com/security/cve/CVE-2024-8096
suse.com/security/cve/CVE-2024-9681
ubuntu.com/security/CVE-2025-0665
cve.org/CVERecord?id=CVE-2025-0665
Left out here: the rest of 1 source description. The JSON record has them.