[SCM] ktnef packaging branch, master, updated. debian/16.04.2-1-40-g512fa47
Maximiliano Curia
maxy at moszumanska.debian.org
Sat Sep 2 16:57:31 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktnef.git;a=commitdiff;h=fadbcee
The following commit has been merged in the master branch:
commit fadbcee7833e3f3706c791ec4833b07c0ba50307
Author: Jonathan Riddell <jr at jriddell.org>
Date: Mon Feb 27 18:59:48 2017 +0000
add security patch Title: ktnef: Directory Traversal
---
...8_Fix_Directory_Traversal_problem_in_ktnef.diff | 58 ++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 59 insertions(+)
diff --git a/debian/patches/4ff38aa15487d69021aacad4b078500f77fb4ae8_Fix_Directory_Traversal_problem_in_ktnef.diff b/debian/patches/4ff38aa15487d69021aacad4b078500f77fb4ae8_Fix_Directory_Traversal_problem_in_ktnef.diff
new file mode 100644
index 0000000..d402ea2
--- /dev/null
+++ b/debian/patches/4ff38aa15487d69021aacad4b078500f77fb4ae8_Fix_Directory_Traversal_problem_in_ktnef.diff
@@ -0,0 +1,58 @@
+From 4ff38aa15487d69021aacad4b078500f77fb4ae8 Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid at kde.org>
+Date: Mon, 27 Feb 2017 19:03:49 +0100
+Subject: Fix Directory Traversal problem in ktnef
+
+Reported by Eric Sesterhenn
+
+Patch reviewed by Laurent Montel
+
+CCMAIL: eric.sesterhenn at x41-dsec.de
+---
+ src/ktnefparser.cpp | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/src/ktnefparser.cpp b/src/ktnefparser.cpp
+index ce40e40..0678003 100644
+--- a/src/ktnefparser.cpp
++++ b/src/ktnefparser.cpp
+@@ -41,7 +41,9 @@
+
+ #include <QtCore/QDateTime>
+ #include <QtCore/QDataStream>
++#include <QtCore/QDir>
+ #include <QtCore/QFile>
++#include <QtCore/QFileInfo>
+ #include <QtCore/QVariant>
+ #include <QtCore/QList>
+
+@@ -446,7 +448,9 @@ bool KTNEFParser::extractFile(const QString &filename) const
+ bool KTNEFParser::ParserPrivate::extractAttachmentTo(KTNEFAttach *att,
+ const QString &dirname)
+ {
+- QString filename = dirname + QLatin1Char('/');
++ const QString destDir(QDir(dirname).absolutePath()); // get directory path without any "." or ".."
++
++ QString filename = destDir + QLatin1Char('/');
+ if (!att->fileName().isEmpty()) {
+ filename += att->fileName();
+ } else {
+@@ -462,6 +466,15 @@ bool KTNEFParser::ParserPrivate::extractAttachmentTo(KTNEFAttach *att,
+ if (!device_->seek(att->offset())) {
+ return false;
+ }
++
++ const QFileInfo fi(filename);
++ if (!fi.absoluteFilePath().startsWith(destDir)) {
++ qWarning() << "Attempted extract into" << fi.absoluteFilePath()
++ << "which is outside of the extraction root folder" << destDir << "."
++ << "Changing export of contained files to extraction root folder.";
++ filename = destDir + QLatin1Char('/') + fi.fileName();
++ }
++
+ QSaveFile outfile(filename);
+ if (!outfile.open(QIODevice::WriteOnly)) {
+ return false;
+--
+cgit v0.11.2
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..e0e353b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+4ff38aa15487d69021aacad4b078500f77fb4ae8_Fix_Directory_Traversal_problem_in_ktnef.diff
--
ktnef packaging
More information about the pkg-kde-commits
mailing list