Initial commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
From 1b71bc532bde8621fd3260843f8197182a467ff2 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
Date: Thu, 7 Nov 2019 10:13:01 +0100
|
||||
Subject: [PATCH] file: on Windows, refuse paths that start with \\
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
... as that might cause an unexpected SMB connection to a given host
|
||||
name.
|
||||
|
||||
Reported-by: Fernando Muñoz
|
||||
CVE-2019-15601
|
||||
Bug: https://curl.haxx.se/docs/CVE-2019-15601.html
|
||||
|
||||
Signed-off-by: Petr Štetiar <ynezz@true.cz>
|
||||
---
|
||||
lib/file.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/file.c b/lib/file.c
|
||||
index d349cd9241cd..166931d7f1ba 100644
|
||||
--- a/lib/file.c
|
||||
+++ b/lib/file.c
|
||||
@@ -136,7 +136,7 @@ static CURLcode file_connect(struct connectdata *conn, bool *done)
|
||||
struct Curl_easy *data = conn->data;
|
||||
char *real_path;
|
||||
struct FILEPROTO *file = data->req.protop;
|
||||
- int fd;
|
||||
+ int fd = -1;
|
||||
#ifdef DOS_FILESYSTEM
|
||||
size_t i;
|
||||
char *actual_path;
|
||||
@@ -181,7 +181,9 @@ static CURLcode file_connect(struct connectdata *conn, bool *done)
|
||||
return CURLE_URL_MALFORMAT;
|
||||
}
|
||||
|
||||
- fd = open_readonly(actual_path, O_RDONLY|O_BINARY);
|
||||
+ if(strncmp("\\\\", actual_path, 2))
|
||||
+ /* refuse to open path that starts with two backslashes */
|
||||
+ fd = open_readonly(actual_path, O_RDONLY|O_BINARY);
|
||||
file->path = actual_path;
|
||||
#else
|
||||
if(memchr(real_path, 0, real_path_len)) {
|
||||
38
package/network/utils/curl/patches/101-CVE-2020-8169.patch
Normal file
38
package/network/utils/curl/patches/101-CVE-2020-8169.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From 600a8cded447cd7118ed50142c576567c0cf5158 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
Date: Thu, 14 May 2020 14:37:12 +0200
|
||||
Subject: [PATCH] url: make the updated credentials URL-encoded in the URL
|
||||
|
||||
Found-by: Gregory Jefferis
|
||||
Reported-by: Jeroen Ooms
|
||||
Added test 1168 to verify. Bug spotted when doing a redirect.
|
||||
Bug: https://github.com/jeroen/curl/issues/224
|
||||
Closes #5400
|
||||
---
|
||||
lib/url.c | 6 ++--
|
||||
tests/data/Makefile.inc | 1 +
|
||||
tests/data/test1168 | 78 +++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 83 insertions(+), 2 deletions(-)
|
||||
create mode 100644 tests/data/test1168
|
||||
|
||||
diff --git a/lib/url.c b/lib/url.c
|
||||
index f250f2ff20a..9b8b2bdde64 100644
|
||||
--- a/lib/url.c
|
||||
+++ b/lib/url.c
|
||||
@@ -2788,12 +2788,14 @@ static CURLcode override_login(struct Curl_easy *data,
|
||||
|
||||
/* for updated strings, we update them in the URL */
|
||||
if(user_changed) {
|
||||
- uc = curl_url_set(data->state.uh, CURLUPART_USER, *userp, 0);
|
||||
+ uc = curl_url_set(data->state.uh, CURLUPART_USER, *userp,
|
||||
+ CURLU_URLENCODE);
|
||||
if(uc)
|
||||
return Curl_uc_to_curlcode(uc);
|
||||
}
|
||||
if(passwd_changed) {
|
||||
- uc = curl_url_set(data->state.uh, CURLUPART_PASSWORD, *passwdp, 0);
|
||||
+ uc = curl_url_set(data->state.uh, CURLUPART_PASSWORD, *passwdp,
|
||||
+ CURLU_URLENCODE);
|
||||
if(uc)
|
||||
return Curl_uc_to_curlcode(uc);
|
||||
}
|
||||
22
package/network/utils/curl/patches/200-no_docs_tests.patch
Normal file
22
package/network/utils/curl/patches/200-no_docs_tests.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -179,7 +179,7 @@ CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP)
|
||||
bin_SCRIPTS = curl-config
|
||||
|
||||
SUBDIRS = lib src
|
||||
-DIST_SUBDIRS = $(SUBDIRS) tests packages scripts include docs
|
||||
+DIST_SUBDIRS = $(SUBDIRS) packages include
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libcurl.pc
|
||||
@@ -290,8 +290,8 @@ cygwinbin:
|
||||
# We extend the standard install with a custom hook:
|
||||
install-data-hook:
|
||||
cd include && $(MAKE) install
|
||||
- cd docs && $(MAKE) install
|
||||
- cd docs/libcurl && $(MAKE) install
|
||||
+ #cd docs && $(MAKE) install
|
||||
+ #cd docs/libcurl && $(MAKE) install
|
||||
|
||||
# We extend the standard uninstall with a custom hook:
|
||||
uninstall-hook:
|
||||
Reference in New Issue
Block a user