Репозиторий Sisyphus
Последнее обновление: 6 марта 2021 | Пакетов: 17845 | Посещений: 20410615
en ru br
Репозитории ALT

Группа :: Архивирование/Сжатие
Пакет: kde5-ark

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: CVE-2020-16116.patch
Скачать


diff --git a/kerfuffle/jobs.cpp b/kerfuffle/jobs.cpp
index fdaa48695fd9019af760ded3a99879905a0b476e..f73b56f862ed525953f6fd7d7b5217f43c315376 100644
--- a/kerfuffle/jobs.cpp
+++ b/kerfuffle/jobs.cpp
@@ -180,6 +180,14 @@ void Job::onError(const QString & message, const QString & details)
 
 void Job::onEntry(Archive::Entry *entry)
 {
+    const QString entryFullPath = entry->fullPath();
+    if (QDir::cleanPath(entryFullPath).contains(QLatin1String("../"))) {
+        qCWarning(ARK) << "Possibly malicious archive. Detected entry that could lead to a directory traversal attack:" << entryFullPath;
+        onError(i18n("Could not load the archive because it contains ill-formed entries and might be a malicious archive."), QString());
+        onFinished(false);
+        return;
+    }
+
     emit newEntry(entry);
 }
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin