Action Pack (Rails) is widely used; unauthenticated file read and potential RCE across web apps can expose secrets and enable widespread compromise.
CVE-2026-66066
Unauthenticated image upload in Active Storage can leak secrets and enable RCE.
Is CVE-2026-66066 being exploited?
Not confirmed. CVE-2026-66066 does not appear in CISA's Known Exploited Vulnerabilities catalog, which records only exploitation that has been observed and reported publicly. That is evidence of absence of a report, not evidence the flaw is unattacked. EPSS currently estimates a 28% probability of exploitation in the next 30 days.
How severe is CVE-2026-66066?
CVE-2026-66066 is rated Critical with a CVSS score of 9.5. Severity describes how bad exploitation would be, not how likely it is: pair it with exploitation evidence before deciding what to patch first.
Is there a patch for CVE-2026-66066?
Yes. A fix has been recorded for CVE-2026-66066. The vendor advisory is the authority on the exact fixed version — apply it from there rather than from a summary.
What does CVE-2026-66066 affect?
CVE-2026-66066 affects Ruby on Rails Action Pack (Active Storage) < 7.2.3.2, Ruby on Rails Action Pack (Active Storage) < 8.0.5.1, Ruby on Rails Action Pack (Active Storage) < 8.1.3.1, Apps using libvips for image processing accepting untrusted uploads. Confirm the exact affected versions against the vendor advisory before deciding you are exposed.
What should I do about CVE-2026-66066?
Upgrade to 7.2.3.2 / 8.0.5.1 / 8.1.3.1 and block/validate untrusted image uploads.
Exploitation status reflects CISA's KEV catalog as we last synced it. Check the catalog directly.
Unauthenticated attacker can read arbitrary files (env, secrets) via crafted image uploads, enabling credential theft and potential remote code execution.
Immediate action required
- affected< 7.2.3.2
- affected>= 8.0.0.beta1 and < 8.0.5.1
- affected>= 8.1.0.beta1 and < 8.1.3.1
As published in the CVE Program record. A version outside these ranges is not a statement that it is unaffected — vendors sometimes understate a range, and distribution-backported builds carry upstream numbers that do not reflect what was patched into them.