Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: CVE-2026-111447

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-111447
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 02:36 UTC · Revision 1

Source evidence

CVE-2026-111447

core-osv · Original source

Published 16 Oct 2026, 03:39 UTC

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.

osv:CVE-2026-111447
Complete source record
{
  "id": "44645723e6ea6084b1a3dc0075ff4ad88f8af8628bd197cee19e257b684e568b",
  "url": "https://osv.dev/vulnerability/CVE-2026-111447",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2026-111447",
    "summary": "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.",
    "evidence": "osv:CVE-2026-111447",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-111447",
      "aliases": [
        "CVE-2026-111447",
        "GHSA-6979-65wv-7pxq"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/wheels-dev/wheels",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "0e589def0922a3f0643cfd17c4ea5fdd8c41b9a6"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "1.1.0"
                      },
                      {
                        "fixed": "4.2.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.1.2",
            "v4.1.1",
            "v4.1.0",
            "v4.0.6",
            "v4.0.5",
            "v4.0.4",
            "v4.0.3",
            "v4.0.2",
            "v2.5.1",
            "v2.5.0",
            "v2.4.0+1",
            "v2.4.0",
            "v2.3.0+2",
            "v2.3.0+1",
            "v2.3.0",
            "2.3.0-rc.1+2",
            "2.3.0-rc.1",
            "v2.2.0",
            "v2.1.0-beta",
            "v2.0.1",
            "v2.0.0",
            "v2.0.0-rc.1",
            "v2.0.0-beta.1",
            "v1.4.3",
            "v1.4.1",
            "v1.4"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-111447.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:52.893345257Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/111xxx/CVE-2026-111447.json",
        "https://github.com/wheels-dev/wheels/security/advisories/GHSA-6979-65wv-7pxq",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-111447",
        "https://github.com/wheels-dev/wheels"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-472"
        ],
        "cna_assigner": "mitre",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/111xxx/CVE-2026-111447.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-111447",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 521844,
  "published_at": "2026-10-16T03:39:51.368+00:00"
}