Graphiti Arbitrary Method Execution Vulnerability in JSONAPI Write Functionality

Vulnerability

A vulnerability allowing arbitrary method execution has been identified in Graphiti versions prior to 1.10.2. This issue affects the framework's JSONAPI write functionality, where an attacker can manipulate relationship names in a crafted JSONAPI payload to invoke any public method on the associated model instance, its class, or related instances or classes. The vulnerability arises because the 'Graphiti::Util::ValidationResponse#all_valid?' method directly uses user-supplied relationship names without proper validation, potentially leading to the execution of destructive operations. Applications that expose Graphiti write endpoints to untrusted users are vulnerable.

Impact

Exploitation of this vulnerability allows attackers to execute arbitrary public methods on model instances, classes, or their associations, including destructive operations.

Reproduction

To reproduce this vulnerability, send a JSONAPI payload to a Graphiti write endpoint (such as create, update, or delete) that includes arbitrary relationship names. The 'Graphiti::Util::ValidationResponse#all_valid?' method will process these names without validation, allowing the invocation of any public method on the targeted model or its associations.

Remediation

Upgrade Graphiti to version 1.10.2 or later. If an immediate upgrade is not possible, restrict write access to trusted users and apply strong authentication and authorization checks before processing any write operations.

Added: Mar 24, 2026, 12:23 AM
Updated: Mar 24, 2026, 12:23 AM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
7.5
exploitability
8.0
remediation
0.0
relevance
4.6
threat
4.8
urgency
2.9
incentive
4.2

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.