Vulnerability in Rails
CVE-2026-126081
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.
Vulnerability class: Mass Assignment
Published .
CVSS v3 metric
CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N.
EPSS exploit prediction
No EPSS score from FIRST.org yet. New CVEs usually get one within a few days; no score means no signal yet, not low risk. How EPSS works.
Affected products
- Rails — versions < 8.0.5.2, >= 8.1, < 8.1.4.1
Weakness classification (CWE)
References
Frequently asked questions
- What is CVE-2026-126081?
- CVE-2026-126081 is a high-severity vulnerability in Rails, classified under Improperly Controlled Modification of Dynamically-Determined Object Attributes. CVSS score: 7.5/10. Published 2026-11-10.
- How severe is CVE-2026-126081?
- High severity. CVSS v3 base score is 7.5 out of 10.