[Kde-pim] Fwd: Re: KDE 4.4.98 (4.4 RC3)
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
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
> 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...
Size: 190 bytes
Desc: This is a digitally signed message part.
More information about the kde-core-devel