Wheels nested form updates can modify another parent's records
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
Wheels from 1.1.0 before 4.2.0 resolves nestedProperties() records by posted primary key without checking that they belong to the parent being saved. A user who can submit a nested form for their own parent can change another parent's hasMany or hasOne rows, reassigning them or deleting them when allowDelete=true. Nested belongsTo records can also be edited by posting another associated record's key.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
Wheels 1.1 through 4.1.2 resolves nestedProperties() records by posted primary key without checking that they belong to the parent being saved. A user able to submit a nested form for their own parent can update and reassign another parent's hasMany or hasOne rows, or delete them when allowDelete=true. Nested belongsTo records can also be edited by posting another associated record's key. New child rows with composite primary keys not made up of foreign keys retain posted key values, allowing the request to choose their identity. This is fixed in 4.2.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Update Wheels to 4.2.0, the fixed version.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA Wheels (Wheels) Fixed in 4.2.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Wheels 4.2.0
6 records Highest priority Priority MEDIUM 2 MEDIUM, 4 LOW
Other records, highest priority first
- TI-2026-75147 Wheels exposes unprotected development tools to remote clientsPriority MEDIUM 43
- TI-2026-75145 SQL injection in Wheels on MySQL and MariaDB via unbound literalsPriority MEDIUM 43
- TI-2026-75146 Wheels findByKey() and exists(key=) ignore scope conditionsPriority LOW 37
Timeline
- 2026-10-16 Threatist record created from CVE-2026-111447
- 2026-10-16 Priority changed: MEDIUM → LOW
- 2026-10-16 Alias added: GHSA-3qfm-8v6g-jr47
- 2026-10-21 CISA SSVC decision points changed
References
More Wheels vulnerabilities
- TI-2026-74581 SQL injection in Wheels query builder and dynamic finders CVSS 3.1CRITICAL 9.8
- TI-2026-75147 Wheels exposes unprotected development tools to remote clients CVSS 3.1HIGH 8.6
- TI-2026-75145 SQL injection in Wheels on MySQL and MariaDB via unbound literals CVSS 3.1CRITICAL 9.8
- TI-2026-75146 Wheels findByKey() and exists(key=) ignore scope conditions CVSS 3.1HIGH 8.1
- TI-2026-75152 Command injection and unsafe file handling in Wheels CLI CVSS 3.1HIGH 7.8
- TI-2026-75144 Wheels lets unauthenticated clients enter a separate test context CVSS 3.1MEDIUM 6.5
Sources
- CVE-2026-111447 · CVE Program
- CVE-2026-111447 · NVD
- FIRST EPSS
- GHSA-3qfm-8v6g-jr47 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences