On Wed, 11 May 2005, Thomas NOEL wrote:

> Hello,
> 
> Le 11.05.2005 11:49, James Yonan a écrit :
> >>I think there is a security issue with the crl-verify code. OpenVPN only 
> >>check the issuer of the CRL, but not the CRL signature.
> >>If you sign a CRL with another CA (even self signed) which have the same 
> >>DN than the certificate issuer, OpenVPN accept it as a good CRL : the 
> >>server or the client do not log any error... So, an attacker can easely 
> >>produce such a false CRL, nobody can see the attack.
> > 
> > I don't see how an attacker could produce a false CRL unless they had 
> > write access to the CRL file.
> 
> I agree... But in theory, write access must not be sufficiant. The CRL 
> is signed by the CA, this must be checked. Ok : it's theory ;-)
> 
> To clarify the situation, here is a possible example of attack:
> 
> Imagine I'm a user of an OpenVPN network. I have a user certificate, 
> issued by the CA "/CN=zorglub/". I'm fired, and my certificate is 
> revocated by the CA. If (if, if, if...) I have write access to the CRL 
> file on the server, I can put a false CRL signed by a false autosigned 
> CA with the same DN "/CN=zorglub/". Of course, I don't revoke any 
> certificate in the CRL.
> 
> Then I can access to the VPN again because the server does not check the 
> CRL signature.

True, but I think you're somewhat stretching the connotation of "security 
bug" here.

If a disgruntled employee with root access tries to leave a back door on
the server before security escorts him out of the building, one cannot
ascribe his ability to do so as a security bug.  root access, by
definition, is unrestricted.  No matter how much OpenVPN tries to
authenticate the CRL, an attacker with root privileges could easily
install a stealth backdoor on the server which would completely bypass the
VPN.

James

Reply via email to