Coppermine 1.4.8~Parameter Cleanup System ByPass~Registering Global Varables

2006.11.27
Risk: Medium
Local: No
Remote: Yes
CWE: N/A


CVSS Base Score: 2.6/10
Impact Subscore: 2.9/10
Exploitability Subscore: 4.9/10
Exploit range: Remote
Attack complexity: High
Authentication: No required
Confidentiality impact: None
Integrity impact: Partial
Availability impact: None

&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-Summary&#8212;&#8212;&#8212;&#8212;&#8212;- Software: CPG Coppermine Photo Gallery Sowtware&#8217;s Web Site: http://coppermine.sourceforge.net/ Versions: 1.4.8.stable Class: Remote Status: Unpatched Exploit: Available Discovered by: imei addmimistrator Risk Level: High &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;Description&#8212;&#8212;&#8212;&#8212;&#8212; Coppermine Photo Gallery has a logical design fault that will result to bypassing anti-XSS-Injection&#8211;RegGlobal-System. It is because that process of cleaning user suplied data checks that if we have any varable that exists in querystrings(or same)? If so it deletes that varable.Cause of this approach we can delete predefined varables(e.g _GET&_POST) that has defined arbitary varables before that it delete, and cleanup system will bypass with this trick. Imagine that Register globals is on. you request a url with this parameters in Mixed Get and Post Request: <form method=post action=&#8221;cpg/?MyVar=value&#8221;> <input name=_GET type=hidden> <input name=_REQUEST type=hidden> <input type=submit></form> It will append MyVar as a varable with arbitarry value before php scripts handles process{cause of register globals} and after that it give handle, predefined _GET&_REQUEST varables will delete. So our varable is unaccessable for checking and deleting but it exists in global area. Don&#8217;t forget that if you like to post some other standard parameters to program, you sould not use get after here.But e.g. use post. I mean that you inject your parameter with get array and pass standard parameters (e.g. pic number or page number) with post or so&#8230; BTW you sould just one of this arrays in one time. Cause of this bug you can create your own parameters that will attend after on source code. &#8212;&#8212;&#8212;&#8212;&#8211;See Also&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; {include/init.inc.php}40-101 /*cause of extra size of code I dont include them here*/ &#8212;&#8212;&#8212;&#8212;&#8211;Exploit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- <form method=post action=&#8221;cpg/?MyVar=value&#8221;> <input name=_GET type=hidden> <input name=_REQUEST type=hidden> <input type=submit></form> &#8212;&#8212;&#8212;&#8212;&#8211;Conditions&#8212;&#8212;&#8212;&#8212;&#8211; Register Globals Should Be ON &#8212;&#8212;&#8212;&#8212;&#8211;Credit&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Discovered by: imei addmimistrator addmimistrator(4}gmail(O}com imei(4}Kapda(O}IR www.myimei.com myimei.com/security


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