diff --git a/changelogs/unreleased/bump-libcurl-to-7.83.0.md b/changelogs/unreleased/bump-libcurl-to-7.83.0.md
new file mode 100644
index 0000000000000000000000000000000000000000..8c57348cf68661daccc49165640bb73a8e42cdc2
--- /dev/null
+++ b/changelogs/unreleased/bump-libcurl-to-7.83.0.md
@@ -0,0 +1,3 @@
+## feature/build
+
+* Updated libcurl to version 7.83.0 (gh-6029).
diff --git a/cmake/BuildLibCURL.cmake b/cmake/BuildLibCURL.cmake
index 0eaf24fe58b335911b42dbbd4b05958818404bd6..87033fe51782fe4996fc8c0cb6d9d8e7974bd8dd 100644
--- a/cmake/BuildLibCURL.cmake
+++ b/cmake/BuildLibCURL.cmake
@@ -42,7 +42,7 @@ macro(curl_build)
     # Setup use of openssl, use the same OpenSSL library
     # for libcurl as is used for tarantool itself.
     get_filename_component(FOUND_OPENSSL_ROOT_DIR ${OPENSSL_INCLUDE_DIR} DIRECTORY)
-    list(APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_OPENSSL=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_OPENSSL=ON")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DOPENSSL_ROOT_DIR=${FOUND_OPENSSL_ROOT_DIR}")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/cmake")
 
@@ -55,6 +55,10 @@ macro(curl_build)
         list(APPEND LIBCURL_FIND_ROOT_PATH ${ARES_INSTALL_DIR})
     else()
         set(ENABLE_ARES "OFF")
+        # libcurl build system enables threaded resolver when c-ares is
+        # disabled, we duplicate this logic because we cannot rely on upstream
+        # defaults, they may vary across time.
+        list(APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_THREADED_RESOLVER=ON")
     endif()
     list(APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_ARES=${ENABLE_ARES}")
 
@@ -70,13 +74,14 @@ macro(curl_build)
     string(REPLACE ";" "$<SEMICOLON>" LIBCURL_FIND_ROOT_PATH_STR "${LIBCURL_FIND_ROOT_PATH}")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_FIND_ROOT_PATH=${LIBCURL_FIND_ROOT_PATH_STR}")
 
-    # On cmake CMAKE_USE_LIBSSH2 flag is enabled by default, we need to switch it
+    # On cmake CURL_USE_LIBSSH2 flag is enabled by default, we need to switch it
     # off to avoid of issues, like:
     #   ld: libssh2.c:(.text+0x4d8): undefined reference to `libssh2_*...
-    list(APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_LIBSSH2=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_LIBSSH2=OFF")
 
     # Switch off the group of protocols with special flag HTTP_ONLY:
-    #   ftp, file, ldap, ldaps, rtsp, dict, telnet, tftp, pop3, imap, smtp.
+    #   ftp, file, ldap, ldaps, rtsp, dict, telnet, tftp, pop3, imap, smtp,
+    #   gopher, mqtt, smb.
     list(APPEND LIBCURL_CMAKE_FLAGS "-DHTTP_ONLY=OFF")
 
     # Additionaly disable some more protocols.
@@ -115,13 +120,17 @@ macro(curl_build)
     list(APPEND LIBCURL_CMAKE_FLAGS "-DBUILD_CURL_EXE=OFF")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_BROTLI=OFF")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DUSE_GNUTLS=OFF")
-    list(APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_MBEDTLS=OFF")
-    list(APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_WOLFSSL=OFF")
-    list(APPEND LIBCURL_CMAKE_FLAGS "-DCMAKE_USE_NSS=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_MBEDTLS=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_WOLFSSL=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_NSS=OFF")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_BUNDLE=none")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_BUNDLE_SET=ON")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_PATH=none")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_PATH_SET=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_CA_FALLBACK=OFF")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DUSE_LIBRTMP=OFF")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DHAVE_LIBIDN2=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DUSE_LIBIDN2=ON")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DUSE_NGTCP2=OFF")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DUSE_NGHTTP3=OFF")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DUSE_QUICHE=OFF")
@@ -141,7 +150,39 @@ macro(curl_build)
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_TFTP=ON")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_POP3=ON")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_IMAP=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_MQTT=ON")
     list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_SMTP=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_ALTSVC=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_DOH=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_GETOPTIONS=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_HSTS=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_HTTP_AUTH=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_LIBCURL_OPTION=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_MIME=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_NETRC=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_NTLM=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_PARSEDATE=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_PROGRESS_METER=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_PROXY=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_SHUFFLE_DNS=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_SOCKETPAIR=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_DISABLE_VERBOSE_STRINGS=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_ENABLE_EXPORT_TARGET=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_ENABLE_SSL=ON")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_LTO=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_BEARSSL=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_GSSAPI=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_LIBSSH=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_USE_OPENLDAP=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_WERROR=OFF")
+    # CURL_ZSTD adds zstd encoding/decoding support. Tuning libcurl's build to
+    # catch the symbols may require extra work.
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DCURL_ZSTD=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DLIBCURL_OUTPUT_NAME=libcurl")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_CURLDEBUG=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DENABLE_DEBUG=OFF")
+    list(APPEND LIBCURL_CMAKE_FLAGS "-DUSE_MSH3=OFF")
 
     # We need PIC at least to enable build for Fedora on
     # ARM64 CPU. Without it configuration with Fedora
diff --git a/third_party/curl b/third_party/curl
index 9e560d11aad028de74addc0d1edfefa5667884f4..1669b17d3a1a1fd824308544ca0ec02a2a4f50ea 160000
--- a/third_party/curl
+++ b/third_party/curl
@@ -1 +1 @@
-Subproject commit 9e560d11aad028de74addc0d1edfefa5667884f4
+Subproject commit 1669b17d3a1a1fd824308544ca0ec02a2a4f50ea