Skip to main content
Vulnerability Database/CVE-2026-104070

CVE-2026-104070: SPIP Crayons Plugin Auth Bypass Vulnerability

CVE-2026-104070 is an authentication bypass flaw in SPIP Crayons plugin that lets unauthenticated attackers modify object fields and achieve PHP code execution. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-104070 Overview

CVE-2026-104070 is a missing authorization vulnerability [CWE-862] in the Crayons plugin for SPIP before version 3.5.0. The flaw resides in crayons_store.php, where omitting the secu_ anti-forgery parameter causes the authorization dispatcher to resolve an unconditionally-true handler instead of the intended modification check. Unauthenticated remote attackers can modify arbitrary editable object fields and chain the primitive into full remote code execution. By writing a malicious .html skeleton file, disclosing the site secret from configuration files, and forging a signed ajax context, an attacker executes arbitrary PHP as the web-server user.

Critical Impact

Unauthenticated remote code execution as the web-server user on SPIP sites running the vulnerable Crayons plugin.

Affected Products

  • SPIP Crayons plugin versions prior to 3.5.0
  • SPIP installations with the Crayons plugin enabled
  • Web applications relying on the Crayons secu_ dispatcher for inline editing authorization

Discovery Timeline

  • 2026-10-06 - CVE-2026-104070 published to NVD
  • 2026-10-06 - Last updated in NVD database

Technical Details for CVE-2026-104070

Vulnerability Analysis

The Crayons plugin provides inline editing for SPIP editorial objects through the crayons_store.php endpoint. The endpoint relies on an authorization dispatcher that selects a handler based on the presence of the secu_ anti-forgery token in the request. When the parameter is absent, the dispatcher falls back to a handler that returns true unconditionally, bypassing the modification access check entirely.

With authorization neutralized, an unauthenticated attacker can submit arbitrary field writes to any editable object. The write primitive extends to template skeleton files, which SPIP compiles and executes server-side. Attackers chain the primitive in three steps: write a malicious .html skeleton, read configuration files containing the SPIP site secret, and craft a signed ajax context that triggers execution of the planted skeleton.

The outcome is arbitrary PHP code execution in the context of the web-server process, enabling data theft, lateral movement, and persistence on the host.

Root Cause

The root cause is improper authorization logic [CWE-862] in the secu_-driven dispatcher. The dispatcher conflates "no token supplied" with "no restricted action requested" and resolves to a permissive handler. The modification path should enforce the authorization check regardless of token presence.

Attack Vector

Exploitation requires only network access to the SPIP site and no authentication or user interaction. The attacker sends crafted HTTP requests to crayons_store.php without the secu_ parameter to trigger the authorization bypass. See the VulnCheck SPIP Crayons Advisory for the chained exploitation flow and the SPIP Security Update Blog for vendor guidance.

Detect Identity Attacks the Moment Authentication Fails

Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.

Stop Identity Attacks

Detection Methods for CVE-2026-104070

Indicators of Compromise

  • HTTP POST requests to crayons_store.php that omit the secu_ parameter yet carry object modification fields.
  • Newly created or modified .html skeleton files in SPIP template directories with unexpected PHP constructs.
  • Web server reads of SPIP configuration files containing the site secret from unauthenticated sessions.
  • Outbound connections or process launches from the PHP worker process immediately after suspicious crayons_store.php requests.

Detection Strategies

  • Alert on web access logs showing requests to crayons_store.php without the secu_ parameter, especially from unauthenticated clients.
  • Monitor file integrity for template and skeleton directories under the SPIP document root for unexpected writes.
  • Correlate PHP execution events with recent template modifications to surface compile-and-execute chains.

Monitoring Recommendations

  • Enable verbose access logging on SPIP endpoints and forward logs to a central analytics platform for retention and querying.
  • Baseline normal process behavior of the PHP-FPM or Apache worker and alert on child processes such as shells or network tools.
  • Track outbound DNS and HTTP traffic from the web server to identify command-and-control activity following suspected exploitation.

How to Mitigate CVE-2026-104070

Immediate Actions Required

  • Upgrade the Crayons plugin to version 3.5.0 or later on every SPIP instance.
  • Audit SPIP template and skeleton directories for unauthorized .html files written since the plugin was first installed.
  • Rotate the SPIP site secret and any credentials stored in configuration files that may have been disclosed.

Patch Information

The SPIP project released Crayons 3.5.0 to address the missing authorization in crayons_store.php. Administrators should apply the update through the SPIP plugin manager or by replacing the plugin files from the official repository. Refer to the SPIP Security Update Blog for release notes and to the SPIP Crayons Plugin Overview for distribution.

Workarounds

  • Disable the Crayons plugin until the patched version can be installed.
  • Block external requests to crayons_store.php at a reverse proxy or web application firewall when the plugin cannot be removed.
  • Enforce authenticated access to all SPIP administrative paths through network-level controls.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.