/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ :Limny 2.0 Change Pass CSRF : \____________________________/ /Discovered By: \ |Luis Santana | \____________________________/ Overview ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ The Limny 2.0 CMS is vulnerable to a Cross-Site-Request Forgery exploit which allows for a malicious attacker to change the password, and email address, of any user, including the administrator. Product Information ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ Product/Script: Limny CMS Affected Version: 2.0 Vulnerability Type: CSRF Security Risk: High Vendor URL: http://www.limny.org/ Product/Script Demo: http://demo.opensourcecms.com/limny Vendor Status: Informed Patch/Fix Status: Advisory Timeline: 02/16/10 : Vulnerability found, PoC created and vendor contacted Update: Vendor has started working on patch. Update: A Patch has been created Advisory URL: Product Description ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ Limny is a powerful, module-based and lightweight CMS. It is programmed in PHP and uses MySQL database. Vulnerability Details ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ By crafting a simple hidden form webpage with a simple javascript form auto-submitter hidden inside of an iframe an attacker is able to change the password, and email address of any user. Proof of Concept ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ See included .zip file for unweaponized (you need to click the "Save" button for the exploit to launch) PoC Patch/Fix Suggestion(s) ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ Implementing form cookies and checking for HTTP Referer would provide an adequate means of patching this vulnerability. Security Risk ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ This vulnerability is estimated to have a HIGH security risk. Author: ~_¯~_¯~_¯~_¯~~_¯~_¯~_¯~_¯~_¯~_¯~ The Author and Researcher of this Advisory is Luis Santana of the HackTalk Security Team ''' Limny 2.0 Change Email & Password CSRF Exploit Discovered By: Luis Santana Script By: Luis Santana HackTalk.net Shoutz to the Evilzone.org community, Shardy, Rage, Xires and Stacy ''' __version__= 1.0 p = open("pwn.html", "w") p.write('''