Skip to content

Commit

Permalink
Patch CVE-2023-27533 in cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
Suresh Thelkar committed Sep 19, 2024
1 parent a8ae15a commit 6243487
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 1 deletion.
60 changes: 60 additions & 0 deletions SPECS/cmake/CVE-2023-27533.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
From 7aee1a49cb796ad199f02746222808d3313fbe9b Mon Sep 17 00:00:00 2001
From: Suresh Thelkar <[email protected]>
Date: Tue, 17 Sep 2024 12:38:59 +0530
Subject: [PATCH] Backporting patch for CVE-2023-27533

Upstream patch details are given below.
https://github.com/curl/curl/pull/10728/commits
---
Utilities/cmcurl/lib/telnet.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

diff --git a/Utilities/cmcurl/lib/telnet.c b/Utilities/cmcurl/lib/telnet.c
index fdd137fb..c8af4c95 100644
--- a/Utilities/cmcurl/lib/telnet.c
+++ b/Utilities/cmcurl/lib/telnet.c
@@ -770,6 +770,17 @@ static void printsub(struct Curl_easy *data,
}
}

+static bool str_is_nonascii(const char *str)
+{
+ size_t len = strlen(str);
+ while(len--) {
+ if(*str & 0x80)
+ return TRUE;
+ str++;
+ }
+ return FALSE;
+}
+
static CURLcode check_telnet_options(struct Curl_easy *data)
{
struct curl_slist *head;
@@ -784,6 +795,8 @@ static CURLcode check_telnet_options(struct Curl_easy *data)
/* Add the user name as an environment variable if it
was given on the command line */
if(conn->bits.user_passwd) {
+ if(str_is_nonascii(conn->user))
+ return CURLE_BAD_FUNCTION_ARGUMENT;
msnprintf(option_arg, sizeof(option_arg), "USER,%s", conn->user);
beg = curl_slist_append(tn->telnet_vars, option_arg);
if(!beg) {
@@ -796,6 +809,14 @@ static CURLcode check_telnet_options(struct Curl_easy *data)
}

for(head = data->set.telnet_options; head; head = head->next) {
+ char *option = head->data;
+ char *arg;
+ char *sep = strchr(option, '=');
+ if(sep) {
+ arg = ++sep;
+ if(str_is_nonascii(arg))
+ continue;
+ }
if(sscanf(head->data, "%127[^= ]%*[ =]%255s",
option_keyword, option_arg) == 2) {

--
2.34.1

3 changes: 2 additions & 1 deletion SPECS/cmake/cmake.spec
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Patch6: CVE-2023-38545.patch
Patch7: CVE-2023-38546.patch
Patch8: cve-2023-44487.patch
Patch9: CVE-2023-28320.patch
Patch10: CVE-2023-27533.patch
Patch10: CVE-2023-27534.patch
BuildRequires: bzip2
BuildRequires: bzip2-devel
Expand Down Expand Up @@ -88,7 +89,7 @@ bin/ctest --force-new-ctest-process --rerun-failed --output-on-failure

%changelog
* Wed Sep 18 2024 Suresh Thelkar <[email protected]> - 3.21.4-12
- Patch CVE-2023-27534
- Patch CVE-2023-27533 and CVE-2023-27534

* Fri Jul 26 2024 Zhichun Wan <[email protected]> - 3.21.4-11
- Patch CVE-2023-28320.patch
Expand Down

0 comments on commit 6243487

Please sign in to comment.