{"id":30479,"date":"2026-08-17T23:27:36","date_gmt":"2026-08-17T21:27:36","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=30479"},"modified":"2026-08-17T23:27:36","modified_gmt":"2026-08-17T21:27:36","slug":"theres-a-libcurl-dll-in-my-system32","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2026\/08\/17\/theres-a-libcurl-dll-in-my-system32\/","title":{"rendered":"There&#8217;s a libcurl.dll in my system32"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This afternoon I had a meeting with IT people at a huge US power infrastructure company. They had found a <code>libcurl.dll<\/code> file in their <code>C:\\Windows\\System32<\/code> directory and asked us for help to upgrade it. Their vulnerability scanner identified it as vulnerable to several <a href=\"https:\/\/curl.se\/docs\/security.html\">publicly known vulnerabilities<\/a>. <em>Can we bump it to the latest version please?<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No. We really cannot.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are literally <em>thousands<\/em> of Windows applications that use libcurl. Many of them install a libcurl.dll file in your file system as part of their installation process and yes, some of them even put it in the system32 directory. They <em>can<\/em> optionally link with libcurl statically, which allows them to use the library and its API without using an external file. There are pros and cons with either method.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When libcurl is shipped as a separate DLL file, it is easily checked by for example vulnerability scanners and they may find that your Windows installation contains a libcurl version that contains known vulnerabilities. The system may even contain <em>many<\/em> separate libcurl installations, each potentially at different versions and containing a different set of vulnerabilities.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Not part of Windows<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/daniel.haxx.se\/blog\/2018\/01\/13\/microsoft-curls-too\/\" data-type=\"post\" data-id=\"10663\">Microsoft ships curl as a bundled part of Windows<\/a> since many years back, but they build with a <em>static<\/em> libcurl so they never ship any libcurl.dll file and therefore we know that the file does not originate from there. It is not part of the Windows installation. Something else installs it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">We can&#8217;t fix those<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Whoever built that exact libcurl.dll file needs to be the one who updates it. It is next to impossible for anyone else to know or figure out exactly how that file was built &#8211; and getting it wrong will most  certainly crash the application or cause other odd and unpredictable behavior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Figure out who uses it<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">My advice: figure out which application that uses this DLL. With <em>tasklist<\/em> you can check which currently running application that uses a specific DLL, and I have been told there are tools that can scan executable files to find out which ones that use a specific DLL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is not something we can do.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">We can still help<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We can help application makers with advice, education and tricks on how to build curl the best and most effective way. We can even build or ship curl for them. We are leading experts on curl, networks and transfers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We also offer <a href=\"https:\/\/rock-solid.curl.dev\/\">long-term stable curl releases<\/a> and we can do <a href=\"https:\/\/curl.se\/support.html\">backports of security fixes<\/a> for any curl version of your choice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>But we can&#8217;t runtime patch your Windows installation for you.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(Yes, this problem is similar to the <a href=\"https:\/\/daniel.haxx.se\/blog\/2023\/04\/24\/deleting-system32curl-exe\/\" data-type=\"post\" data-id=\"22214\">deleting curl problem<\/a>.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This afternoon I had a meeting with IT people at a huge US power infrastructure company. They had found a libcurl.dll file in their C:\\Windows\\System32 directory and asked us for help to upgrade it. Their vulnerability scanner identified it as vulnerable to several publicly known vulnerabilities. Can we bump it to the latest version please? &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2026\/08\/17\/theres-a-libcurl-dll-in-my-system32\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">There&#8217;s a libcurl.dll in my system32<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":11543,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,10],"tags":[33,125],"class_list":["post-30479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-curl","category-win","tag-curl-and-libcurl","tag-windows"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/30479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=30479"}],"version-history":[{"count":29,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/30479\/revisions"}],"predecessor-version":[{"id":30552,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/30479\/revisions\/30552"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media\/11543"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=30479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=30479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=30479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}