Skip to content
Heist/ feed
Back to feed
Medium

backpack/crud: HasMany/MorphMany relation fields allow cross-tenant record re-parenting (IDOR) via attachManyRelation

Type: advisorySources: OSV

backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. From 6.0.0 until 6.8.15 and 7.0.47, HasMany and MorphMany handling through attachManyRelation during CRUD create and update operations accepts submitted child primary keys without consistently restricting updates to records belonging to the current parent or permitted by the developer-defined relation scope. An authenticated low-privilege administrator who can edit a parent form exposing an affected multiple-relation field can cause unrelated child records to be reassigned, detached, nulled, or deleted across ownership or tenant boundaries. Exploitation requires related records that should not be attachable or removable by that administrator and the absence of additional application-level authorization around submitted relation values. This issue is distinct from earlier direct main-entity CRUD scoping fixes because it affects secondary models modified by relationship-saving logic. This issue is fixed in versions 6.8.15 and 7.0.47.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-57570
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 01:15 UTC · Revision 1

Source evidence

backpack/crud: HasMany/MorphMany relation fields allow cross-tenant record re-parenting (IDOR) via attachManyRelation

core-osv · Original source

Published 14 Sept 2026, 17:51 UTC

backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. From 6.0.0 until 6.8.15 and 7.0.47, HasMany and MorphMany handling through attachManyRelation during CRUD create and update operations accepts submitted child primary keys without consistently restricting updates to records belonging to the current parent or permitted by the developer-defined relation scope. An authenticated low-privilege administrator who can edit a parent form exposing an affected multiple-relation field can cause unrelated child records to be reassigned, detached, nulled, or deleted across ownership or tenant boundaries. Exploitation requires related records that should not be attachable or removable by that administrator and the absence of additional application-level authorization around submitted relation values. This issue is distinct from earlier direct main-entity CRUD scoping fixes because it affects secondary models modified by relationship-saving logic. This issue is fixed in versions 6.8.15 and 7.0.47.

osv:CVE-2026-57570
Complete source record
{
  "id": "02907034b3907023ed66807e70f7e89338c327992b9c00ddeffc23150a5723c0",
  "url": "https://osv.dev/vulnerability/CVE-2026-57570",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "backpack/crud: HasMany/MorphMany relation fields allow cross-tenant record re-parenting (IDOR) via attachManyRelation",
    "summary": "backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. From 6.0.0 until 6.8.15 and 7.0.47, HasMany and MorphMany handling through attachManyRelation during CRUD create and update operations accepts submitted child primary keys without consistently restricting updates to records belonging to the current parent or permitted by the developer-defined relation scope. An authenticated low-privilege administrator who can edit a parent form exposing an affected multiple-relation field can cause unrelated child records to be reassigned, detached, nulled, or deleted across ownership or tenant boundaries. Exploitation requires related records that should not be attachable or removable by that administrator and the absence of additional application-level authorization around submitted relation values. This issue is distinct from earlier direct main-entity CRUD scoping fixes because it affects secondary models modified by relationship-saving logic. This issue is fixed in versions 6.8.15 and 7.0.47.",
    "evidence": "osv:CVE-2026-57570",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-57570",
      "aliases": [
        "CVE-2026-57570",
        "GHSA-42vx-43vc-x6pr"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/laravel-backpack/crud",
              "type": "GIT",
              "events": [
                {
                  "introduced": "56c091f2099b6e17a37034e76a1da65f9052e842"
                },
                {
                  "fixed": "24cfd2f61f3b162c7bfd572368bc1b05c5f1fa75"
                },
                {
                  "introduced": "9abc482607aaaefcd6ee2455bc0a6e603cc1b69f"
                },
                {
                  "fixed": "045ac00532aebbd2ddcad260ba86f980f000a800"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "6.0.0"
                      },
                      {
                        "fixed": "6.8.15"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "7.0.0"
                      },
                      {
                        "fixed": "7.0.47"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "045ac00532aebbd2ddcad260ba86f980f000a800"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "24cfd2f61f3b162c7bfd572368bc1b05c5f1fa75"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "24cfd2f61f3b162c7bfd572368bc1b05c5f1fa75"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "6.8.15"
                  },
                  {
                    "range": [
                      {
                        "fixed": "045ac00532aebbd2ddcad260ba86f980f000a800"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "7.0.47"
                  }
                ]
              }
            }
          ],
          "versions": [
            "6.8.14",
            "7.0.46",
            "7.0.45",
            "7.0.44",
            "7.0.43",
            "7.0.42",
            "7.0.41",
            "7.0.40",
            "7.0.39",
            "7.0.38",
            "6.8.13",
            "7.0.37",
            "7.0.36",
            "6.8.12",
            "7.0.35",
            "7.0.34",
            "6.8.11",
            "7.0.33",
            "7.0.32",
            "7.0.31",
            "7.0.30",
            "6.8.10",
            "7.0.29",
            "7.0.28",
            "7.0.27",
            "7.0.26",
            "7.0.25",
            "7.0.24",
            "7.0.23",
            "7.0.22",
            "7.0.21",
            "6.8.9",
            "7.0.20",
            "7.0.19",
            "7.0.18",
            "7.0.17",
            "7.0.16",
            "7.0.15",
            "7.0.14",
            "7.0.13",
            "7.0.12",
            "7.0.11",
            "7.0.10",
            "7.0.9",
            "7.0.8",
            "7.0.7",
            "7.0.6",
            "7.0.5",
            "7.0.4",
            "7.0.3",
            "7.0.2",
            "7.0.1",
            "7.0.0",
            "6.8.8",
            "6.8.7",
            "6.8.6",
            "6.8.5",
            "6.8.4",
            "6.8.3",
            "6.8.2",
            "6.8.1",
            "7.0.0-alpha.2",
            "6.8.0",
            "6.7.56",
            "6.7.55",
            "6.7.54",
            "6.7.53",
            "6.7.52",
            "6.7.51",
            "6.7.50",
            "6.7.49",
            "6.7.48",
            "6.7.47",
            "6.7.46",
            "6.7.45",
            "6.7.44",
            "6.7.43",
            "6.7.42",
            "6.7.41",
            "6.7.40",
            "6.7.39",
            "6.7.38",
            "6.7.37",
            "6.7.36",
            "6.7.35",
            "6.7.34",
            "6.7.33",
            "6.7.32",
            "6.7.31",
            "6.7.30",
            "6.7.29",
            "6.7.28",
            "6.7.26",
            "6.7.27",
            "6.7.25",
            "6.7.24",
            "6.7.23",
            "6.7.22",
            "6.7.21",
            "6.7.20",
            "6.7.19",
            "6.7.18",
            "6.7.17",
            "6.7.16",
            "6.7.15",
            "6.7.14",
            "6.7.13",
            "6.7.12",
            "6.7.11",
            "6.7.10",
            "6.7.9",
            "6.7.8",
            "6.7.7",
            "6.7.6",
            "6.7.5",
            "6.7.4",
            "6.7.3",
            "6.7.2",
            "6.7.1",
            "6.7.0",
            "6.6.6",
            "6.6.5",
            "6.6.4",
            "6.6.3",
            "6.6.2",
            "6.6.1",
            "6.6.0",
            "6.5.5",
            "6.5.4",
            "6.5.3",
            "6.5.2",
            "6.5.1",
            "6.5.0",
            "6.4.2",
            "6.4.1",
            "6.4.0",
            "6.3.2",
            "6.3.1",
            "6.3.0",
            "6.2.4",
            "6.2.3",
            "6.2.1",
            "6.2.2",
            "6.2.0",
            "6.1.16",
            "6.1.15",
            "6.1.14",
            "6.1.13",
            "6.1.12",
            "6.1.11",
            "6.1.10",
            "6.1.9",
            "6.1.8",
            "6.1.7",
            "6.1.6",
            "6.1.5",
            "6.1.4",
            "6.1.3",
            "6.1.2",
            "6.1.1",
            "6.1.0",
            "6.0.7",
            "6.0.6",
            "6.0.5",
            "6.0.4",
            "6.0.3",
            "6.0.2",
            "6.0.0",
            "6.0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-57570.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.791561769Z",
      "provider": "osv",
      "references": [
        "https://github.com/Laravel-Backpack/CRUD/releases/tag/6.8.15",
        "https://github.com/Laravel-Backpack/CRUD/releases/tag/7.0.47",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/57xxx/CVE-2026-57570.json",
        "https://github.com/Laravel-Backpack/CRUD/security/advisories/GHSA-42vx-43vc-x6pr",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-57570",
        "https://github.com/Laravel-Backpack/CRUD/commit/045ac00532aebbd2ddcad260ba86f980f000a800",
        "https://github.com/Laravel-Backpack/CRUD/commit/24cfd2f61f3b162c7bfd572368bc1b05c5f1fa75",
        "https://github.com/Laravel-Backpack/CRUD/pull/6021",
        "https://github.com/Laravel-Backpack/CRUD/pull/6022"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-862"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/57xxx/CVE-2026-57570.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-57570",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 491501,
  "published_at": "2026-09-14T17:51:07.852+00:00"
}