Lucene search
K

SPIP 3.1.2 File Enumeration / Path Traversal

🗓️ 20 Oct 2016 00:00:00Reported by Nicolas ChatelainType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 37 Views

SPIP 3.1.2 File Enumeration / Path Traversal vulnerability, affects versions <= 3.1.2, medium risk, CVE-2016-7982, remotesystem, PHP Wrappers bypass, multiple fixes issued, discovered by Nicolas CHATELAIN, Sysdrea

Related
Code
ReporterTitlePublishedViews
Family
0day.today
SPIP 3.1.2 File Enumeration / Path Traversal Vulnerabilities
20 Oct 201600:00
zdt
Circl
CVE-2016-7982
19 Oct 201620:59
circl
CNVD
SPIP Directory Traversal Vulnerability
12 Oct 201600:00
cnvd
CVE
CVE-2016-7982
18 Jan 201717:00
cve
Cvelist
CVE-2016-7982
18 Jan 201717:00
cvelist
Debian
[SECURITY] [DLA 695-1] spip security update
2 Nov 201622:00
debian
Debian CVE
CVE-2016-7982
18 Jan 201717:00
debiancve
Tenable Nessus
Debian DLA-695-1 : spip security update
3 Nov 201600:00
nessus
Tenable Nessus
Linux Distros Unpatched Vulnerability : CVE-2016-7982
25 Aug 202500:00
nessus
Exploit DB
SPIP 3.1.1/3.1.2 - File Enumeration / Path Traversal
20 Oct 201600:00
exploitdb
Rows per page
`## SPIP 3.1.1/3.1.2 File Enumeration / Path Traversal (CVE-2016-7982)  
  
### Product Description  
  
SPIP is a publishing system for the Internet, which put importance on collaborative working, multilingual environments and ease of use. It is free software, distributed under the GNU/GPL licence.  
  
### Vulnerability Description  
  
The `valider_xml` file can be used to enumerate files on the system.  
  
**Access Vector**: remote  
  
**Security Risk**: medium  
  
**Vulnerability**: CWE-538  
  
**CVSS Base Score**: 4.9 (Medium)  
  
**CVE-ID**: CVE-2016-7982  
  
### Proof of Concept  
  
Enumerating `.ini` files inside `/etc` (SPIP 3.1.1) :  
  
http://spip-dev.srv/ecrire/?exec=valider_xml&var_url=/etc&ext=ini&recur=2  
  
Bypassing SPIP 3.1.2 protection using PHP Wrappers :  
  
http://spip-dev.srv/ecrire/?exec=valider_xml&var_url=file:///etc&ext=ini&recur=2  
  
### Vulnerable code  
  
if (is_dir($url)) {  
$dir = (substr($url, -1, 1) === '/') ? $url : "$url/";  
$ext = !preg_match('/^[.*\w]+$/', $req_ext) ? 'php' : $req_ext;  
$files = preg_files($dir, "$ext$", $limit, $rec);  
if (!$files and $ext !== 'html') {  
$files = preg_files($dir, 'html$', $limit, $rec);  
if ($files) {  
$ext = 'html';  
}  
}  
if ($files) {  
$res = valider_dir($files, $ext, $url);  
list($err, $res) = valider_resultats($res, $ext === 'html');  
  
File names are stored in `$res` and displayed by `echo` on line 146 :  
  
echo "<h1>", $titre, '<br>', $bandeau, '</h1>',  
"<div style='text-align: center'>", $onfocus, "</div>",  
$res,  
fin_page();  
  
  
  
### Timeline (dd/mm/yyyy)  
  
* 15/09/2016 : Initial discovery  
* 26/09/2016 : Contact with SPIP Team  
* 27/09/2016 : Answer from SPIP Team, sent advisory details  
* 27/09/2016 : Incorrect fixes for Path Traversal  
* 27/09/2016 : New proof of concept for bypassing Path Traversal sent.  
* 27/09/2016 : Bad fix for Path Traversal (23185)  
* 28/09/2016 : New proof of concept for bypassing fixes for Path Traversal on Windows systems.  
* 28/09/2016 : Fixes issued Path Traversal (23200)  
* 30/09/2016 : SPIP 3.1.3 Released  
  
### Fixes  
  
* https://core.spip.net/projects/spip/repository/revisions/23207  
* https://core.spip.net/projects/spip/repository/revisions/23208  
* https://core.spip.net/projects/spip/repository/revisions/23206  
* https://core.spip.net/projects/spip/repository/revisions/23202  
* https://core.spip.net/projects/spip/repository/revisions/23201  
* https://core.spip.net/projects/spip/repository/revisions/23200  
* https://core.spip.net/projects/spip/repository/revisions/23191  
* https://core.spip.net/projects/spip/repository/revisions/23190  
* https://core.spip.net/projects/spip/repository/revisions/23193  
* https://core.spip.net/projects/spip/repository/revisions/23188  
* https://core.spip.net/projects/spip/repository/revisions/23187  
* https://core.spip.net/projects/spip/repository/revisions/23185  
* https://core.spip.net/projects/spip/repository/revisions/23182  
* https://core.spip.net/projects/spip/repository/revisions/23184  
  
  
### Affected versions  
  
* Version <= 3.1.2  
  
### Credits  
  
* Nicolas CHATELAIN, Sysdream (n.chatelain -at- sysdream -dot- com)  
  
  
--   
SYSDREAM Labs <[email protected]>  
  
GPG :  
47D1 E124 C43E F992 2A2E  
1551 8EB4 8CD9 D5B2 59A1  
  
* Website: https://sysdream.com/  
* Twitter: @sysdream  
  
  
  
  
  
`

Data

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

20 Oct 2016 00:00Current
7.7High risk
Vulners AI Score7.7
EPSS0.32657
37