new file mode 100644
@@ -0,0 +1,88 @@
+From 534252a345be58d6d1a79eee697244f27524b7d2 Mon Sep 17 00:00:00 2001
+From: Viktor Szakats <commit@vsz.me>
+Date: Wed, 26 Aug 2026 09:41:03 +0200
+Subject: [PATCH] setopt: make NULL `CURLOPT_AWS_SIGV4` disable aws-sigv4 auth
+
+Disable `CURLAUTH_AWS_SIGV4` when `CURLOPT_AWS_SIGV4` is set to NULL.
+Syncing behavior with `CURLAUTH_HTTPSIG`.
+
+Reported-by: Stanislav Fort
+
+Closes #22681
+
+CVE: CVE-2026-86409
+Upstream-Status: Backport [https://github.com/curl/curl/commit/c3c70440e8d9938c0bb732595751e8aebc614f24]
+
+Backport Changes:
+- Use test_setopt() in lib1978.c instead of easy_setopt(), matching
+ the curl 8.19.0 test harness.
+
+(cherry picked from commit c3c70440e8d9938c0bb732595751e8aebc614f24)
+Signed-off-by: Darsh Kelaiya <dkelaiya@cisco.com>
+---
+ lib/setopt.c | 2 ++
+ tests/data/test1978 | 19 +++++++++++++++++++
+ tests/libtest/lib1978.c | 5 +++++
+ 3 files changed, 26 insertions(+)
+
+diff --git a/lib/setopt.c b/lib/setopt.c
+index 3603912..ae77ae8 100644
+--- a/lib/setopt.c
++++ b/lib/setopt.c
+@@ -1992,6 +1992,8 @@ static CURLcode setopt_cptr(struct Curl_easy *data, CURLoption option,
+ */
+ if(s->str[STRING_AWS_SIGV4])
+ s->httpauth = CURLAUTH_AWS_SIGV4;
++ else
++ s->httpauth &= ~(uint32_t)CURLAUTH_AWS_SIGV4;
+ break;
+ #endif
+ case CURLOPT_REFERER:
+diff --git a/tests/data/test1978 b/tests/data/test1978
+index 3ad4c67..8b6e6af 100644
+--- a/tests/data/test1978
++++ b/tests/data/test1978
+@@ -69,6 +69,25 @@ header-no-value:
+ header-some-no-value:
+ header-some-no-value: value
+
++PUT /%TESTNUMBER/testapi/test HTTP/1.1
++Host: 127.0.0.1:9000
++x-amz-meta-test: test2
++some-other-header: value
++x-amz-meta-test: test1
++duplicate-header: duplicate
++x-amz-meta-test: test3
++X-amz-meta-test2: test2
++x-amz-meta-blah: blah
++x-Amz-meta-test2: test1
++x-amz-Meta-test2: test3
++curr-header-no-colon: value
++next-header-no-colon: value
++duplicate-header: duplicate
++header-no-value:
++header-no-value:
++header-some-no-value:
++header-some-no-value: value
++
+ </protocol>
+ </verify>
+ </testcase>
+diff --git a/tests/libtest/lib1978.c b/tests/libtest/lib1978.c
+index 4f3ef11..d3f5c7d 100644
+--- a/tests/libtest/lib1978.c
++++ b/tests/libtest/lib1978.c
+@@ -91,6 +91,11 @@ static CURLcode test_lib1978(const char *URL)
+ test_setopt(curl, CURLOPT_CONNECT_TO, connect_to);
+
+ result = curl_easy_perform(curl);
++ if(result)
++ goto test_cleanup;
++
++ test_setopt(curl, CURLOPT_AWS_SIGV4, NULL);
++ result = curl_easy_perform(curl);
+
+ test_cleanup:
+
+--
+2.35.6
@@ -49,6 +49,7 @@ SRC_URI = "https://curl.se/download/${BP}.tar.xz \
file://CVE-2026-80230.patch \
file://CVE-2026-80231.patch \
file://CVE-2026-86414.patch \
+ file://CVE-2026-86409.patch \
"
SRC_URI:append:class-nativesdk = " \