forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
kwebkitpart-1.3.4-CVE-2014-8600.patch
45 lines (38 loc) · 1.56 KB
/
kwebkitpart-1.3.4-CVE-2014-8600.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From: Albert Astals Cid <[email protected]>
Date: Thu, 13 Nov 2014 14:06:01 +0000
Subject: Sanitize html
X-Git-Url: http://quickgit.kde.org/?p=kwebkitpart.git&a=commitdiff&h=641aa7c75631084260ae89aecbdb625e918c6689
---
Sanitize html
As discussed by the security team
---
--- 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() ) {