Skip to content
Fencer Vulns
critical 9.8

CVE-2021-33564 in the critical feed json

Dragonfly contains remote code execution vulnerability

published 2021-05-29 5 y ago modified 2026-06-17 4 mo ago also GHSA-j858-xp5v-f8xx , EUVD-2021-1341

cvss
9.8
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
72.1%
EPSS 72.1% chance of exploitation in 30 days, percentile 99.4%
public exploits
0
none known, plus a Nuclei check

Summary

An argument injection vulnerability in the Dragonfly gem before 1.4.0 for Ruby allows remote attackers to read and write to arbitrary files via a crafted URL when the verify_url option is disabled. This may lead to code execution. The problem occurs because the generate and process features mishandle use of the ImageMagick convert utility.

Patch / fix

  • rubygems dragonfly 1.4.0
  • dragonfly_project dragonfly 1.4.0

Exploit prediction

72.14% chance of exploitation in the next 30 days, higher than 99.4% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • Nuclei template Ruby Dragonfly <1.4.0 - Remote Code Execution nuclei detection template
  • raw.githubusercontent.com https://raw.githubusercontent.com/projectdiscovery/nuclei-templates/master/cves/2021/CVE-2021-33564.yaml referenced PoC, tagged "exploit" by a source, unverified
  • github.com https://github.com/mlr0p/CVE-2021-33564 referenced PoC, tagged "exploit" by a source, unverified
  • zxsecurity.co.nz https://zxsecurity.co.nz/research/argunment-injection-ruby-dragonfly/ referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD 2.0 6.8 AV:N/AC:M/Au:N/C:P/I:P/A:P
GitHub 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
rubygems dragonfly
<1.4.0
1.4.0

Classification

Weakness
  • CWE-88 Improper Neutralization of Argument Delimiters in a Command
  • CWE-94 Improper Control of Generation of Code

References

Sources

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.