CVE-2021-22945: https://github.com/curl/curl · Double Free
Affects https://github.com/curl/curlSource CVE Database V5
Not known to be exploited · CVSS 9.1 Critical : upgrade to 7.78.0 or 7.73.0 as a priority.
Data as of 25 Oct 2026, 19:02 UTC
- EPSS
- 6.6% chance of exploitation in 30 days – higher than 93% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 7.78.0, 7.73.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 23 Sep 2021
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2026-10-25.
What to do
Upgrade curl/curl to 7.78.0 or 7.73.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
GitHubcurl/curlpkg:github/curl/curlOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
European organizations should take the following specific actions to mitigate CVE-2021-22945: 1) Inventory all software and devices that use libcurl, focusing on versions 7.73.0 through 7.78.0, especially those handling MQTT communications. 2) Upgrade libcurl to the latest stable version beyond 7.78.0 where the vulnerability is patched. 3) For embedded or third-party products that incorporate libcurl, coordinate with vendors to obtain patched versions or apply vendor-provided mitigations. 4) Implement network-level controls to monitor and restrict MQTT traffic to trusted sources, reducing exposure to malicious MQTT servers or crafted payloads. 5) Employ runtime protections such as memory corruption mitigations (e.g., ASLR, DEP) to reduce exploitation success. 6) Conduct targeted penetration testing and fuzzing on MQTT communication components to identify residual vulnerabilities. 7) Maintain robust incident detection capabilities to identify unusual crashes or memory corruption events that may indicate exploitation attempts. These steps go beyond generic patching advice by emphasizing supply chain awareness, network segmentation, and proactive detection tailored to MQTT and libcurl usage contexts.
Description
When sending data to an MQTT server, libcurl <= 7.73.0 and 7.78.0 could in some circumstances erroneously keep a pointer to an already freed memory area and both use that again in a subsequent call to send data and also free it *again*.
References
- hackerone.com/reports/1269242 (opens in a new tab)
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RWLEC6YVEM2HWUBX67SDGPSY4CQB72OE/ (opens in a new tab)
- oracle.com/security-alerts/cpuoct2021.html (opens in a new tab)
- security.netapp.com/advisory/ntap-20211029-0003/ (opens in a new tab)
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/APOAK4X73EJTAPTSVT7IRVDMUWVXNWGD/ (opens in a new tab)
- cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf (opens in a new tab)
- support.apple.com/kb/HT213183 (opens in a new tab)
- seclists.org/fulldisclosure/2022/Mar/29 (opens in a new tab)
- debian.org/security/2022/dsa-5197 (opens in a new tab)
- security.gentoo.org/glsa/202212-01 (opens in a new tab)