CVE-2023-28321

Name
CVE-2023-28321
Description
An improper certificate validation vulnerability exists in curl <v8.1.0 in the way it supports matching of wildcard patterns when listed as "Subject Alternative Name" in TLS server certificates. curl can be built to use its own name matching function for TLS rather than one provided by a TLS library. This private wildcard matching function would match IDN (International Domain Name) hosts incorrectly and could as a result accept patterns that otherwise should mismatch. IDN hostnames are converted to puny code before used for certificate checks. Puny coded names always start with `xn--` and should not be allowed to pattern match, but the wildcard check in curl could still check for `x*`, which would match even though the IDN name most likely contained nothing even resembling an `x`.
NVD Severity
unknown
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
MISC https://hackerone.com/reports/1950627
Mailing List https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/F4I75RDGX5ULSSCBE5BF3P5I5SFO7ULQ/
Mailing List https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/Z2LIWHWKOVH24COGGBCVOWDXXIUPKOMK/
Third Party Advisory https://security.netapp.com/advisory/ntap-20230609-0009/
Third Party Advisory https://support.apple.com/kb/HT213844
Third Party Advisory https://support.apple.com/kb/HT213843
Third Party Advisory https://support.apple.com/kb/HT213845
Mailing List http://seclists.org/fulldisclosure/2023/Jul/47
Mailing List http://seclists.org/fulldisclosure/2023/Jul/48
Mailing List http://seclists.org/fulldisclosure/2023/Jul/52
Third Party Advisory https://security.gentoo.org/glsa/202310-12
Mailing List https://lists.debian.org/debian-lts-announce/2023/10/msg00016.html
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/F4I75RDGX5ULSSCBE5BF3P5I5SFO7ULQ/
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/Z2LIWHWKOVH24COGGBCVOWDXXIUPKOMK/

Match rules

CPE URI Source package Min version Max version
cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:* curl >= None < 8.1.0

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
curl edge-main 8.1.0-r0 Natanael Copa <ncopa@alpinelinux.org> fixed
curl edge-main 8.0.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.88.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.87.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.86.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.85.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.84.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.83.1-r0 None possibly vulnerable
curl edge-main 7.83.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.79.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.78.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.77.0-r0 Natanael Copa <ncopa@alpinelinux.org> possibly vulnerable
curl edge-main 7.76.0-r0 None possibly vulnerable
curl edge-main 7.74.0-r0 None possibly vulnerable
curl edge-main 7.72.0-r0 None possibly vulnerable
curl edge-main 7.71.0-r0 None possibly vulnerable
curl edge-main 7.66.0-r0 None possibly vulnerable
curl edge-main 7.65.0-r0 None possibly vulnerable
curl edge-main 7.64.0-r0 None possibly vulnerable
curl edge-main 7.62.0-r0 None possibly vulnerable
curl edge-main 7.61.1-r0 None possibly vulnerable
curl edge-main 7.61.0-r0 None possibly vulnerable
curl edge-main 7.60.0-r0 None possibly vulnerable
curl edge-main 7.59.0-r0 None possibly vulnerable
curl edge-main 7.57.0-r0 None possibly vulnerable
curl edge-main 7.56.1-r0 None possibly vulnerable
curl edge-main 7.55.0-r0 None possibly vulnerable
curl edge-main 7.54.0-r0 None possibly vulnerable
curl edge-main 7.53.1-r2 None possibly vulnerable
curl edge-main 7.53.0-r0 None possibly vulnerable
curl edge-main 7.52.1-r0 None possibly vulnerable
curl edge-main 7.51.0-r0 None possibly vulnerable
curl edge-main 7.50.3-r0 None possibly vulnerable
curl edge-main 7.50.2-r0 None possibly vulnerable
curl edge-main 7.50.1-r0 None possibly vulnerable
curl edge-main 7.36.0-r0 None possibly vulnerable
curl 3.22-main 8.1.0-r0 None fixed
curl 3.22-main 8.0.0-r0 None possibly vulnerable
curl 3.22-main 7.88.0-r0 None possibly vulnerable
curl 3.22-main 7.87.0-r0 None possibly vulnerable
curl 3.22-main 7.86.0-r0 None possibly vulnerable
curl 3.22-main 7.85.0-r0 None possibly vulnerable
curl 3.22-main 7.84.0-r0 None possibly vulnerable
curl 3.22-main 7.83.1-r0 None possibly vulnerable
curl 3.22-main 7.83.0-r0 None possibly vulnerable
curl 3.22-main 7.79.0-r0 None possibly vulnerable
curl 3.22-main 7.78.0-r0 None possibly vulnerable
curl 3.22-main 7.77.0-r0 None possibly vulnerable
curl 3.22-main 7.76.0-r0 None possibly vulnerable
curl 3.22-main 7.74.0-r0 None possibly vulnerable
curl 3.22-main 7.72.0-r0 None possibly vulnerable
curl 3.22-main 7.71.0-r0 None possibly vulnerable
curl 3.22-main 7.66.0-r0 None possibly vulnerable
curl 3.22-main 7.65.0-r0 None possibly vulnerable
curl 3.22-main 7.64.0-r0 None possibly vulnerable
curl 3.22-main 7.62.0-r0 None possibly vulnerable
curl 3.22-main 7.61.1-r0 None possibly vulnerable
curl 3.22-main 7.61.0-r0 None possibly vulnerable
curl 3.22-main 7.60.0-r0 None possibly vulnerable
curl 3.22-main 7.59.0-r0 None possibly vulnerable
curl 3.22-main 7.57.0-r0 None possibly vulnerable
curl 3.22-main 7.56.1-r0 None possibly vulnerable
curl 3.22-main 7.55.0-r0 None possibly vulnerable
curl 3.22-main 7.54.0-r0 None possibly vulnerable
curl 3.22-main 7.53.1-r2 None possibly vulnerable
curl 3.22-main 7.53.0-r0 None possibly vulnerable
curl 3.22-main 7.52.1-r0 None possibly vulnerable
curl 3.22-main 7.51.0-r0 None possibly vulnerable
curl 3.22-main 7.50.3-r0 None possibly vulnerable
curl 3.22-main 7.50.2-r0 None possibly vulnerable
curl 3.22-main 7.50.1-r0 None possibly vulnerable
curl 3.22-main 7.36.0-r0 None possibly vulnerable
curl 3.21-main 8.1.0-r0 None fixed
curl 3.21-main 8.0.0-r0 None possibly vulnerable
curl 3.21-main 7.88.0-r0 None possibly vulnerable
curl 3.21-main 7.87.0-r0 None possibly vulnerable
curl 3.21-main 7.86.0-r0 None possibly vulnerable
curl 3.21-main 7.85.0-r0 None possibly vulnerable
curl 3.21-main 7.84.0-r0 None possibly vulnerable
curl 3.21-main 7.83.1-r0 None possibly vulnerable
curl 3.21-main 7.83.0-r0 None possibly vulnerable
curl 3.21-main 7.79.0-r0 None possibly vulnerable
curl 3.21-main 7.78.0-r0 None possibly vulnerable
curl 3.21-main 7.77.0-r0 None possibly vulnerable
curl 3.21-main 7.76.0-r0 None possibly vulnerable
curl 3.21-main 7.74.0-r0 None possibly vulnerable
curl 3.21-main 7.72.0-r0 None possibly vulnerable
curl 3.21-main 7.71.0-r0 None possibly vulnerable
curl 3.21-main 7.66.0-r0 None possibly vulnerable
curl 3.21-main 7.65.0-r0 None possibly vulnerable
curl 3.21-main 7.64.0-r0 None possibly vulnerable
curl 3.21-main 7.62.0-r0 None possibly vulnerable
curl 3.21-main 7.61.1-r0 None possibly vulnerable
curl 3.21-main 7.61.0-r0 None possibly vulnerable
curl 3.21-main 7.60.0-r0 None possibly vulnerable
curl 3.21-main 7.59.0-r0 None possibly vulnerable
curl 3.21-main 7.57.0-r0 None possibly vulnerable
curl 3.21-main 7.56.1-r0 None possibly vulnerable
curl 3.21-main 7.55.0-r0 None possibly vulnerable
curl 3.21-main 7.54.0-r0 None possibly vulnerable
curl 3.21-main 7.53.1-r2 None possibly vulnerable
curl 3.21-main 7.53.0-r0 None possibly vulnerable
curl 3.21-main 7.52.1-r0 None possibly vulnerable
curl 3.21-main 7.51.0-r0 None possibly vulnerable
curl 3.21-main 7.50.3-r0 None possibly vulnerable
curl 3.21-main 7.50.2-r0 None possibly vulnerable
curl 3.21-main 7.50.1-r0 None possibly vulnerable
curl 3.21-main 7.36.0-r0 None possibly vulnerable
curl 3.20-main 8.1.0-r0 None fixed
curl 3.20-main 8.0.0-r0 None possibly vulnerable
curl 3.20-main 7.88.0-r0 None possibly vulnerable
curl 3.20-main 7.87.0-r0 None possibly vulnerable
curl 3.20-main 7.86.0-r0 None possibly vulnerable
curl 3.20-main 7.85.0-r0 None possibly vulnerable
curl 3.20-main 7.84.0-r0 None possibly vulnerable
curl 3.20-main 7.83.1-r0 None possibly vulnerable
curl 3.20-main 7.83.0-r0 None possibly vulnerable
curl 3.20-main 7.79.0-r0 None possibly vulnerable
curl 3.20-main 7.78.0-r0 None possibly vulnerable
curl 3.20-main 7.77.0-r0 None possibly vulnerable
curl 3.20-main 7.76.0-r0 None possibly vulnerable
curl 3.20-main 7.74.0-r0 None possibly vulnerable
curl 3.20-main 7.72.0-r0 None possibly vulnerable
curl 3.20-main 7.71.0-r0 None possibly vulnerable
curl 3.20-main 7.66.0-r0 None possibly vulnerable
curl 3.20-main 7.65.0-r0 None possibly vulnerable
curl 3.20-main 7.64.0-r0 None possibly vulnerable
curl 3.20-main 7.62.0-r0 None possibly vulnerable
curl 3.20-main 7.61.1-r0 None possibly vulnerable
curl 3.20-main 7.61.0-r0 None possibly vulnerable
curl 3.20-main 7.60.0-r0 None possibly vulnerable
curl 3.20-main 7.59.0-r0 None possibly vulnerable
curl 3.20-main 7.57.0-r0 None possibly vulnerable
curl 3.20-main 7.56.1-r0 None possibly vulnerable
curl 3.20-main 7.55.0-r0 None possibly vulnerable
curl 3.20-main 7.54.0-r0 None possibly vulnerable
curl 3.20-main 7.53.1-r2 None possibly vulnerable
curl 3.20-main 7.53.0-r0 None possibly vulnerable
curl 3.20-main 7.52.1-r0 None possibly vulnerable
curl 3.20-main 7.51.0-r0 None possibly vulnerable
curl 3.20-main 7.50.3-r0 None possibly vulnerable
curl 3.20-main 7.50.2-r0 None possibly vulnerable
curl 3.20-main 7.50.1-r0 None possibly vulnerable
curl 3.20-main 7.36.0-r0 None possibly vulnerable
curl 3.19-main 8.1.0-r0 None fixed
curl 3.19-main 8.0.0-r0 None possibly vulnerable
curl 3.19-main 7.88.0-r0 None possibly vulnerable
curl 3.19-main 7.87.0-r0 None possibly vulnerable
curl 3.19-main 7.86.0-r0 None possibly vulnerable
curl 3.19-main 7.85.0-r0 None possibly vulnerable
curl 3.19-main 7.84.0-r0 None possibly vulnerable
curl 3.19-main 7.83.1-r0 None possibly vulnerable
curl 3.19-main 7.83.0-r0 None possibly vulnerable
curl 3.19-main 7.79.0-r0 None possibly vulnerable
curl 3.19-main 7.78.0-r0 None possibly vulnerable
curl 3.19-main 7.77.0-r0 None possibly vulnerable
curl 3.19-main 7.76.0-r0 None possibly vulnerable
curl 3.19-main 7.74.0-r0 None possibly vulnerable
curl 3.19-main 7.72.0-r0 None possibly vulnerable
curl 3.19-main 7.71.0-r0 None possibly vulnerable
curl 3.19-main 7.66.0-r0 None possibly vulnerable
curl 3.19-main 7.65.0-r0 None possibly vulnerable
curl 3.19-main 7.64.0-r0 None possibly vulnerable
curl 3.19-main 7.62.0-r0 None possibly vulnerable
curl 3.19-main 7.61.1-r0 None possibly vulnerable
curl 3.19-main 7.61.0-r0 None possibly vulnerable
curl 3.19-main 7.60.0-r0 None possibly vulnerable
curl 3.19-main 7.59.0-r0 None possibly vulnerable
curl 3.19-main 7.57.0-r0 None possibly vulnerable
curl 3.19-main 7.56.1-r0 None possibly vulnerable
curl 3.19-main 7.55.0-r0 None possibly vulnerable
curl 3.19-main 7.54.0-r0 None possibly vulnerable
curl 3.19-main 7.53.1-r2 None possibly vulnerable
curl 3.19-main 7.53.0-r0 None possibly vulnerable
curl 3.19-main 7.52.1-r0 None possibly vulnerable
curl 3.19-main 7.51.0-r0 None possibly vulnerable
curl 3.19-main 7.50.3-r0 None possibly vulnerable
curl 3.19-main 7.50.2-r0 None possibly vulnerable
curl 3.19-main 7.50.1-r0 None possibly vulnerable
curl 3.19-main 7.36.0-r0 None possibly vulnerable
curl 3.18-main 8.1.0-r0 Natanael Copa <ncopa@alpinelinux.org> fixed
curl 3.17-main 8.1.0-r0 Natanael Copa <ncopa@alpinelinux.org> fixed