diff --git a/changelog/security/2023-10-13-curl-backport.md b/changelog/security/2023-10-13-curl-backport.md new file mode 100644 index 0000000000..9ad66702d5 --- /dev/null +++ b/changelog/security/2023-10-13-curl-backport.md @@ -0,0 +1 @@ +- curl ([CVE-2023-38545](https://nvd.nist.gov/vuln/detail/CVE-2023-38545), [CVE-2023-38546](https://nvd.nist.gov/vuln/detail/CVE-2023-38546)) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/curl/CVE-2023-38545_7.87.0.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/curl/CVE-2023-38545_8.2.0.patch similarity index 86% rename from sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/curl/CVE-2023-38545_7.87.0.patch rename to sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/curl/CVE-2023-38545_8.2.0.patch index c15c273ea4..1362e98328 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/curl/CVE-2023-38545_7.87.0.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/curl/CVE-2023-38545_8.2.0.patch @@ -1,6 +1,6 @@ -From 92fd36dd54de9ac845549944692eb33c5aee7343 Mon Sep 17 00:00:00 2001 +From 1e1f915b73ab0895a68348ad1f96a5283a44ffd7 Mon Sep 17 00:00:00 2001 From: Jay Satiro -Date: Mon, 9 Oct 2023 17:15:44 -0400 +Date: Mon, 9 Oct 2023 17:45:07 -0400 Subject: [PATCH] socks: return error if hostname too long for remote resolve Prior to this change the state machine attempted to change the remote @@ -8,7 +8,7 @@ resolve to a local resolve if the hostname was longer than 255 characters. Unfortunately that did not work as intended and caused a security issue. -This patch applies to curl versions 7.87.0 - 8.1.2. Other versions +This patch applies to curl versions 8.2.0 - 8.3.0. Other versions that are affected take a different patch. Refer to the CVE advisory for more information. @@ -21,10 +21,10 @@ Bug: https://curl.se/docs/CVE-2023-38545.html create mode 100644 tests/data/test728 diff --git a/lib/socks.c b/lib/socks.c -index d491e08..e7da5b4 100644 +index 25a3578..3d41c93 100644 --- a/lib/socks.c +++ b/lib/socks.c -@@ -539,9 +539,9 @@ static CURLproxycode do_SOCKS5(struct Curl_cfilter *cf, +@@ -588,9 +588,9 @@ static CURLproxycode do_SOCKS5(struct Curl_cfilter *cf, /* RFC1928 chapter 5 specifies max 255 chars for domain name in packet */ if(!socks5_resolve_local && hostname_len > 255) { @@ -37,7 +37,7 @@ index d491e08..e7da5b4 100644 } if(auth & ~(CURLAUTH_BASIC | CURLAUTH_GSSAPI)) -@@ -882,7 +882,7 @@ static CURLproxycode do_SOCKS5(struct Curl_cfilter *cf, +@@ -904,7 +904,7 @@ CONNECT_RESOLVE_REMOTE: } else { socksreq[len++] = 3; @@ -47,18 +47,18 @@ index d491e08..e7da5b4 100644 len += hostname_len; } diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc -index 3e0221a..64b11de 100644 +index 8ee1394..3e2094e 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc -@@ -99,7 +99,7 @@ test679 test680 test681 test682 test683 test684 test685 \ +@@ -100,7 +100,7 @@ test679 test680 test681 test682 test683 test684 test685 test686 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ test709 test710 test711 test712 test713 test714 test715 test716 test717 \ -test718 test719 test720 test721 \ +test718 test719 test720 test721 test728 \ \ - test800 test801 test802 test803 test804 test805 test806 test807 test808 \ - test809 test810 test811 test812 test813 test814 test815 test816 test817 \ + test799 test800 test801 test802 test803 test804 test805 test806 test807 \ + test808 test809 test810 test811 test812 test813 test814 test815 test816 \ diff --git a/tests/data/test728 b/tests/data/test728 new file mode 100644 index 0000000..05bcf28