{"id":"CVE-2026-72708","aliases":["DEBIAN-CVE-2026-72708","EUVD-2026-76154","GHSA-8c85-4pqf-wfwj","UBUNTU-CVE-2026-72708"],"status":"published","title":"SPIP \u003c 4.4.18 Unauthenticated Blind SQL Injection via sitemap.xml.html","description":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the SQL escaping layer that allows unauthenticated attackers to inject arbitrary SQL by supplying a crafted annee parameter value matching a word character followed by an open parenthesis, which bypasses escaping for date-type columns across MySQL, SQLite, and PostgreSQL backends. Attackers can exploit the always-present sitemap.xml.html template's annee criterion to embed unescaped time-based or boolean payloads into database queries, enabling extraction of arbitrary database content including the alea_ephemere secret used to sign SPIP action nonces.","severity":{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00518,"percentile":0.44582,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-89"],"published":"2026-09-11T16:37:06Z","modified":"2026-10-12T15:15:48Z","exploits":[{"source":"pocgithub","id":"ambionics/spip-exploits","title":"ambionics/spip-exploits","date":"2026-09-16","url":"https://github.com/ambionics/spip-exploits"},{"source":"pocgithub","id":"ka3n1x/spip-cve-2026","title":"ka3n1x/spip-cve-2026","date":"2026-10-25","url":"https://github.com/ka3n1x/spip-cve-2026"}],"fixes":[{"ecosystem":"Debian:13","package":"spip","fixed_in":["4.4.19+dfsg-0+deb13u1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"spip","fixed_in":["4.4.18+dfsg-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:13","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.19+dfsg-0+deb13u1"}]}],"versions":["4.4.10+dfsg-1","4.4.11+dfsg-0+deb13u1","4.4.11+dfsg-1","4.4.13+dfsg-0+deb13u1","4.4.13+dfsg-1","4.4.14+dfsg-1","4.4.15+dfsg-0+deb13u1","4.4.15+dfsg-1","4.4.16+dfsg-0+deb13u1","4.4.16+dfsg-1","4.4.18+dfsg-1","4.4.3+dfsg-1","4.4.3+dfsg-1+deb13u1","4.4.4+dfsg-1","4.4.5+dfsg-1","4.4.6+dfsg-1","4.4.7+dfsg-1","4.4.8+dfsg-1","4.4.9+dfsg-1"]},{"source":"osv","ecosystem":"Debian:14","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.18+dfsg-1"}]}],"versions":["4.4.10+dfsg-1","4.4.11+dfsg-1","4.4.13+dfsg-1","4.4.14+dfsg-1","4.4.15+dfsg-1","4.4.16+dfsg-1","4.4.3+dfsg-1","4.4.4+dfsg-1","4.4.5+dfsg-1","4.4.6+dfsg-1","4.4.7+dfsg-1","4.4.8+dfsg-1","4.4.9+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.20-1","3.0.21-1","3.0.21-1ubuntu1","3.0.21-1ubuntu1+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.4-3","3.1.4-4~deb9u3build0.18.04.1","3.1.4-4~deb9u5build0.18.04.1","3.1.4-4~deb9u5ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.2.4-1","3.2.5-1","3.2.7-1","3.2.7-1ubuntu0.1","3.2.7-1ubuntu0.1+esm2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.2.11-3","3.2.12-1","4.0.2-1","4.0.4-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.1.11+dfsg-1","4.1.12+dfsg-1","4.1.13+dfsg-1","4.1.15+dfsg-1","4.2.9+dfsg-2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"spip","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.4.3+dfsg-1","4.4.6+dfsg-1","4.4.7+dfsg-1","4.4.8+dfsg-1","4.4.9+dfsg-1"]}],"products":[{"vendor":"spip","product":"spip"}],"references":[{"url":"https://blog.lexfo.fr/casse-spip-sqli-to-rce.html","tags":["technical-description","exploit","report"]},{"url":"https://blog.spip.net/Mise-a-jour-critique-de-securite-sortie-de-SPIP-4-4-18.html","tags":["release-notes","patch","report"]},{"url":"https://www.vulncheck.com/advisories/spip-unauthenticated-sql-injection-via-sitemap-annee-parameter","tags":["third-party-advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72708"},{"url":"https://github.com/advisories/GHSA-8c85-4pqf-wfwj"},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-72708","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-72708","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-72708","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-72708","title":"SPIP \u003c 4.4.18 Unauthenticated Blind SQL Injection via sitemap.xml.html","description":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the SQL escaping layer that allows unauthenticated attackers to inject arbitrary SQL by supplying a crafted annee parameter value matching a word character followed by an open parenthesis, which bypasses escaping for date-type columns across MySQL, SQLite, and PostgreSQL backends. Attackers can exploit the always-present sitemap.xml.html template's annee criterion to embed unescaped time-based or boolean payloads into database queries, enabling extraction of arbitrary database content including the alea_ephemere secret used to sign SPIP action nonces.","status":"published","published":"2026-09-11T16:37:06.961Z","modified":"2026-10-12T15:15:48.098Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high","assessor":"cna"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:19:51.663093Z"}],"euvd":[{"id":"EUVD-2026-76154","description":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the SQL escaping layer that allows unauthenticated attackers to inject arbitrary SQL by supplying a crafted annee parameter value matching a word character followed by an open parenthesis, which bypasses escaping for date-type columns across MySQL, SQLite, and PostgreSQL backends. Attackers can exploit the always-present sitemap.xml.html template's annee criterion to embed unescaped time-based or boolean payloads into database queries, enabling extraction of arbitrary database content including the alea_ephemere secret used to sign SPIP action nonces.","status":"published","published":"2026-09-11T16:37:06Z","modified":"2026-10-12T15:15:48Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T17:27:21.690828Z"}],"ghsa":[{"id":"GHSA-8c85-4pqf-wfwj","title":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the public...","description":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the public sitemap endpoint where the MySQL escaper spip_mysql_cite() in ecrire/req/mysql.php returns values unescaped when the target column is a date type and the supplied value matches the pattern of a word character followed by an open parenthesis. Attackers can supply a crafted value such as a time-based payload through the annee parameter in squelettes-dist/sitemap.xml.html to embed arbitrary SQL directly into the generated query, enabling time-based and boolean-based blind SQL injection that can expose arbitrary database content including the alea_ephemere secret used to sign action nonces.","status":"published","published":"2026-09-11T18:31:26Z","modified":"2026-09-11T18:31:32Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:11:45.091927Z"}],"nvd":[{"id":"CVE-2026-72708","description":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the SQL escaping layer that allows unauthenticated attackers to inject arbitrary SQL by supplying a crafted annee parameter value matching a word character followed by an open parenthesis, which bypasses escaping for date-type columns across MySQL, SQLite, and PostgreSQL backends. Attackers can exploit the always-present sitemap.xml.html template's annee criterion to embed unescaped time-based or boolean payloads into database queries, enabling extraction of arbitrary database content including the alea_ephemere secret used to sign SPIP action nonces.","status":"published","published":"2026-09-11T17:18:57.197Z","modified":"2026-09-15T17:17:24.373Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:12:46.271848Z"}],"osv":[{"id":"DEBIAN-CVE-2026-72708","description":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the SQL escaping layer that allows unauthenticated attackers to inject arbitrary SQL by supplying a crafted annee parameter value matching a word character followed by an open parenthesis, which bypasses escaping for date-type columns across MySQL, SQLite, and PostgreSQL backends. Attackers can exploit the always-present sitemap.xml.html template's annee criterion to embed unescaped time-based or boolean payloads into database queries, enabling extraction of arbitrary database content including the alea_ephemere secret used to sign SPIP action nonces.","status":"published","published":"2026-09-11T17:18:57.197Z","modified":"2026-10-01T03:03:40.882275596Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"updated_at":"2026-11-02T15:46:02.499355Z"},{"id":"UBUNTU-CVE-2026-72708","description":"SPIP before 4.4.18 contains an unauthenticated blind SQL injection vulnerability in the SQL escaping layer that allows unauthenticated attackers to inject arbitrary SQL by supplying a crafted annee parameter value matching a word character followed by an open parenthesis, which bypasses escaping for date-type columns across MySQL, SQLite, and PostgreSQL backends. Attackers can exploit the always-present sitemap.xml.html template's annee criterion to embed unescaped time-based or boolean payloads into database queries, enabling extraction of arbitrary database content including the alea_ephemere secret used to sign SPIP action nonces.","status":"published","published":"2026-09-11T17:18:00Z","modified":"2026-09-16T14:01:43.604301302Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"},{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T16:57:08.628462Z"}]}}
