CVE-2021-22947 json
When curl >= 7.20.0 and <= 7.78.0 connects to an IMAP or POP3 server to retrieve data using STARTTLS to upgrade to TLS security, the server…
published 2021-09-29 5 y ago modified 2026-10-14 26 d ago also EUVD-2021-10075 , JLSEC-2026-1340
- cvss
- 5.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.0%
- EPSS 3.0% chance of exploitation in 30 days, percentile 87%
- public exploits
- 0
- none known
Summary
When curl >= 7.20.0 and <= 7.78.0 connects to an IMAP or POP3 server to retrieve data using STARTTLS to upgrade to TLS security, the server can respond and send back multiple responses at once that curl caches. curl would then upgrade to TLS but not flush the in-queue of cached responses but instead continue using and trustingthe responses it got *before* the TLS handshake as if they were authenticated.Using this flaw, it allows a Man-In-The-Middle attacker to first inject the fake responses, then pass-through the TLS traffic from the legitimate server and trick curl into sending data back to the user thinking the attacker's injected data comes from the TLS-protected server.
Patch / fix
- julia LibCURL_jll 7.81.0+0
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.5
- Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP V3.1.5
- Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP V3.1.5
- curl Debian 14, Debian 13, Debian 12 7.79.1-1
debian advisories DEBIAN-CVE-2021-22947
- curl Ubuntu 18.04 LTS 7.58.0-2ubuntu3.15
- curl Ubuntu 20.04 LTS 7.68.0-1ubuntu2.7
- curl Ubuntu 22.04 LTS 7.74.0-1.3ubuntu2
- curl Ubuntu Pro 14.04 LTS 7.35.0-1ubuntu2.20+esm8
- curl Ubuntu Pro 16.04 LTS 7.47.0-1ubuntu2.19+esm1
ubuntu advisories UBUNTU-CVE-2021-22947
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- rh-dotnet31-curl RHEL 3.1 DOTNET 7.61.1-22.el7_9
- rh-dotnet31-libcurl RHEL 3.1 DOTNET 7.61.1-22.el7_9
- curl RHEL 8 7.61.1-18.el8_4.2
- libcurl RHEL 8 7.61.1-18.el8_4.2
- libcurl-minimal RHEL 8 7.61.1-18.el8_4.2
- curl RHEL 8.2 EUS 7.61.1-12.el8_2.4
- libcurl RHEL 8.2 EUS 7.61.1-12.el8_2.4
- libcurl-minimal RHEL 8.2 EUS 7.61.1-12.el8_2.4
red hat advisories RHSA-2022:1354RHSA-2022:0635RHSA-2021:4059
- curl SLES for SAP 12 SP4, SLES 12 SP4-LTSS, OpenStack Cloud Crowbar 9 +1 more 7.60.0-4.30.1
- curl SLES for SAP 12 SP5, SLES 12 SP5, SLE Software Development Kit 12 SP5 7.60.0-11.28.1
- curl SLE Module for Basesystem 15 SP3, SLE Module for Basesystem 15 SP2, SLE Micro 5.1 +1 more 7.66.0-4.27.1
- curl SLES for SAP 15 SP1, SLES for SAP 15, SLES 15-LTSS +7 more 7.60.0-25.1
- curl-openssl1 SLES 11-SECURITY 7.37.0-70.74.1
suse advisories SUSE-SU-2021:3351-1SUSE-SU-2021:3332-1SUSE-SU-2021:3298-1SUSE-SU-2021:3297-1SUSE-SU-2021:14807-1
- curl openSUSE Tumbleweed 7.79.1-1.1
- curl openSUSE Leap 15.2 7.66.0-lp152.3.24.1
- curl-mini openSUSE Leap 15.2 7.66.0-lp152.3.24.1
- curl openSUSE Leap 15.3 7.66.0-4.27.1
opensuse advisories openSUSE-SU-2024:10582-1openSUSE-SU-2021:1384-1openSUSE-SU-2021:3298-1
- curl Rocky Linux 8 7.61.1-18.el8_4.2
rocky linux advisories RLSA-2021:4059
- curl Alpine 3.24, Alpine 3.23, Alpine 3.22 +11 more 7.79.0-r0
alpine advisories ALPINE-CVE-2021-22947
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-22947 updated cvss 6.1
curl: Server responses received before STARTTLS processed after TLS handshake
-
Red Hat .NET Core 2.1 on Red Hat Enterprise Linux rh-dotnet21-curl, rh-dotnet21-libcurl Red Hat Ceph Storage 2 curl, libcurl Red Hat Enterprise Linux 7 curl, libcurlaffected: no fix planned “Out of support scope”
-
Red Hat Software Collections httpd24-curl, httpd24-libcurlaffected: no fix available
-
Red Hat .NET Core on Red Hat Enterprise Linux ComputeNode (v. 7) rh-dotnet31-curl 7.61.1-22.el7_9, rh-dotnet31-libcurl 7.61.1-22.el7_9 Red Hat .NET Core on Red Hat Enterprise Linux Server (v. 7) rh-dotnet31-curl 7.61.1-22.el7_9, rh-dotnet31-libcurl 7.61.1-22.el7_9 Red Hat .NET Core on Red Hat Enterprise Linux Workstation (v. 7) rh-dotnet31-curl 7.61.1-22.el7_9, rh-dotnet31-libcurl 7.61.1-22.el7_9fixed: vendor fix RHSA-2022:1354
-
Red Hat Enterprise Linux BaseOS (v. 8) curl 7.61.1-18.el8_4.2, libcurl 7.61.1-18.el8_4.2, libcurl-minimal 7.61.1-18.el8_4.2fixed: vendor fix RHSA-2021:4059
-
Red Hat Enterprise Linux BaseOS EUS (v. 8.2) curl 7.61.1-12.el8_2.4, libcurl 7.61.1-12.el8_2.4, libcurl-minimal 7.61.1-12.el8_2.4fixed: vendor fix RHSA-2022:0635
-
Red Hat Enterprise Linux 6 curl, libcurl Red Hat Enterprise Linux 9 curl, libcurl, curl-minimal, libcurl-minimal Red Hat JBoss Core Services jbcs-httpd24-curl jbcs-httpd24-curlnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-23-348-10 updated cvss 5.9
Siemens SIMATIC S7-1500
-
Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) >= 3.1.0, < 3.1.5 Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) >= 3.1.0, < 3.1.5 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) >= 3.1.0, < 3.1.5 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) >= 3.1.0, < 3.1.5 Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) >= 3.1.0, < 3.1.5affected: fixed in V3.1.5, mitigation support.industry.siemens.com
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
cisa ICSA-22-069-09 updated cvss 5.9
Siemens SINEC INS
-
Siemens SINEC INS <V1.0.1.1affected: fixed in V1.0.1.1 support.industry.siemens.com
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
3.01% chance of exploitation in the next 30 days, higher than 87% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- hackerone.com https://hackerone.com/reports/1334763 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N |
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:P/A:N |
| OSV | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| julia | LibCURL_jll | <7.81.0+0 |
7.81.0+0 |
Affected products
- n/a https://github.com/curl/curl
- 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
Classification
- Weakness
- Technology feeds
References
-
oracle.com
/security-alerts/cpuoct2021.html
patch, third-party-advisory, web
-
oracle.com
/security-alerts/cpujan2022.html
patch, third-party-advisory, web
-
oracle.com
/security-alerts/cpuapr2022.html
patch, third-party-advisory, web
-
cert-portal.siemens.com
/productcert/pdf/ssa-389290.pdf
patch, third-party-advisory, web
-
oracle.com
/security-alerts/cpujul2022.html
patch, third-party-advisory, web
-
hackerone.com
/reports/1334763
exploit, issue-tracking, third-party-advisory, web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/RWLEC6YVEM2HWUBX67SDGPSY4CQB72OE/
vendor-advisory, mailing-list, third-party-advisory, web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/APOAK4X73EJTAPTSVT7IRVDMUWVXNWGD/
vendor-advisory, mailing-list, third-party-advisory, web
-
debian.org
/security/2022/dsa-5197
vendor-advisory, third-party-advisory, web
-
security.gentoo.org
/glsa/202212-01
vendor-advisory, third-party-advisory, web
-
lists.debian.org
/debian-lts-announce/2021/09/msg00022.html
mailing-list, third-party-advisory, web
-
security.netapp.com
/advisory/ntap-20211029-0003/
third-party-advisory, web
-
seclists.org
/fulldisclosure/2022/Mar/29
mailing-list, third-party-advisory, web
-
support.apple.com
/kb/HT213183
release-notes, third-party-advisory, web
-
lists.debian.org
/debian-lts-announce/2022/08/msg00017.html
mailing-list, third-party-advisory, web
- cert-portal.siemens.com /productcert/html/ssa-389290.html
- cert-portal.siemens.com /productcert/html/ssa-398330.html
Sources
- CVE List CVE-2021-22947
- NVD CVE-2021-22947
- OSV JLSEC-2026-1340
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.