CVE-2026-33286

Source
https://cve.org/CVERecord?id=CVE-2026-33286
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33286.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-33286
Aliases
Published
2026-03-23T23:52:30.381Z
Modified
2026-04-02T13:27:22.376356Z
Severity
  • 9.1 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H CVSS Calculator
Summary
Graphiti Affected by Arbitrary Method Execution via Unvalidated Relationship Names
Details

Graphiti is a framework that sits on top of models and exposes them via a JSON:API-compliant interface. Versions prior to 1.10.2 have an arbitrary method execution vulnerability that affects Graphiti's JSONAPI write functionality. An attacker can craft a malicious JSONAPI payload with arbitrary relationship names to invoke any public method on the underlying model instance, class or its associations. Any application exposing Graphiti write endpoints (create/update/delete) to untrusted users is affected. The Graphiti::Util::ValidationResponse#all_valid? method recursively calls model.send(name) using relationship names taken directly from user-supplied JSONAPI payloads, without validating them against the resource's configured sideloads. This allows an attacker to potentially run any public method on a given model instance, on the instance class or associated instances or classes, including destructive operations. This is patched in Graphiti v1.10.2. Users should upgrade as soon as possible. Some workarounds are available. Ensure Graphiti write endpoints (create/update) are not accessible to untrusted users and/or apply strong authentication and authorization checks before any write operation is processed, for example use Rails strong parameters to ensure only valid parameters are processed.

Database specific
{
    "cwe_ids": [
        "CWE-913"
    ],
    "cna_assigner": "GitHub_M",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33286.json"
}
References

Affected packages

Git / github.com/graphiti-api/graphiti

Affected ranges

Type
GIT
Repo
https://github.com/graphiti-api/graphiti
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "versions": [
        {
            "introduced": "0"
        },
        {
            "fixed": "1.10.2"
        }
    ]
}

Affected versions

1.*
1.0.0
1.0.alpha.4
1.0.rc.2
1.0.rc.20
1.0.rc.21
1.0.rc.25
1.0.rc.28
1.1.0
1.2.42
v1.*
v1.0.1
v1.0.2
v1.0.3
v1.0.4
v1.0.rc.26
v1.0.rc.27
v1.1.0
v1.10.0
v1.10.1
v1.2.0
v1.2.10
v1.2.12
v1.2.13
v1.2.14
v1.2.15
v1.2.16
v1.2.17
v1.2.18
v1.2.19
v1.2.2
v1.2.20
v1.2.21
v1.2.22
v1.2.23
v1.2.24
v1.2.25
v1.2.3
v1.2.34
v1.2.35
v1.2.38
v1.2.39
v1.2.4
v1.2.40
v1.2.41
v1.2.43
v1.2.44
v1.2.5
v1.2.6
v1.2.9
v1.3.6
v1.3.9
v1.4.0
v1.5.0
v1.5.1
v1.5.2
v1.5.3
v1.6.0
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v1.7.0
v1.7.1
v1.7.2
v1.7.3
v1.7.4
v1.7.5
v1.7.6
v1.7.7
v1.7.8
v1.7.9
v1.8.0
v1.8.1
v1.8.2
v1.9.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33286.json"