An arbitrary method execution vulnerability has been found which 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.
If upgrading to v1.10.2 is not immediately possible, consider one or more of the following mitigations:
{
"nvd_published_at": "2026-03-24T00:16:30Z",
"severity": "CRITICAL",
"github_reviewed": true,
"cwe_ids": [
"CWE-913"
],
"github_reviewed_at": "2026-03-20T15:58:14Z"
}