[Kde-pim] Fwd: Re: KDE 4.4.98 (4.4 RC3)

Thiago Macieira thiago at kde.org
Sun Feb 7 08:58:42 GMT 2010


Em Domingo 7. Fevereiro 2010, às 04.31.56, Eike Hein escreveu:
> Let me re-summarize the situation for clarity: Right
> now you have to be careful about what's inside the
> QString you pass to KNotification, because if it con-
> tains characters in a certain Unicode character range
> your application will crash as a result due to D-Bus
> closing the connection.

Let me resummarise:

What you said above, except the "pass to KNotification" part. It applies to any 
and every D-Bus call.

> This is problematic because there are many applica-
> tions (chat/messenger apps, some Plasmoids, maybe
> PIM) that pass network-originated data to KNotifi-
> cation without removing characters in that range
> first, since the use of D-Bus is an implementation
> detail irrelevant to the KNotification API, and
> since this D-Bus behavior is not widely known. In
> general, KNotification is among the most prevalent
> ways a KDE application will move its data through
> D-Bus.

Indeed, this may be proeminent with KNotification.

> The underlying problem is not specific to KNotifi-
> cation and should be addressed either in Qt or in
> D-Bus, since it's unrealistic to expect all use of
> D-Bus on the application code or even above-Qt lib-
> rary level to be augmented to screen for these
> characters.

Agreed.

> However, since KNotification is a known and broad
> attack vector, any such change will not make it into
> Qt 4.6.2 (according to Thiago) and the discussion on
> whether to change D-Bus has only just begun on the
> D-Bus mailing list, and we're about to release KDE
> 4.4.0, we have the opportunity to release it with a
> preemptive workaround that addresses the issue as it
> pertains to KNotification.

The protection has to happen somewhere. Technically, it's Konversation's fault 
for passing unfiltered network data into an API.

But it could also be a QString issue, for allowing those invalid UTF-8 strings 
to be converted to UTF-16 in the first place.

Note that changing the D-Bus behaviour may likely introduce bugs in Glib-based 
applications, where conversions from UTF-8 do implement this check. (Which, in 
my opinion, is incomplete)

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20100207/9f2516b9/attachment.sig>


More information about the kde-core-devel mailing list