Cloudanix VulnDB

CVE-2023-46218

Medium · 6.5

CVSS

6.5

EPSS

1.7%

Published

Dec 7, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a widely used data transfer tool can let a malicious website set cookies that get shared with other unrelated websites, exposing user activity and sessions.

Exploit Available
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Exposure
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A mixed-case flaw in curl's Public Suffix List domain verification allows a malicious HTTP server to set cookies using uppercase characters (for example domain=co.UK) that bypass intended restrictions and are sent to additional unrelated origins.

Why it matters to the business

Attackers can track users or hijack sessions across unrelated domains, increasing privacy exposure and the risk of unauthorized access in environments that rely on curl for HTTP operations.

How an attack unfolds

An attacker hosts a malicious HTTP server that returns Set-Cookie headers crafted with mixed-case PSL domains. Curl incorrectly accepts and stores these cookies due to the case-sensitivity flaw, then forwards them to other sites that match the PSL entry on subsequent requests.

How to fix it

Upgrade curl to a patched version that performs case-insensitive PSL comparisons. Rebuild or reinstall affected packages from fedoraproject fedora once updates are available and test cookie behavior in applications using libcurl.

How to confirm the fix worked

Confirm curl version is updated, then test Set-Cookie acceptance using mixed-case domains against known PSL entries such as co.uk to verify proper rejection.

Typical attack path

  1. Attacker controls a malicious HTTP server
  2. Server responds to curl client with Set-Cookie header containing mixed-case PSL domain
  3. Curl accepts and stores the cookie despite PSL match
  4. Cookie is transmitted to unrelated domains on future requests

How to detect it

Inspect application and system logs for Set-Cookie headers containing mixed-case PSL domains and review curl client activity involving untrusted HTTP responses.

What your security team should do

  • Prioritize upgrading all curl installations to the latest fixed release
  • Review and restrict use of curl in automated or untrusted HTTP flows
  • Monitor upstream haxx curl announcements for patch availability

The record

This flaw allows a malicious HTTP server to set "super cookies" in curl that are then passed back to more origins than what is otherwise allowed or possible. This allows a site to set cookies that then would get sent to different and unrelated sites and domains. It could do this by exploiting a mixed case flaw in curl's function that verifies a given cookie domain against the Public Suffix List (PSL). For example a cookie could be set with `domain=co.UK` when the URL used a lower case hostname `curl.co.uk`, even though `co.uk` is listed as a PSL domain.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 curl 0 7.61.1-33.el8_9.5
AlmaLinux:8 libcurl 0 7.61.1-33.el8_9.5
AlmaLinux:8 libcurl-devel 0 7.61.1-33.el8_9.5
AlmaLinux:8 libcurl-minimal 0 7.61.1-33.el8_9.5
AlmaLinux:9 curl 0 7.76.1-26.el9_3.3
AlmaLinux:9 curl-minimal 0 7.76.1-26.el9_3.3
AlmaLinux:9 libcurl 0 7.76.1-26.el9_3.3
AlmaLinux:9 libcurl-devel 0 7.76.1-26.el9_3.3
AlmaLinux:9 libcurl-minimal 0 7.76.1-26.el9_3.3
Alpine:v3.15 curl 0 8.5.0-r0
Alpine:v3.16 curl 0 8.5.0-r0
Alpine:v3.17 curl 0 8.5.0-r0
Alpine:v3.18 curl 0 8.5.0-r0
Alpine:v3.19 curl 0 8.5.0-r0
Alpine:v3.20 curl 0 8.5.0-r0
Alpine:v3.21 curl 0 8.5.0-r0
Alpine:v3.22 curl 0 8.5.0-r0
Chainguard curl 0 8.5.0-r0
Chainguard curl-dev 0 8.5.0-r0
Chainguard curl-doc 0 8.5.0-r0
Chainguard curl-oci-entrypoint 0 8.5.0-r0
Chainguard curl-static 0 8.5.0-r0
Chainguard libcurl-openssl4 0 8.5.0-r0
Chainguard libcurl4 0 8.5.0-r0
Debian:10 curl 0 7.64.0-4+deb10u8
Debian:11 curl 0 7.74.0-1.3+deb11u11
Debian:12 curl 0 7.88.1-10+deb12u5
Debian:13 curl 0 8.5.0-1
Mageia:8 curl 0 7.74.0-1.15.mga8
Mageia:9 curl 0 7.88.1-3.3.mga9
Red Hat:enterprise_linux:8::baseos curl 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos curl-debuginfo 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos curl-debugsource 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos curl-minimal-debuginfo 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos libcurl 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos libcurl-debuginfo 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos libcurl-devel 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos libcurl-minimal 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:8::baseos libcurl-minimal-debuginfo 0 0:7.61.1-33.el8_9.5
Red Hat:enterprise_linux:9::appstream curl 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream curl-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream curl-debugsource 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream curl-minimal 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream curl-minimal-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream libcurl 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream libcurl-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream libcurl-devel 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream libcurl-minimal 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::appstream libcurl-minimal-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos curl 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos curl-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos curl-debugsource 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos curl-minimal 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos curl-minimal-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos libcurl 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos libcurl-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos libcurl-devel 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos libcurl-minimal 0 0:7.76.1-26.el9_3.3
Red Hat:enterprise_linux:9::baseos libcurl-minimal-debuginfo 0 0:7.76.1-26.el9_3.3
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-curl 0 0:8.6.0-3.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-curl-debuginfo 0 0:8.6.0-3.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-debuginfo 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-devel 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-manual 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-selinux 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-tools 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-libcurl 0 0:8.6.0-3.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-libcurl-devel 0 0:8.6.0-3.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_ldap 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_proxy_cluster 0 0:1.3.20-3.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_proxy_cluster-debuginfo 0 0:1.3.20-3.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_proxy_html 0 1:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_session 0 0:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_ssl 0 1:2.4.57-9.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl 0 1:1.1.1k-17.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-debuginfo 0 1:1.1.1k-17.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-devel 0 1:1.1.1k-17.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-libs 0 1:1.1.1k-17.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-perl 0 1:1.1.1k-17.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-static 0 1:1.1.1k-17.el7jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-curl 0 0:8.6.0-3.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-curl-debuginfo 0 0:8.6.0-3.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-httpd 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-httpd-debuginfo 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-httpd-devel 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-httpd-manual 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-httpd-selinux 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-httpd-tools 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-httpd-tools-debuginfo 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-libcurl 0 0:8.6.0-3.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-libcurl-debuginfo 0 0:8.6.0-3.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-libcurl-devel 0 0:8.6.0-3.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_ldap 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_ldap-debuginfo 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_proxy_cluster 0 0:1.3.20-3.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_proxy_cluster-debuginfo 0 0:1.3.20-3.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_proxy_html 0 1:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_proxy_html-debuginfo 0 1:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_session 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_session-debuginfo 0 0:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_ssl 0 1:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_ssl-debuginfo 0 1:2.4.57-9.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl 0 1:1.1.1k-17.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-debuginfo 0 1:1.1.1k-17.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-devel 0 1:1.1.1k-17.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-libs 0 1:1.1.1k-17.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-libs-debuginfo 0 1:1.1.1k-17.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-perl 0 1:1.1.1k-17.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-static 0 1:1.1.1k-17.el8jbcs
Red Hat:rhel_eus:8.6::baseos curl 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos curl-debuginfo 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos curl-debugsource 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos curl-minimal-debuginfo 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos libcurl 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos libcurl-debuginfo 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos libcurl-devel 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos libcurl-minimal 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.6::baseos libcurl-minimal-debuginfo 0 0:7.61.1-22.el8_6.12
Red Hat:rhel_eus:8.8::baseos curl 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos curl-debuginfo 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos curl-debugsource 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos curl-minimal-debuginfo 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos libcurl 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos libcurl-debuginfo 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos libcurl-devel 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos libcurl-minimal 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:8.8::baseos libcurl-minimal-debuginfo 0 0:7.61.1-30.el8_8.9
Red Hat:rhel_eus:9.0::appstream curl 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream curl-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream curl-debugsource 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream curl-minimal 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream curl-minimal-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream libcurl 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream libcurl-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream libcurl-devel 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream libcurl-minimal 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::appstream libcurl-minimal-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos curl 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos curl-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos curl-debugsource 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos curl-minimal 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos curl-minimal-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos libcurl 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos libcurl-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos libcurl-devel 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos libcurl-minimal 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.0::baseos libcurl-minimal-debuginfo 0 0:7.76.1-14.el9_0.11
Red Hat:rhel_eus:9.2::appstream curl 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream curl-debuginfo 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream curl-debugsource 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream curl-minimal 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream curl-minimal-debuginfo 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream libcurl 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream libcurl-debuginfo 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream libcurl-devel 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream libcurl-minimal 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::appstream libcurl-minimal-debuginfo 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos curl 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos curl-debuginfo 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos curl-debugsource 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos curl-minimal 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos curl-minimal-debuginfo 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos libcurl 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos libcurl-debuginfo 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos libcurl-devel 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos libcurl-minimal 0 0:7.76.1-23.el9_2.6
Red Hat:rhel_eus:9.2::baseos libcurl-minimal-debuginfo 0 0:7.76.1-23.el9_2.6
Rocky Linux:8 curl 0 0:7.61.1-33.el8_9.5
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS curl 0 7.60.0-150000.56.1
SUSE:Linux Enterprise Micro 5.1 curl 0 7.66.0-150200.4.63.1
SUSE:Linux Enterprise Micro 5.2 curl 0 7.66.0-150200.4.63.1
SUSE:Linux Enterprise Micro 5.3 curl 0 8.0.1-150400.5.36.1
SUSE:Linux Enterprise Micro 5.4 curl 0 8.0.1-150400.5.36.1
SUSE:Linux Enterprise Micro 5.5 curl 0 8.0.1-150400.5.36.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 curl 0 8.0.1-150400.5.36.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 curl 0 8.0.1-150400.5.36.1
SUSE:Linux Enterprise Server 12 SP5 curl 0 8.0.1-11.80.1
SUSE:Linux Enterprise Server 15 SP1-LTSS curl 0 7.60.0-150000.56.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 curl 0 8.0.1-11.80.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 curl 0 7.60.0-150000.56.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 curl 0 8.0.1-11.80.1
Ubuntu:20.04:LTS curl 0 7.68.0-1ubuntu2.21
Ubuntu:22.04:LTS curl 0 7.81.0-1ubuntu1.15
Ubuntu:23.10 curl 0 8.2.1-1ubuntu3.2
Ubuntu:Pro:16.04:LTS curl 0 7.47.0-1ubuntu2.19+esm11
Ubuntu:Pro:18.04:LTS curl 0 7.58.0-2ubuntu3.24+esm3
Wolfi curl 0 8.5.0-r0
Wolfi curl-dev 0 8.5.0-r0
Wolfi curl-doc 0 8.5.0-r0
Wolfi curl-oci-entrypoint 0 8.5.0-r0
Wolfi curl-static 0 8.5.0-r0
Wolfi libcurl-openssl4 0 8.5.0-r0
Wolfi libcurl4 0 8.5.0-r0
openSUSE:Leap 15.4 curl 0 8.0.1-150400.5.36.1
openSUSE:Leap 15.5 curl 0 8.0.1-150400.5.36.1
openSUSE:Leap Micro 5.3 curl 0 8.0.1-150400.5.36.1
openSUSE:Leap Micro 5.4 curl 0 8.0.1-150400.5.36.1
openSUSE:Tumbleweed curl 0 8.5.0-1.1

Related vulnerabilities