Every CVE Search/ Get API key

CVE-2025-0665

eventfd double close

7.0 HighFix available

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

1.33%Up 1.3 points since Feb 6, 2025
90%50%10%1%

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 HighCVSS: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 HighCVSS: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 CriticalCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 CriticalCVSS: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

Show 15 moreShow less

Affected packages

Affected packages
PackageAffectedFixed
curl
Alpine:v3.18
before 8.12.0-r0
8.12.0-r0
curl
Alpine:v3.19
before 8.12.0-r0
8.12.0-r0
curl
Alpine:v3.20
before 8.12.0-r0
8.12.0-r0
curl
Alpine:v3.21
before 8.12.0-r0
8.12.0-r0
curl
Alpine:v3.22
before 8.12.0-r0
8.12.0-r0
curl
Alpine:v3.23
before 8.12.0-r0
8.12.0-r0
curl
Alpine:v3.24
before 8.12.0-r0
8.12.0-r0
curl
Azure Linux:3
before 8.11.1-3
8.11.1-3
curl
Alpaquita:stream
8.11.1-r0 up to 8.12.0-r0
8.12.0-r0
curl
BellSoft Hardened Containers:stream
8.11.1-r0 up to 8.12.0-r0
8.12.0-r0
Show 10 moreShow less
Affected packages
PackageAffectedFixed
curl
Debian:13
before 8.12.0+git20250209.89ed161+ds-1
8.12.0+git20250209.89ed161+ds-1
curl
Debian:14
before 8.12.0+git20250209.89ed161+ds-1
8.12.0+git20250209.89ed161+ds-1
CURL_jll
Julia
8.11.1+0 up to 8.13.0+0
8.13.0+0
LibCURL_jll
Julia
8.11.1+0 up to 8.12.0+0
8.12.0+0
curl
Mageia:9
before 7.88.1-4.6.mga9
7.88.1-4.6.mga9
curl
SUSE:Linux Enterprise Module for Basesystem 15 SP6
before 8.14.1-150600.4.28.1
8.14.1-150600.4.28.1
curl
SUSE:Linux Enterprise Module for Basesystem 15 SP7
before 8.14.1-150600.4.28.1
8.14.1-150600.4.28.1
curl
openSUSE:Leap 15.6
before 8.14.1-150600.4.28.1
8.14.1-150600.4.28.1
curl
SUSE:Linux Micro 6.1
before 8.12.1-slfo.1.1_1.1
8.12.1-slfo.1.1_1.1
curl
openSUSE:Tumbleweed
before 8.12.1-1.1
8.12.1-1.1

History

History
RecordedChangedSources
affected
first indexedCVE 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

Show 39 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open