Skip to main content
CVE-2021-22945VulnerabilityPublished Updated

CVE-2021-22945: https://github.com/curl/curl · Double Free

Affects https://github.com/curl/curlSource CVE Database V5

0

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

CVSS 3.1 base score
9.1Critical
How severe the flaw is on the 0–10 CVSS scale.
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:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 23 Sep 2021

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq 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

ProductAffectedFixed in
GitHubcurl/curlpkg:github/curl/curlOther threatsAffected
  • <7.73.0
  • <7.78.0
Fixed in
  • 7.73.0
  • 7.78.0

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

Community reviews

Loading reviews…