Veracode static analysis results
Elliott Sales de Andrade
qulogic at pidgin.im
Thu Dec 6 01:01:36 EST 2012
On Wed, Dec 5, 2012 at 4:22 PM, Ethan Blanton <elb at pidgin.im> wrote:
> Chris Wysopal spake unto us the following wisdom:
>> A customer asked us to analyze Pidgin using our static analyzer. Our
>> responsible disclosure policy is to inform you of any findings so that
>> you may have the chance to review, comment, and/or fix the issues.
>>
It would probably be better if they checked the prpls too. Those're
more likely to have problems.
>> I think the software performed very well on our analysis but there are
>> a few issues we have found. Attached is our full report. You can find
>> the description of the issues found on pages 10-15. We found 1 Very
>> High criticality. 5 Medium, and 47 low. Here is a summary.
>
> OK, here's my fifteen minute analysis of the bugs. There's only one I
> think I'd really worry about. I've not Cc'd veracode, we can send
> them our final conclusions.
>
> Very High:
>
> * gtkpounce error is a false positive. Yes, we execute a user path
> without verifying it, but that's the whole *point* of that feature.
> It's not particularly safe, but only in an "enough rope to hang
> yourself with" kind of way.
>
> Medium:
>
> * NTLM session key -- I don't know enough about NTLM to say if this is a
> real problem or not. Using a real RNG certainly wouldn't hurt.
>
> * purple_core_migrate user-specified path is a false positive. Pidgin
> can already be coerced to read any file the user can read, and in the
> general sense *should* be able to do so. This class of bug simply
> doesn't apply to Pidgin.
>
> * PurpleDesktopItem creation from file -- I don't even know what this
> is.
>
I think this is only used in Pidgin for reading .desktop files that
are dropped on the conversation. If it's a link, then that link gets
added to the entry. Anything else seems to be ignored.
> * write_data_to_file path problem -- see purple_core_migrate
>
> * write_data_to_file race -- this is real. We should be using open()
> and fdopen() (or the g_ equivalents thereof?).
>
> Low:
>
> I'm not even going through these right now. Some of them probably merit
> checks; the majority of the 47 are in imported code from glib or
> something, though.
Only 6 of them are in our code. I'm not sure what version of the code
they verified, but they don't match hg (3.0.0) and I didn't bother
looking at 2.10.7.
>
> Ethan
>
--
Elliott aka QuLogic
Pidgin developer
More information about the security
mailing list