CVE-2026-126081
Description
Action Pack is a framework for handling and responding to web requests. Prior to 8.1.4.1 and 8.0.5.2, ActionController::Parameters#each_key delegates to the internal ActiveSupport::HashWithIndifferentAccess that holds the request parameters, so when called with a block it returns that hash instead of the Parameters instance. The hash does not respond to permitted?, so Active Model mass assignment (new, assign_attributes, update) accepts it without raising ActiveModel::ForbiddenAttributesError. An application that passes the return value of each_key to mass assignment could allow a remote, unauthenticated attacker to set attributes that the application does not permit, such as an authorization flag. This is an incomplete fix of CVE-2020-8164, which made each, each_pair and each_value return the Parameters instance but left each_key delegated. An application is affected if it passes the return value of ActionController::Parameters#each_key, called with a block, to mass assignment. Rails itself makes no such call. This issue is fixed in versions 8.1.4.1 and 8.0.5.2.
Affected products
2- Range: <8.1.4.1, <8.0.5.2
- Range: <8.1.4.1, <8.0.5.2
Patches
Vulnerability mechanics
References
5- github.com/rails/rails/commit/2fc8838300133931e19eed3ea6cee76a7e83f19cnvd
- github.com/rails/rails/commit/8ba746e0a786458c281060823f2ccc5c5f6312acnvd
- github.com/rails/rails/releases/tag/v8.0.5.2nvd
- github.com/rails/rails/releases/tag/v8.1.4.1nvd
- github.com/rails/rails/security/advisories/GHSA-wm3x-v3qw-4jh3nvd
News mentions
0No linked articles in our index yet.