CVE-2026-72710
Linux Debian vulnerability analysis and mitigation

Overview

CVE-2026-72710 is a critical remote code execution (RCE) vulnerability in SPIP, an open-source web publishing framework, affecting all versions before 4.4.18. The flaw exists in the editer_objet action, where the arg parameter resolves SQL table names without enforcing an editable columns allowlist, enabling injection of attacker-controlled rows into the spip_jobs table. Disclosed on September 11, 2026, the vulnerability carries a CVSS v3.1 base score of 9.8 (Critical) and a CVSS v4.0 base score of 9.3 (Critical) (GitHub Advisory, ENISA EUVD). The CVE was assigned by VulnCheck and a patch is available (VulnCheck).

Technical details

The root cause is classified as CWE-915 (Improperly Controlled Modification of Dynamically-Determined Object Attributes): the editer_objet action accepts an arg parameter that maps to SQL table names without restricting which columns can be written, allowing mass assignment into arbitrary database tables (GitHub Advisory). An attacker with a valid nonce can supply arg=job/0 along with crafted fonction and args POST values to insert a malicious row directly into the spip_jobs table. The injected args value is later deserialized and the fonction value is invoked as a PHP callable when SPIP's cron job queue is processed, resulting in arbitrary PHP function execution. The attack requires no authentication beyond obtaining a valid nonce, which may be publicly accessible on SPIP installations (VulnCheck, Lexfo Blog).

Impact

Successful exploitation grants an unauthenticated remote attacker arbitrary PHP function execution on the underlying server, resulting in full compromise of confidentiality, integrity, and availability of the affected system. An attacker can read sensitive data (database credentials, user data, private content), modify or delete site content, install web shells or backdoors, and potentially pivot to other systems on the same network. The NVD SSVC assessment rates the technical impact as "total" and the attack as automatable, underscoring the severity of a successful exploit (GitHub Advisory, ENISA EUVD).

Exploitability

As of the disclosure date (September 11, 2026), no public proof-of-concept exploit code has been observed and there is no confirmed evidence of in-the-wild exploitation (ENISA EUVD). However, the NVD SSVC classification notes PoC-level exploitation potential and marks the attack as automatable, indicating low barrier to weaponization. The EPSS score is currently 0.0, reflecting early-stage disclosure with no observed exploitation activity. The vulnerability is not listed in the CISA KEV catalog at this time. No specific threat actor attribution has been reported (GitHub Advisory).

Exploitation steps

  1. Reconnaissance: Identify internet-facing SPIP installations running versions prior to 4.4.18 using search engines (Shodan, Censys) or web crawlers looking for SPIP-specific fingerprints (e.g., /spip.php, meta generator tags).
  2. Obtain a valid nonce: Browse the target SPIP site to retrieve a valid nonce (anti-CSRF token) from a publicly accessible page or form that includes the editer_objet action context.
  3. Craft the malicious request: Construct an HTTP POST request to the editer_objet action endpoint with the parameter arg=job/0, and include crafted fonction (a PHP callable, e.g., a system function or user-defined function name) and args (a serialized PHP array containing the desired arguments) values.
  4. Inject into spip_jobs: Submit the crafted request with the valid nonce. Due to the missing column allowlist, SPIP writes the attacker-controlled fonction and args values as a new row in the spip_jobs database table.
  5. Trigger cron execution: Wait for or trigger SPIP's cron job queue to be drained (e.g., by making additional requests to the site, which naturally triggers cron processing). SPIP deserializes the args value and calls the fonction as a PHP callable, executing arbitrary code under the web server's process context.
  6. Achieve persistence or lateral movement: Use the achieved code execution to deploy a web shell, exfiltrate credentials, or establish a reverse shell for persistent access (VulnCheck, Lexfo Blog).

Indicators of compromise

  • Network: Unusual HTTP POST requests to SPIP endpoints containing editer_objet action with arg=job/0 in the request body; unexpected outbound connections from the web server process to external IPs.
  • Database: Anomalous rows in the spip_jobs table with suspicious fonction values (e.g., PHP built-in functions like system, exec, passthru, or unusual callable strings) and serialized args payloads not matching legitimate SPIP job entries.
  • Logs: Web server access logs showing POST requests to spip.php or equivalent with action=editer_objet and arg=job parameters; PHP error logs showing deserialization or function call errors related to unexpected callables.
  • File System: Newly created PHP files in the SPIP webroot or upload directories (potential web shells); unexpected modification timestamps on core SPIP files.
  • Process: Unusual child processes spawned by the PHP/web server process (e.g., sh, bash, curl, wget, python) during or after cron job processing.

Mitigation and workarounds

The primary remediation is to upgrade SPIP to version 4.4.18 or later, which enforces an editable columns allowlist for the editer_objet action, preventing unauthorized writes to the spip_jobs table (SPIP Blog, GitHub Advisory). As a temporary workaround, implement network-level controls (WAF rules or firewall policies) to restrict access to the editer_objet action endpoint, particularly blocking requests with arg=job patterns. Additionally, monitor the spip_jobs database table for unauthorized entries and review cron job execution logs for suspicious activity (ENISA EUVD).

Community reactions

The SPIP project published a critical security update announcement for version 4.4.18 on their official blog (SPIP Blog). Security research firm Lexfo published a technical write-up detailing the SQL injection to RCE exploitation chain (Lexfo Blog). VulnCheck, which assigned the CVE, also published an advisory with technical details (VulnCheck). Early social media activity was observed on Mastodon and Bluesky shortly after disclosure, consistent with typical community awareness of a critical CMS vulnerability.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

sid

spip: 4.4.18+dfsg-1

Fixed

trixie

spip: 4.4.19+dfsg-0+deb13u1

Fixed

SourceThis report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-72710CRITICAL9.3
  • Linux Debian logoLinux Debian
  • spip
NoYesSep 11, 2026
CVE-2026-54241HIGH7.4
  • Linux Debian logoLinux Debian
  • libde265
NoYesSep 11, 2026
CVE-2026-54240HIGH7.4
  • Linux Debian logoLinux Debian
  • libde265-debugsource
NoYesSep 11, 2026
CVE-2026-78807HIGH7.1
  • Linux Debian logoLinux Debian
  • wpa
NoNoSep 11, 2026
CVE-2026-89329MEDIUM6.2
  • Linux Debian logoLinux Debian
  • device-mapper-multipath-libs
NoNoSep 11, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management