DEV Community

Manu Shukla
Manu Shukla

Posted on Originally published at ecorpit.com

Ruby on Rails development company: Rails 7.2 security support ended 9 August 2026

Ruby on Rails development company: Rails 7.2 security support ended 9 August 2026

Summary. Security support for Rails 7.2.x ended on 9 August 2026, a date the Rails team published on 29 October 2025 and did not move. The last patch that line will ever receive was 7.2.3.2, shipped on 29 July 2026 to fix CVE-2026-66066, an arbitrary file read and remote code execution in Active Storage variant processing. That gives Rails 7.2 applications exactly 11 days of cover before the branch went dark. Underneath, Ruby 3.2 reached end-of-life on 1 April 2026 according to the Ruby maintenance branches page, and Ruby 3.3 left normal maintenance on the same day. A large share of the Rails estates we are asked to look at sit on both, which means neither layer is receiving fixes. For an Indian data fiduciary that matters commercially as well as technically: under the Schedule to the Digital Personal Data Protection Act, 2023, failure to notify the Data Protection Board or affected Data Principals of a personal data breach carries a penalty that may extend to ₹200 crore. eCorpIT, founded in 2021 in Gurugram, audits Rails estates, dates the upgrade order and then keeps the application on a supported branch.

The dual end-of-life problem, with the actual dates

Rails and Ruby run on separate clocks that happen to have converged in 2026. Rails minor releases receive bug fixes for one year after the first release in the series and security fixes for two years, per the maintenance policy published in the Rails guides. Ruby branches move from normal maintenance to security maintenance to end-of-life on an annual December-to-April rhythm.

Here is where every currently relevant version sits as of 18 August 2026.

Version Status Key date
Rails 8.1.x Bug fixes and security fixes Bug fixes to 10 October 2026, security to 10 October 2027
Rails 8.0.x Security fixes only Bug fixes ended 7 May 2026, security to 7 November 2026
Rails 7.2.x End of life Security support ended 9 August 2026
Rails 7.1.x End of life Final release 7.1.6, announced 29 October 2025
Rails 7.0.x End of life Final release 7.0.10, announced 29 October 2025
Ruby 4.0 Normal maintenance Released 25 December 2025
Ruby 3.4 Normal maintenance Released 25 December 2024
Ruby 3.3 Security maintenance Normal maintenance ended 1 April 2026, EOL expected 31 March 2027
Ruby 3.2 End of life 1 April 2026

Two of those rows deserve a second look. Rails 8.0's bug-fix window was extended by six months, from 7 November 2025 to 7 May 2026, because Rails 8.1 shipped more than six months after Rails 8.0 and the policy extends support when no release lands within a year. Teams that planned around the original date got a reprieve they may not know about. That reprieve has now expired, and Rails 8.0 is security-only until 7 November 2026.

The other is Rails 7.2. A team upgrading today from 7.1 to "at least the 7.2 series", which is what the July security post recommended, would land on a branch that stopped receiving security fixes eleven days later. The correct target is 8.1.

What the last Rails 7.2 patch actually fixed

CVE-2026-66066 is worth reading closely, because it shows why a version-number policy is not the same thing as a patching policy.

Rails 7.2.3.2, 8.0.5.1 and 8.1.3.1 were released together on 29 July 2026. Rafael França, posting the release on rubyonrails.org for the Rails team, described it plainly: "These are security patches addressing 1 security issues: A possible arbitrary file read and remote code execution in Active Storage variant processing." The post adds: "Older versions of Rails are unsupported, and users are recommended to upgrade to at least the 7.2 series."

Any application that accepts user-uploaded images and generates variants was in scope. That is most consumer-facing Rails applications and a large share of internal admin tools. The fix works by disabling untrusted image loaders at boot, which means the remediation is not confined to a bundle update. It reaches into the image-processing library underneath the application, and applications handling less common formats can find variant generation stops working after the patch.

This is the pattern we see across Rails estates. The framework patch is the easy part. The dependency the patch relies on, the system package it comes from, and the container image that pins that package are where the work sits. A Rails upgrade project that only counts gem versions has counted the wrong thing.

What we build and maintain in Rails

Rails still earns its place on a specific shape of product: a database-backed application with substantial server-rendered surface, a real admin interface, background jobs, and a team small enough that convention beats configuration. Rails 8.1, released in October 2025, leaned further into that with Active Job continuations, structured event reporting and a local CI declaration in config/ci.rb run by bin/ci.

The work we take on falls into three shapes.

New Rails builds, which we start on the current bug-fix-supported version rather than the newest tag, so the application has a full year of bug-fix cover in front of it rather than a few months.

Version upgrades of an inherited estate, which is most of our Rails work. These are sequenced one minor release at a time using the official upgrading guide, with the Ruby floor moved first where the target Rails version requires it.

Long-run maintenance for applications that are working and profitable and do not need rewriting. A Rails 8.1 application that receives its security patches inside a week is a low-risk asset. The same application two years unpatched is a liability with revenue attached to it.

Where a Rails application is the transactional core of a subscription product, we deliver it alongside our SaaS development company work; where it is a storefront, alongside our ecommerce app development company work; and the whole engagement sits under one software development company in India contract.

How we run a Rails engagement

Five steps. The first two produce a document, not a commit.

  1. Estate audit. We record the Rails version and patch level, the Ruby version and its branch status, the Gemfile.lock in full, the system packages that gem-level fixes depend on, and where user uploads enter the system. The output is a dated upgrade order naming the end-of-life dates each service has already passed.
  2. Test-coverage baseline. Rails upgrades are only as safe as the suite that verifies them. Where coverage is thin around the paths a version bump touches, we write those tests before touching a version, and we say so in the estimate rather than discovering it midway.
  3. Ruby first, then Rails. Where the target Rails version requires a newer Ruby, the interpreter moves first as an isolated change, because a combined Ruby and Rails jump makes a failure impossible to attribute. Ruby 3.2 applications move to a branch still under normal maintenance.
  4. One minor version at a time. We follow the official Rails upgrading guide, resolve deprecation warnings at each step rather than at the end, and keep the application deployable throughout. A branch that cannot ship for six weeks is a branch that will be abandoned.
  5. Patch retainer. Rails security releases arrive without warning and are cut from the last security release branch, which the maintenance policy notes makes them easy to apply if you are already on the latest version of your series. That is only true if somebody is watching. We watch, apply and report.

The stack, and the honest caveats

We run Rails on PostgreSQL by default and MySQL where an estate already uses it. Background work goes through Active Job. Uploads go through Active Storage, which after CVE-2026-66066 we treat as a security-relevant surface rather than a convenience, with the image-processing dependency version pinned and checked at boot.

Two caveats we give clients before they sign anything. Rails is not the right answer for a service whose main job is high-concurrency streaming or CPU-bound numerical work; that belongs with a different runtime, and we would deliver it as a separate service in Go or Python rather than forcing it into the monolith. And a Rails estate five or more years behind is sometimes cheaper to strangle incrementally than to upgrade in place. We say which one applies after the audit, not before.

For teams weighing Rails against a PHP framework for the same application shape, our Laravel development company page covers the equivalent maintenance clock on that side.

India-specific considerations

Two heads of penalty in the Schedule to the Digital Personal Data Protection Act, 2023, as in force on 19 November 2025, apply directly to an unpatched Rails application.

The first is breach in observing the obligation to take reasonable security safeguards to prevent a personal data breach under section 8(5), which may extend to ₹250 crore. The second is breach in observing the obligation to give the Board or affected Data Principals notice of a personal data breach under section 8(6), which may extend to ₹200 crore. Additional obligations of a Significant Data Fiduciary under section 10 carry up to ₹150 crore, and any other breach up to ₹50 crore.

An arbitrary file read and remote code execution in a component that handles user uploads is precisely the class of defect those provisions contemplate. A published fix, ignored for months, on a framework branch the vendor has declared end-of-life, is a difficult position to explain to a board after the fact. We design applications aligned with DPDP requirements and keep upgrade evidence, meaning the version, the patch date and the engineer who applied it, in a form that survives an audit question.

Who this is for, and how we engage

This is for product and engineering leaders who own a Rails application that already makes money, and who have realised the maintenance clock is running whether or not anyone is looking at it. It is also for teams inheriting a Rails codebase after an acquisition or a founding engineer's departure, where nobody currently knows what version anything is on.

We work in three shapes. A paid estate audit as a standalone first phase, priced separately so the upgrade scope is set from evidence rather than optimism. A fixed-scope upgrade or build against that audit. A maintenance retainer covering security patches, the annual Ruby branch move and the Rails minor upgrade, with a named senior engineer and defined response hours.

Commercial terms follow team shape and coverage hours, and we quote after the audit rather than from a published rate card. eCorpIT is CMMI Level 5 appraised, ISO 27001:2022 certified and MSME registered, working from Sector 83, Gurugram since 2021 with senior-led, multi-disciplinary teams.

FAQ

How long is a Rails version supported?

Rails minor releases receive bug fixes for one year after the first release in the series and security fixes for two years, per the maintenance policy in the Rails guides. Rails aims to ship a feature release every six months, and extends support for the previous release when no release is made within one year.

Is Rails 7.2 still safe to run?

Security support for Rails 7.2.x ended on 9 August 2026, a date announced by the Rails team on 29 October 2025. Its final security release was 7.2.3.2 on 29 July 2026. No further fixes will be issued for that series, so any vulnerability found after that date remains open in 7.2 applications.

Which Rails version should we upgrade to now?

Rails 8.1.x, which receives bug fixes until 10 October 2026 and security fixes until 10 October 2027. Rails 8.0.x is security-only, with bug fixes having ended on 7 May 2026 and security fixes ending 7 November 2026, so it is a stopping point rather than a destination.

What was CVE-2026-66066?

A possible arbitrary file read and remote code execution in Active Storage variant processing, fixed in Rails 7.2.3.2, 8.0.5.1 and 8.1.3.1 on 29 July 2026. The Rails team recommended upgrading as soon as possible. Applications that accept user-uploaded images and generate variants were the affected surface.

Do we need to upgrade Ruby as well as Rails?

Usually yes. Ruby 3.2 reached end-of-life on 1 April 2026 and Ruby 3.3 moved from normal maintenance to security maintenance on the same date, with end-of-life expected 31 March 2027. Ruby 3.4 and Ruby 4.0, released on 25 December 2024 and 25 December 2025, are in normal maintenance.

Why upgrade Ruby before Rails rather than together?

A combined interpreter and framework jump makes a failure impossible to attribute to either change. We move Ruby as an isolated, deployable step, confirm the suite and production behaviour, and only then start the Rails sequence. It takes slightly longer and removes most of the rollback ambiguity.

What is the compliance exposure in India?

Under the Schedule to the Digital Personal Data Protection Act, 2023, failure to take reasonable security safeguards preventing a personal data breach may attract up to ₹250 crore, and failure to notify the Board or affected Data Principals under section 8(6) up to ₹200 crore. An unpatched remote code execution in an upload path is squarely within that.

Should we rewrite instead of upgrading?

Sometimes. An estate five or more years behind, with thin test coverage and heavy customisation, can cost more to upgrade in place than to replace service by service. We give that recommendation after the estate audit, with the comparison written down, rather than defaulting to whichever answer is easier to sell.

How eCorpIT can help

We audit your Rails and Ruby versions against the published end-of-life dates, write the upgrade order with the risks named per application, and then execute it one deployable step at a time. For applications already current, we run a patch retainer that tracks Rails security releases and the annual Ruby branch move so a fix like CVE-2026-66066 is applied in days rather than quarters. Our teams are senior-led and work from Gurugram, with CMMI Level 5, ISO 27001:2022 and MSME credentials behind the delivery process. Start with the audit: contact us with your Rails version, Ruby version and repository count.

References

  1. Maintenance Policy for Ruby on Rails, Ruby on Rails Guides: one year of bug fixes, two years of security fixes, six-month release aim, security releases cut from the last security branch.
  2. New Rails Releases and End of Support Announcement, rubyonrails.org, 29 October 2025: Rails 7.0 and 7.1 end-of-life, the Rails 8.0 six-month extension, and the supported-until dates for 8.1.x, 8.0.x and 7.2.x.
  3. Rails Versions 7.2.3.2, 8.0.5.1, and 8.1.3.1 have been released!, rafaelfranca on rubyonrails.org, 29 July 2026: the CVE-2026-66066 security patches and the upgrade recommendation.
  4. CVE-2026-66066: Possible arbitrary file read and remote code execution in Active Storage variant processing, Rails Discuss: the advisory itself.
  5. Ruby Maintenance Branches, ruby-lang.org: Ruby 4.0, 3.4, 3.3, 3.2 and 3.1 status, release dates and end-of-life dates.
  6. Ruby Releases, ruby-lang.org: the full release list behind the branch statuses.
  7. Ruby on Rails Maintenance Policy, rubyonrails.org: the policy page the security posts link to.
  8. Rails Security Policy, rubyonrails.org: how Rails handles and announces security issues.
  9. Rails 8.1: Job continuations, structured events, local CI, rubyonrails.org, 22 October 2025: the Rails 8.1 feature announcement.
  10. Ruby on Rails 8.1 Release Notes, Ruby on Rails Guides: the detailed 8.1 changes.
  11. Upgrading Ruby on Rails, Ruby on Rails Guides: the official one-minor-version-at-a-time upgrade procedure.
  12. Rails 8.1.1 release, rails/rails on GitHub: the changelog for the 8.1 patch line.
  13. The Digital Personal Data Protection Act, 2023 (Act No. 22 of 2023), India Code: Schedule penalties of ₹250 crore, ₹200 crore, ₹150 crore and ₹50 crore.
  14. The Digital Personal Data Protection Act, 2023, Ministry of Electronics and Information Technology: the MeitY copy of the Act.

Last updated: 18 August 2026.

Top comments (0)