kde: fix CVE-2014-8600 by upstream patches
https://www.kde.org/info/security/advisory-20141113-1.txt I couldn't find kio-extras, so I hope we don't have it disguised somewhere.
This commit is contained in:
parent
c8a53923fc
commit
15b9626a3d
@ -0,0 +1,33 @@
|
|||||||
|
--- a/src/webpage.cpp
|
||||||
|
+++ b/src/webpage.cpp
|
||||||
|
@@ -226,23 +226,26 @@
|
||||||
|
doc += QL1S( "<h3>" );
|
||||||
|
doc += i18n( "Details of the Request:" );
|
||||||
|
doc += QL1S( "</h3><ul><li>" );
|
||||||
|
- doc += i18n( "URL: %1", reqUrl.url() );
|
||||||
|
+ // escape URL twice: once for i18n, and once for HTML.
|
||||||
|
+ doc += i18n( "URL: %1", Qt::escape( Qt::escape( reqUrl.prettyUrl() ) ) );
|
||||||
|
doc += QL1S( "</li><li>" );
|
||||||
|
|
||||||
|
const QString protocol (reqUrl.protocol());
|
||||||
|
if ( !protocol.isNull() ) {
|
||||||
|
- doc += i18n( "Protocol: %1", protocol );
|
||||||
|
+ // escape protocol twice: once for i18n, and once for HTML.
|
||||||
|
+ doc += i18n( "Protocol: %1", Qt::escape( Qt::escape( protocol ) ) );
|
||||||
|
doc += QL1S( "</li><li>" );
|
||||||
|
}
|
||||||
|
|
||||||
|
doc += i18n( "Date and Time: %1",
|
||||||
|
KGlobal::locale()->formatDateTime(QDateTime::currentDateTime(), KLocale::LongDate) );
|
||||||
|
doc += QL1S( "</li><li>" );
|
||||||
|
- doc += i18n( "Additional Information: %1" , text );
|
||||||
|
+ // escape text twice: once for i18n, and once for HTML.
|
||||||
|
+ doc += i18n( "Additional Information: %1", Qt::escape( Qt::escape( text ) ) );
|
||||||
|
doc += QL1S( "</li></ul><h3>" );
|
||||||
|
doc += i18n( "Description:" );
|
||||||
|
doc += QL1S( "</h3><p>" );
|
||||||
|
- doc += description;
|
||||||
|
+ doc += Qt::escape( description );
|
||||||
|
doc += QL1S( "</p>" );
|
||||||
|
|
||||||
|
if ( causes.count() ) {
|
@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0kszffgg3zpf319lmzlmdba5gq8kdr5xwb69xwy4s2abc9nvwvbi";
|
sha256 = "0kszffgg3zpf319lmzlmdba5gq8kdr5xwb69xwy4s2abc9nvwvbi";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./CVE-2014-8600.diff ];
|
||||||
|
|
||||||
buildInputs = [ kdelibs ];
|
buildInputs = [ kdelibs ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
19
pkgs/desktops/kde-4.14/CVE-2014-8600.diff
Normal file
19
pkgs/desktops/kde-4.14/CVE-2014-8600.diff
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
--- a/kioslave/bookmarks/kio_bookmarks.cpp
|
||||||
|
+++ b/kioslave/bookmarks/kio_bookmarks.cpp
|
||||||
|
@@ -22,6 +22,7 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <qregexp.h>
|
||||||
|
+#include <qtextdocument.h>
|
||||||
|
|
||||||
|
#include <kapplication.h>
|
||||||
|
#include <kcmdlineargs.h>
|
||||||
|
@@ -197,7 +198,7 @@
|
||||||
|
echoImage(regexp.cap(1), regexp.cap(2), url.queryItem("size"));
|
||||||
|
} else {
|
||||||
|
echoHead();
|
||||||
|
- echo("<p class=\"message\">" + i18n("Wrong request: %1",path) + "</p>");
|
||||||
|
+ echo("<p class=\"message\">" + i18n("Bad request: %1", Qt::escape(Qt::escape(url.prettyUrl()))) + "</p>");
|
||||||
|
}
|
||||||
|
finished();
|
||||||
|
}
|
@ -4,6 +4,8 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
kde {
|
kde {
|
||||||
|
patches = [ ./CVE-2014-8600.diff ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
|
kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
|
||||||
qca2 samba libcanberra pulseaudio gpgme
|
qca2 samba libcanberra pulseaudio gpgme
|
||||||
|
Loading…
x
Reference in New Issue
Block a user