Hmm well spotted, better report that one :)

Cheers,

Peter.

Sent from my Samsung device.
 
  Include original message
---- Original message ----
From: "Michał Kłeczek (XPro Sp. z o. o.)" <michal.klec...@xpro.biz>
Sent: 06/02/2017 07:51:20 pm
To: dev@river.apache.org
Subject: Re: AbstractILFactory bug?

I'm talking about this: 
Util.checkPackageAccess(interfaces[i].getClass()); //NOTE the getClass()  
here!!! 

It should be: 
Util.checkPackageAccess(interfaces[i]); 

Michal 

Michał Kłeczek (XPro Sp. z o. o.) wrote: 
> I understand the check is needed. 
> 
> It is that we are not checking the right package but "java.lang" 
> 
> Thanks, 
> Michal 
> 
> Peter wrote: 
>> Ok, worked out why, java.lang.reflect.Proxy's newProxyInstance  
>> permission check  is caller sensitive.  In this case  
>> AbstractILFactory is the caller, so not checking it would allow an  
>> attacker to bypass the check using AbstractILFactory. 
>> Cheers, 
>> 
>> Peter. 
>> 
>> Sent from my Samsung device. 
>>      Include original message 
>> ---- Original message ---- 
>> From: "Michał Kłeczek (XPro Sp. z o. o.)"<michalklec...@xpro.biz> 
>> Sent: 06/02/2017 05:06:32 pm 
>> To: dev@river.apache.org 
>> Subject: AbstractILFactory bug? 
>> 
>> I have just found this piece of code in AbstractILFactory: 
>> 
>> Class[] interfaces = getProxyInterfaces(impl); 
>> ... 
>> for (int i = 0; i<  interfaces.length; i++) { 
>>       Util.checkPackageAccess(interfaces[i].getClass()); 
>> } 
>> 
>> So we check "java.lang" package access. 
>> 
>> A bug? 
>> 
>> Thanks, 
>> Michal 
>> 
>> 
> 


Reply via email to