Hi Kurt,

-=| Kurt Roeckx, Sun, Jan 11, 2009 at 08:36:34PM +0100 |=-
> Package: libcrypt-openssl-dsa-perl
> Severity: serious
> Tags: security
> 
> I've been checking packages to see if they properly check the return
> value of some of the functions in openssl.
> 
> It seems that your package calls functions like DSA_verify
> and DSA_do_verify and just returns those values.  Looking
> at the documentation, it seems to suggest that != 0 would
> mean that it was succesful.

This is my impression too.

> However those functions can also return -1 on failure.  This
> would then mean that other applications making use of this
> could wrongly check the return value.

Since $dsa->verify(...) croaks in underlying OpenSSL call returns -1, 
it seems to me that croaking in do_verify(...) is the right thing to 
do.

From what I understand, verify() and do_verify() only differ in what 
they accept as parameters, otherwise the semantic is the same -- 
verify a signature.

Does in your opinion (1) patching do_verify() to croak if underlaying 
library call returns -1, (2) documenting the fact that both verify() 
and do_verify() may croak and (3) sending the patch upstream, would 
fix the bug?


Thanks for your help!

-- 
dam            JabberID: d...@jabber.minus273.org

Attachment: signature.asc
Description: Digital signature

Reply via email to