---
id: CVE-2026-66066
title: Action Pack is a framework for handling and responding to web requests
summary: >-
  Action Pack is a framework for handling and responding to web requests. In
  versions prior to 7.2.3.2, 8.0.5.1 and 8.1.3.1, Active Storage does not
  disable libvips operations marked unsafe for untrusted content, allowing a
  crafted upload …
severity: critical
cwe:
  - CWE-1188
vendor: activestorage
product: activestorage
affected:
  - activestorage < 7.2.3.2
  - 'activestorage >= 8.0.0.beta1, < 8.0.5.1'
  - 'activestorage >= 8.1.0.beta1, < 8.1.3.1'
patched:
  - activestorage 7.2.3.2
  - activestorage 8.0.5.1
  - activestorage 8.1.3.1
published: '2026-07-30'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T20:36:14.340'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-66066'
references:
  - url: >-
      https://github.com/rails/rails/commit/1c01bb587206ee6eb0e1179c2cef96a6a47acb1e
    label: security-advisories@github.com
  - url: >-
      https://github.com/rails/rails/commit/349e7a5d5b4b715af1e416db824f3c078a7d59e5
    label: security-advisories@github.com
  - url: >-
      https://github.com/rails/rails/commit/d79b7f4aa17dec8ce4960fef05733c8c0c7ef49a
    label: security-advisories@github.com
  - url: 'https://github.com/rails/rails/releases/tag/v7.2.3.2'
    label: security-advisories@github.com
  - url: 'https://github.com/rails/rails/releases/tag/v8.0.5.1'
    label: security-advisories@github.com
  - url: 'https://github.com/rails/rails/releases/tag/v8.1.3.1'
    label: security-advisories@github.com
  - url: 'https://github.com/rails/rails/security/advisories/GHSA-xr9x-r78c-5hrm'
    label: security-advisories@github.com
  - url: >-
      https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activestorage/CVE-2026-66066.yml
    label: security-advisories@github.com
  - url: 'https://thehackernews.com/2026/07/critical-rails-flaw-could-let.html'
    label: security-advisories@github.com
  - url: 'http://www.openwall.com/lists/oss-security/2026/07/29/9'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'http://www.openwall.com/lists/oss-security/2026/08/01/6'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://ethiack.com/info-hub/research/kindarails2shell-rails-rce-cve-2026-66066
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://github.com/rails/rails-forensics-CVE-2026-66066'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: 'https://www.cve.org/CVERecord/SearchResults?query=CVE-2026-66066'
  - url: 'https://github.com/advisories/GHSA-xr9x-r78c-5hrm'
tags:
  - nvd
  - exploit-available
  - ghsa
  - rubygems
epss: 0.27861
epssPercentile: 0.98058
exploits:
  github: 7
  githubRepos:
    - 'https://github.com/rails/rails-forensics-CVE-2026-66066'
    - 'https://github.com/Zer0SumGam3/CVE-2026-66066-POC'
    - 'https://github.com/0xsha/KindaRails2Shell'
  metasploit:
    - exploit/multi/http/rails_activestorage_vips_rce
  checkedAt: '2026-09-21T15:30:10.509Z'
exploitAvailable: true
aliases:
  - GHSA-xr9x-r78c-5hrm
ecosystem: rubygems
ingestedAt: '2026-07-30T18:55:15.116Z'
---

## Overview

Action Pack is a framework for handling and responding to web requests. In versions prior to 7.2.3.2, 8.0.5.1 and 8.1.3.1, Active Storage does not disable libvips operations marked unsafe for untrusted content, allowing a crafted upload to invoke such an operation. Consuming applications are affected when configured to use libvips and accept image uploads from untrusted users. An unauthenticated attacker may exploit this behavior to read arbitrary files accessible to the Rails process, including environment variables and application secrets. Exposure of credentials such as secret_key_base or external-service tokens may enable remote code execution or lateral movement. This issue has been fixed in versions 7.2.3.2, 8.0.5.1 and 8.1.3.1.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-66066)

Affected packages:

- `activestorage < 7.2.3.2`
- `activestorage >= 8.0.0.beta1, < 8.0.5.1`
- `activestorage >= 8.1.0.beta1, < 8.1.3.1`

Patched in:

- `activestorage 7.2.3.2`
- `activestorage 8.0.5.1`
- `activestorage 8.1.3.1`

Source: https://github.com/advisories/GHSA-xr9x-r78c-5hrm
