[Pidgin] #14571: Win32 installer uses insecure GTK+ version
Pidgin
trac at pidgin.im
Fri Aug 24 23:34:37 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):
I'm sorry that this is so frustrating for both of us. I'm trying to help
with improving pidgin's user security. I'm sure I'm messing up conveying
that information but there it is, again, hopefully clearly this time. :-|
Replying to [comment:34 datallah]:
> Replying to [comment:32 ioerror]:
>
> *SIGH* this is more painful than it should be.
I know. I'm sighing too.
You stated: ''If you read my comments, I already explained why this is not
critical. Just because a potential vulnerability exists in a particular
library doesn't mean that it's possible to run into it our use case.''
That is confusing as all get out to me.
In your sentence, you stated that ''this'' wasn't an issue, so I advocated
moving the discussion back to my original bug. I can't even reopen my own
bugs on this tracker. So yeah, it's pretty painful. How about meeting me
halfway here?
I have written proof of concept examples because it was stated that the
*GTK release* is fine and that is does not suffer from remote
exploitation. Clearly you mean to say that the single CVE in question is
not remotely exploitable, which seems to be stated as *the GTK release*
being fine overall. It isn't actually fine and other issues with GTK, not
covering that CVE are collapsed into this bug report.
As expected, triage of such a library is really hard and other people
triage similar bugs together. So yes, it seems clear that the specific
issue of search paths is not vulnerable over the wire, directly. However,
the bug was also about *the shipping version of GTK* which is the same,
right?
> I feel like I've wasted far too much time replying to this ticket that I
could have used for something useful.
I feel like I have invested a lot of time in this ticket and about ten
others. I am doing that because I want to help improve pidgin and to help
keep pidgin users safe.
If you feel like it is a waste, I'd urge you to consider that to be a very
unmotivated way to frame this discussion. It sure makes me wonder if any
progress is possible other than simply waiting.
>
> > 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.
>
> No, I'm talking about the latest stable GTK+ 2.x version, the same as
you, not some unreleased version.
Yes and I'm talking about jumping to the latest stable GTK 2.4.x version
that contains bug fixes relevant to this discussion. To apply such fixes,
we'd need to explore what it will take to build GTK packages from source.
I also opened a bug with Gnome to ask them to update things. So, I'd like
to think I'm helping things along in parallel while also offering to do
more heavy lifting.
I have no question in my mind that jumping to 2.99.x is probably a lot of
work. That said - either way, it's a lot of work and I've repeatedly
offered to help with that work.
> With the exception of CVE-2010-4831, which is not a problem for us
(whether you believe that or not)
I wonder if you realize that I have never said that CVE-2010-4831 was a
problem? Is that unclear?
I have repeatedly made the point that other CVEs are indeed an issue, they
were not addressed in this bug and that the opening parent bug was about
the version of GTK shipped - which has many bugs and at the time of being
opened had *other* CVEs!
>none of these issues are in GTK+ itself, they're all in other third party
libraries that >are built by the GTK+ folks and distributed with GTK+.
I'm sorry to say it but I think that you are wrong.
GTK+ is *also* vulnerable to other issues as I demonstrated in #15282 - so
yes, absolutely these issues are in GTK+ itself. It is *also* true that
GTK+ uses known to be vulnerable libraries and that Gnome ships seemingly
vulnerable binaries on their website.
I have address that issue with them (
https://bugzilla.gnome.org/show_bug.cgi?id=682642 ) and we'll see where
that goes. However, pidgin redistribute their object code and uses GTK's
API - it is *precisely* that use that leaves users vulnerable. If we look
for the specific issues that I mentioned in my other bug, I clearly stated
the third party libraries that should be updated. I also stated that GTK+
should also be updated (again, #15282) because not every fix gets a CVE.
> As I've said before, I don't want to upgrade the entire GTK+ stack right
now unless there is a compelling reason to do so (which I haven't seen)
because it's likely to cause more serious problems (and who knows, maybe
introduce more vulnerabilities), so the talk about updating GTK+ is a
distracting sidenote that you keep bringing back.
This is pretty frustrating on a number of levels. You're basically saying
that this still isn't compelling to upgrade the "entire" stack - I
specifically suggested backporting security fixes and rebuilding the GTK
object files. I also asked how the object files are compiled.
To belabor the point - the binaries shipped inside of the gtk-
runtime-2.16.6.0.zip are vulnerable to a number of well know issues. Many
of them have CVEs and at least *one* of them is known to be reachable over
the network. It would be prudent to consider that unless someone takes the
time to triage every security bug in detail, it is not safe to declare the
GTK object code safe or to declare that Pidgin's use of that object code
is safe.
The core issue is that gtk-runtime-2.16.6.0.zip needs to be repackaged,
without *known* the vulnerabilities and bugs. It doesn't matter how this
happens - from gnome releasing an updated binary to us building it
ourselves.
> Let's limit the scope of this to talk of updating *SPECIFIC* problematic
libraries (currently only libpng), and not the whole stack.
>
Honest question: Do you want me to write a test case for each library that
I think is problematic?
Why don't we say that the vulnerable libraries are worth updating and try
to move forward with that? Wouldn't that also be reasonable?
> > 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.
>
> Your other bug was merged with this bug because they both refer to
potential security issues in the GTK+ stack that we distribute.
Yes and I asked if we should move the discussion back to the other ticket.
I didn't have any takers and as I have already said, I can't reopen that
bug. So if we're not moving to another bug, I'm reasonably adding details
about the issues with the GTK+ stack that pidgin distributes.
>That doesn't make what was said previously in this ticket suddenly apply
to all of the issues that you mentioned in your other ticket. You bring
back what I said a year ago (referring to CVE-2010-4831) out of context as
if I was talking about the libpng issues; I've already corrected you on
this, but here it is again.
I understand what you are saying now loud and clear - it seems to me that
the confusion stems from three issues. The first is that the opening bug
report says ''This GTK+ version''. The second is that my very specific bug
that doesn't even mention CVE-2010-4831 was closed as dupe of this one.
Finally the third is that I asked if we should move to another bug and had
no takers. At points when I found other seemingly related issues, I opened
other bugs to avoid further confusion.
In any case, we didn't move back to the other bug - I only saw arguments
about how things are fine unless proven otherwise. That's a really huge
uphill battle, if you ask me. You're still saying it too. As far as I can
tell, I've got to show you that each library is problematic before we'll
decide that it is worth dealing with things. That is a lot of work.
>
> > > > > 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. :(
>
> Even with this mindset, we should still only be updating particular
problematic components, not the whole stack.
Yeah, I agree and have agreed that we should update the problematic
components at the very least. I have also argued that based on resources,
we should find a solution that makes sense - both in terms of time and in
terms of leaving users vulnerable. Users are vulnerable right now and it
seems like fixing that should be the primary goal.
If you want to only talk about CVE-2010-4831 in this bug, I'm happy to
start over in another bug. I can open a different bug for every CVE and
we can triage each issue, if you'd like. Whatever works, really!
--
Ticket URL: <http://developer.pidgin.im/ticket/14571#comment:35>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list