Summary
CVE-2026-55810 is a critical PHP Object Injection vulnerability in the Drupal contributed module Plotly.js Graphing, affecting all versions prior to 3.0.2. Disclosed via Drupal Security Advisory SA-CONTRIB-2026-050 on June 17, 2026, the flaw carries a CVSS v3.1 score of 9.8 (Critical) and can lead to Remote Code Execution depending on PHP gadget chains available in the target environment.
Technical details
- Root cause: The Plotly.js Graphing module stores field data as PHP-serialized strings. Under certain conditions, an attacker can write malicious serialized data directly to a
plotly_js_graphfield; when the stored data is later unserialized by the application, it triggers PHP Object Injection. - Trigger conditions: Two prerequisites must be met: (1) the attacker must have the ability to edit a content entity with an attached
plotly_js_graphfield; and (2) either the Drupal JSON:API module must be enabled with the non-default "Accept all JSON:API create, read, update, and delete operations" setting, or the attacker has an alternative direct means of writing field values. - Attack vector: Network-accessible; exploitation is rated unauthenticated per the NVD CVSS scoring, though the Drupal advisory notes that edit-level permissions on relevant content entities are a practical prerequisite.
- Impact: Successful exploitation results in PHP Object Injection, which — depending on available PHP gadget chains in the Drupal installation — can escalate to full Remote Code Execution, with complete confidentiality, integrity, and availability impact.
Affected software
- Drupal Plotly.js Graphing module — all versions prior to 3.0.2
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector string:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: Upgrade the Plotly.js Graphing module to version 3.0.2 or later (versions 4.0.0 and 5.0.0 are also available as current supported releases).
- If immediate patching is not feasible:
- Audit whether the Drupal JSON:API module is enabled with the "Accept all JSON:API create, read, update, and delete operations" option; if so, disable or restrict this setting.
- Restrict edit permissions on all content entities that include a
plotly_js_graphfield to trusted, authenticated users only. - Review and limit access to content editing endpoints at the network layer where possible.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

