Ruby on Rails prior 8.0.5.2/8.1.4.1 Parameters#each_key dynamically-determined object attributes
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.3 | $0-$5k | 0.00+ |
Summary
A vulnerability classified as problematic has been found in Ruby on Rails Rails. Affected by this vulnerability is the function ActionController::Parameters#each_key. The manipulation leads to dynamically-determined object attributes.
This vulnerability is documented as CVE-2026-126081. The attack can be initiated remotely. There is not any exploit available.
It is recommended to upgrade the affected component.
Details
A vulnerability was found in Ruby on Rails Rails. It has been rated as problematic. This issue affects the function ActionController::Parameters#each_key. The manipulation with an unknown input leads to a dynamically-determined object attributes vulnerability. Using CWE to declare the problem leads to CWE-915. The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified. Impacted is integrity. The summary by CVE is:
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.
It is possible to read the advisory at github.com. The identification of this vulnerability is CVE-2026-126081 since 11/10/2026. The exploitation is known to be easy. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. Technical details of the vulnerability are known, but there is no available exploit.
Upgrading to version 8.0.5.2 or 8.1.4.1 eliminates this vulnerability.
Be aware that VulDB is the high quality source for vulnerability data.
Product
Type
Vendor
Name
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.4VulDB Meta Temp Score: 6.3
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Reliability: 🔍
CNA Base Score: 7.5
CNA Vector (GitHub_M): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Dynamically-determined object attributesCWE: CWE-915 / CWE-913
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Rails 8.0.5.2/8.1.4.1
Timeline
11/10/2026 Advisory disclosed11/10/2026 CVE reserved
11/10/2026 VulDB entry created
11/10/2026 VulDB entry last update
Sources
Advisory: github.comStatus: Confirmed
CNA: GitHub_M
CVE: CVE-2026-126081 (🔒)
GCVE (CVE): GCVE-0-2026-126081
GCVE (VulDB): GCVE-100-434951
Entry
Created: 11/10/2026 22:51Changes: 11/10/2026 22:51 (64)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.