Fix QML XmlHttpRequest Insecure Redirection Flaw
authorRichard Moore <rich@kde.org>
Fri, 30 Nov 2012 11:16:51 +0000 (11:16 +0000)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 30 Nov 2012 23:22:35 +0000 (00:22 +0100)
Fix the redirection flaw in QML's XmlHttpRequest implementation that
is described in
http://lists.qt-project.org/pipermail/announce/2012-November/000014.html

Change-Id: Idfad4bc5dde6eda8840737c38e85568f3a4c0420
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/qml/qqmlxmlhttprequest.cpp

index c289ec5..c2a0741 100644 (file)
@@ -1338,9 +1338,11 @@ void QQmlXMLHttpRequest::finished()
         QVariant redirect = m_network->attribute(QNetworkRequest::RedirectionTargetAttribute);
         if (redirect.isValid()) {
             QUrl url = m_network->url().resolved(redirect.toUrl());
-            destroyNetwork();
-            requestFromUrl(url);
-            return;
+            if (url.scheme() != QLatin1String("file")) {
+                destroyNetwork();
+                requestFromUrl(url);
+                return;
+            }
         }
     }