[Pidgin] #14571: Win32 installer uses insecure GTK+ version

Pidgin trac at pidgin.im
Fri Aug 24 17:21:17 EDT 2012


#14571: Win32 installer uses insecure GTK+ version
--------------------+-------------------------------------------------------
 Reporter:  sdierl  |        Owner:  datallah       
     Type:  defect  |       Status:  new            
Milestone:  3.0.0   |    Component:  winpidgin (gtk)
  Version:  2.10.0  |   Resolution:                 
 Keywords:          |  
--------------------+-------------------------------------------------------

Comment(by ioerror):

 Replying to [comment:31 datallah]:
 > Replying to [comment:28 ioerror]:
 > > Indeed, one could make that argument for the GTK code as well as
 Pidgin. That is why many projects backport security fixes. I assume that
 if pidgin doesn't have time to recompile GTK and ship it, backporting
 fixes is out of the question; that seems reasonable and it's why I'd
 advocate for shipping the latest GTK - no time to test, no time to
 backport; just ship the latest code and fix the Pidgin code to reflect
 that lack of time on the GTK side.
 >
 > You haven't had to deal with the regressions that we've had almost every
 time we've updated GTK+ or you wouldn't be advocating that path.

 I think you misunderstand. I am not advocating jumping to the git tip of
 their tree. I am advocating jumping to the compatible tip that isn't
 vulnerable to multi-year old bugs. Part of that, I assume, is some bug
 fixing on the GTK/pidgin side. I am by no means making light of that work.

 >
 >
 > > I'm advocating updating the GTK stack because as I said in #15282 -
 it's not just old, it has a dozen or more CVEs. It's not just old, it's
 vulnerable and sometimes the code is vulnerable, reachable in Pidgin and
 has *published* exploit code for the vulnerable library code. That is why
 updating GTK is a good idea - to protect the windows users who are
 otherwise vulnerable because of the GTK libs that pidgin requires.
 Obviously, it's all half measures as the entire GTK library code is
 downloaded over HTTP (see my bug #15277 about that issue) anyway but the
 threat I'm worried about in this bug is remote code execution, denial of
 service, and so on.
 >
 > > >GTK+ on Windows is not used very much and frequently things are
 broken that nobody notices for a long >time.  There are even things that
 are broken if you try to run Pidgin 2.10.6 on GTK+ 2.24.10 - you can >try
 it and see if you like.
 > >
 > > It's broken, period.
 >
 > Not isn't, it mostly works, but there are issues with focus and the
 system tray icon IIRC.
 >

 If the current code allows users to be exploited, which it appears is the
 case, it is broken *now* and should be motivation enough for change. That
 GTK updates andins't backport security fixes isn't pidgin's fault but it
 sure is still a problem. That's why it's broken.

 > > My original bug was about fixing the specifics issues with GTK, it was
 closed as a dupe; so now I'm posting here to say that each of the
 vulnerable components should be updated. Ideally without having to produce
 a working exploit for each one, I hope.
 >
 > I didn't ask you to provide an exploit for the libpng thing - from the
 start, I acknowledged that we were probably vulnerable.  I don't think
 it's necessary to provide exploits - from the type of CVE we should be
 able to tell if it is a problem for us or not.

 Yeah, I realize you didn't ask for an exploit. I haven't provided one,
 yet. I provided a malformed png to settle the discussion that it is a
 problem. You actually stated a year ago: ''This isn't an "over the wire"
 vulnerability.'' and so actually, I wouldn't say from the start that this
 was an acknowledged bug. Furthermore, my other bug was closed as dupe,
 even though it points out another handful of CVEs.

 >
 > > > If there are specific issues that necessitate an update (e.g. this
 libpng issue), we can update that particular component (as I'm willing to
 do when we can get a newer official binary), but to update the whole stack
 requires a lot of testing, and I don't foresee having time to do that soon
 (nor do I see a good reason to do so).
 > >
 > > Every item with a CVE in #15281 should be assumed to be reachable and
 anything less seems irresponsible. I mean, we're not talking about 0day
 here, which pidgin is rumored to have lots of, we're talking about 600+day
 vulns here.
 >
 > I disagree.  Just because there is a potential issue in a library which
 Pidgin uses doesn't mean that it's a problem for Pidgin's usage of the
 library.

 This is a mindset that causes a lot of security issues. I agree with you
 in theory. In practice, you'll have to choose between triaging every
 single CVE in a third party library, on a basically unsupported platform
 or you can just assume the worst, which is probably a safe case. So yeah,
 so, pidgin might not be vulnerable to *all of those CVEs* but pidgin would
 be wise to just remove the vulnerable code, rather than trying to figure
 that out. Especially when we consider the sheer number of issues. :(

 > If it were easy to just update everything, then sure, that would be the
 easy fix - however, since that isn't the situation, we can examine the
 vulnerabilities and make an evaluation of whether or not it's going to be
 a problem for how we use it.

 This was already settled - libpng is remotely reachable and it is known to
 be vulnerable. No one has produced information on how hard or easy it is
 to update everything, so while I believe you when you state that it isn't
 easy, it's not easy to help solve those issues either.

 >
 > > Moving forward here: How do we build a full gtk.zip file from scratch,
 so we don't have to rely on gtk's builds for security issues?
 >
 > I pointed you to the script that "builds" the gtk.zip we distribute in
 one of the comments on this ticket - it is just a repackaging of the
 binaries from gtk.org.
 >

 I understand. That's not going to get us a safe set of gtk libraries at
 the moment.

 I did however file this bug with Gnome:
 https://bugzilla.gnome.org/show_bug.cgi?id=682642

 This bug is also relevant and should similarly be solved by pidgin for the
 gtk downloads, regardless of patch version:
 https://bugzilla.gnome.org/show_bug.cgi?id=682641

 > As far as how the gtk.org binaries are built, I don't offhand know how
 they're built.

 That seems like the next thing to figure out - if we can build it with
 mingw, we can probably produce the win32 library code easily on a free
 platform and iron out any Pidgin bugs that will pop up.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/14571#comment:32>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list