Cloudanix VulnDB

CVE-2024-8517

Critical · 9.8

CVSS

9.8

EPSS

94.6%

Published

Sep 6, 2024

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Attend

A vulnerable website can be taken over remotely through a specially crafted file upload request, even if the attacker has no login.

Weaponized
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

CVE-2024-8517 is a critical unauthenticated command injection vulnerability in SPIP versions before 4.3.2, 4.2.16, and 4.1.18. A remote attacker can send a crafted multipart file upload HTTP request that causes attacker-controlled input to be interpreted as operating system commands. Successful exploitation allows arbitrary command execution with the privileges of the web application process, which can lead to web shell deployment, credential theft, lateral movement, data exfiltration, or full server compromise. The supplied package metadata also lists github.com/pion/dtls/v2 fixed in 2.1.4; teams should verify whether this is a data-mapping issue or a separate dependency exposure, because the described vulnerability behavior maps to SPIP command injection.

Why it matters to the business

This flaw can let an unauthenticated internet attacker take control of a vulnerable web server without needing a valid account. Because the CVSS score is 9.8, EPSS is very high at 0.94614, the exploit maturity is weaponized, and the vulnerability has been public for 703 days, exposed systems should be treated as high-risk even though it is not currently listed in CISA KEV and is not marked as ransomware-associated. Business consequences may include website takeover, service disruption, theft of hosted content or credentials, use of the server as a foothold into internal systems, reputational damage, and incident response costs.

How an attack unfolds

An attacker first identifies an internet-facing SPIP instance and determines whether it is running a vulnerable version before 4.3.2, 4.2.16, or 4.1.18. The attacker then sends a specially crafted HTTP multipart/form-data upload request to a reachable SPIP endpoint. Malicious values embedded in the upload metadata or request body are processed unsafely and reach an operating system command context. The server executes the injected command as the web application user, commonly allowing the attacker to run reconnaissance commands such as id, uname, or whoami. After confirming execution, the attacker may download a payload using curl or wget, create a web shell, establish reverse shell access, enumerate local secrets and configuration files, and attempt privilege escalation or lateral movement. Weaponized exploitation means defenders should expect automated scanning and opportunistic compromise attempts rather than only targeted attacks.

How to fix it

Upgrade SPIP immediately to a fixed release: 4.3.2 or later for the 4.3 branch, 4.2.16 or later for the 4.2 branch, and 4.1.18 or later for the 4.1 branch. If the supplied dependency inventory is applicable, upgrade github.com/pion/dtls/v2 to 2.1.4 or later, but also reconcile the apparent mismatch between the SPIP vulnerability description and the listed Go package to ensure the correct product is remediated. Where immediate upgrade is not possible, restrict public access to affected SPIP upload functionality, require authentication in front of administrative or upload endpoints, deploy WAF rules to block suspicious multipart upload requests containing shell metacharacters, disable unnecessary file upload features, and ensure the web server runs with least privilege. After patching, rotate credentials stored on or accessible from the affected application, especially database credentials, API keys, mail credentials, and administrative passwords, if exploitation cannot be confidently ruled out.

How to confirm the fix worked

Confirm the running SPIP version is 4.3.2, 4.2.16, 4.1.18, or newer according to the deployed branch, not only the package repository state. Validate from application files, administrative version information, container images, and software inventory. If dependency metadata is in scope, confirm github.com/pion/dtls/v2 is at 2.1.4 or later. Re-test externally to ensure unauthenticated multipart upload endpoints are not exploitable and that WAF or reverse proxy controls do not merely hide but fail open. Review web server and application logs for prior suspicious multipart POST requests, then use EDR or host telemetry to verify the web application user did not spawn shells, network utilities, scripting interpreters, or file download tools. Check application directories for recently modified PHP files, unexpected upload artifacts, cron entries, and outbound connections around the suspected exposure window.

Typical attack path

  1. Scan for exposed SPIP applications or fingerprints such as SPIP paths, headers, generator tags, or login pages.
  2. Check whether the exposed instance appears to be below SPIP 4.3.2, 4.2.16, or 4.1.18.
  3. Send a crafted unauthenticated multipart/form-data file upload request containing shell metacharacters or command payloads.
  4. Trigger command execution in the context of the web server or PHP application user.
  5. Run validation commands such as id, whoami, uname, or pwd to confirm execution.
  6. Download or write a second-stage payload, web shell, or reverse shell using tools such as curl, wget, bash, python, perl, or nc.
  7. Harvest application configuration, database credentials, session material, or local files accessible to the web process.
  8. Persist through modified web files, cron jobs, startup scripts, or additional accounts where permissions allow.
  9. Use the compromised server for data theft, service disruption, pivoting, botnet activity, or further exploitation.

How to detect it

To determine whether exploitation already occurred, review HTTP access logs, reverse proxy logs, WAF events, SPIP application logs, EDR process telemetry, shell history where available, filesystem changes, and outbound network records. Focus on unauthenticated POST requests using multipart/form-data to SPIP or upload-related endpoints, especially requests containing shell metacharacters such as semicolons, pipes, backticks, $(), encoded command strings, or suspicious file names. Correlate suspicious web requests with host activity where the web server process user launches /bin/sh, bash, sh, curl, wget, nc, ncat, socat, python, perl, php -r, chmod, chattr, crontab, or system reconnaissance commands. Examine web-accessible directories and upload directories for newly created PHP files, files with image extensions containing PHP code, unusual hidden files, and modifications around the time of suspicious requests. Investigate outbound connections from the web server to unfamiliar IP addresses immediately after multipart POST requests. Because weaponized exploitation is available and the EPSS score is high, absence from CISA KEV should not be treated as evidence of low exploitation likelihood.

  • Content-Type: multipart/form-data
  • multipart/form-data; boundary=
  • Content-Disposition: form-data;
  • filename=";
  • filename="|
  • filename="`
  • filename="$(
  • ;id
  • ; whoami
  • ; uname -a
  • |id
  • | whoami
  • `id`
  • $(id)
  • /bin/sh -c
  • /bin/bash -c
  • curl http
  • curl -fsSL
  • wget http
  • wget -O
  • nc -e
  • ncat -e
  • bash -i
  • /dev/tcp/
  • python -c
  • perl -e
  • php -r
  • chmod +x
  • crontab -e
  • www-data
  • apache -> /bin/sh
  • apache2 -> /bin/sh
  • httpd -> /bin/sh
  • php-fpm -> /bin/sh
  • spip.php
  • /ecrire/
  • /IMG/
  • <?php system(
  • <?php passthru(
  • <?php shell_exec(
  • <?php eval(

What your security team should do

  • Prioritize internet-facing SPIP systems for immediate upgrade to 4.3.2, 4.2.16, 4.1.18, or later because exploitation is weaponized and EPSS is very high.
  • Run an emergency asset search for SPIP fingerprints across external attack surface management, web inventories, container images, and code repositories.
  • Reconcile the affected product metadata that lists github.com/pion/dtls/v2 fixed in 2.1.4 against the SPIP description, and remediate both if either is present in production.
  • Add temporary WAF or reverse proxy detections for suspicious multipart/form-data upload requests containing shell metacharacters, command substitutions, encoded payloads, or file names with command syntax.
  • Hunt for web server child processes invoking /bin/sh, bash, curl, wget, nc, python, perl, php -r, or similar tools.
  • Inspect affected hosts for web shells, recently modified application files, unauthorized cron jobs, and unexpected outbound connections.
  • Rotate application secrets and credentials if logs are incomplete or exploitation indicators are found.
  • If compromise is suspected, preserve web logs, WAF logs, process telemetry, filesystem timestamps, and volatile evidence before rebuilding or cleaning systems.

The record

SPIP before 4.3.2, 4.2.16, and 4.1.18 is vulnerable to a command injection issue. A remote and unauthenticated attacker can execute arbitrary operating system commands by sending a crafted multipart file upload HTTP request.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 spip 0 No fix
Debian:13 spip 0 4.3.2+dfsg-1
Ubuntu:16.04:LTS spip 0 No fix
Ubuntu:20.04:LTS spip 0 No fix
Ubuntu:22.04:LTS spip 0 No fix
Ubuntu:24.04:LTS spip 0 No fix
Ubuntu:24.10 spip 0 No fix
Ubuntu:Pro:16.04:LTS spip 0 No fix
Ubuntu:Pro:18.04:LTS spip 0 No fix
Ubuntu:Pro:18.04:LTS spip 0 3.1.4-4~deb9u5ubuntu0.1~esm2
Ubuntu:Pro:20.04:LTS spip 0 3.2.7-1ubuntu0.1+esm2

Related vulnerabilities