Skip to content
Heist/ feed
Back to feed
Medium

SSL_VERIFYSTATUS ignored

Type: advisorySources: OSV

curl and libcurl support "OCSP stapling", also known as the TLS Certificate Status Request extension (using the `CURLOPT_SSL_VERIFYSTATUS` option). When telling curl to use this feature, it uses that TLS extension to ask for a fresh proof of the server's certificate's validity. If the server does not support the extension, or fails to provide said proof, curl is expected to return an error. Due to a coding mistake, the code that checks for a test success or failure, ends up always thinking there is valid proof, even when there is none or if the server does not support the TLS extension in question. Contrary to how it used to function and contrary to how this feature is documented to work. This could lead to users not detecting when a server's certificate goes invalid or otherwise be mislead that the server is in a better shape than it is in reality. This flaw also exists in the command line tool ([--cert-status](https://curl.se/docs/manpage.html#--cert-status)).

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2017-2629
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 09:37 UTC · Revision 1

Source evidence

SSL_VERIFYSTATUS ignored

core-osv · Original source

Published 22 Feb 2017, 08:00 UTC

curl and libcurl support "OCSP stapling", also known as the TLS Certificate Status Request extension (using the `CURLOPT_SSL_VERIFYSTATUS` option). When telling curl to use this feature, it uses that TLS extension to ask for a fresh proof of the server's certificate's validity. If the server does not support the extension, or fails to provide said proof, curl is expected to return an error. Due to a coding mistake, the code that checks for a test success or failure, ends up always thinking there is valid proof, even when there is none or if the server does not support the TLS extension in question. Contrary to how it used to function and contrary to how this feature is documented to work. This could lead to users not detecting when a server's certificate goes invalid or otherwise be mislead that the server is in a better shape than it is in reality. This flaw also exists in the command line tool ([--cert-status](https://curl.se/docs/manpage.html#--cert-status)).

osv:CURL-CVE-2017-2629
Complete source record
{
  "id": "83aecf5d84b1389f708409e5d82fecd4e8e5b7d13ed1fe5c69bdc618180a3ac5",
  "url": "https://osv.dev/vulnerability/CURL-CVE-2017-2629",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "SSL_VERIFYSTATUS ignored",
    "summary": "curl and libcurl support \"OCSP stapling\", also known as the TLS Certificate Status Request extension (using the `CURLOPT_SSL_VERIFYSTATUS` option). When telling curl to use this feature, it uses that TLS extension to ask for a fresh proof of the server's certificate's validity. If the server does not support the extension, or fails to provide said proof, curl is expected to return an error. Due to a coding mistake, the code that checks for a test success or failure, ends up always thinking there is valid proof, even when there is none or if the server does not support the TLS extension in question. Contrary to how it used to function and contrary to how this feature is documented to work. This could lead to users not detecting when a server's certificate goes invalid or otherwise be mislead that the server is in a better shape than it is in reality. This flaw also exists in the command line tool ([--cert-status](https://curl.se/docs/manpage.html#--cert-status)).",
    "evidence": "osv:CURL-CVE-2017-2629",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CURL-CVE-2017-2629",
      "aliases": [
        "CURL-CVE-2017-2629",
        "CVE-2017-2629"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "7.52.0"
                },
                {
                  "fixed": "7.53.0"
                }
              ]
            },
            {
              "repo": "https://github.com/curl/curl.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "cb4e2be7c6d42ca0780f8e0a747cecf9ba45f151"
                },
                {
                  "fixed": "ca6ea6d9be5102a2246dff6e17b3ee9ad4ec64d0"
                }
              ]
            }
          ],
          "versions": [
            "7.52.1",
            "7.52.0",
            "curl-7_52_1",
            "curl-7_52_0"
          ],
          "database_specific": {
            "source": "https://curl.se/docs/CURL-CVE-2017-2629.json",
            "vanir_signatures": [
              {
                "id": "CURL-CVE-2017-2629-08b7eec2",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "160665740063046155517844372076301689042",
                    "198891217239531211524141736418754414083",
                    "322579211368063099254116412346148995678",
                    "79061788277258896117150026689157888690",
                    "88032411500943683711438062858328207727"
                  ]
                },
                "source": "https://github.com/curl/curl.git/commit/ca6ea6d9be5102a2246dff6e17b3ee9ad4ec64d0",
                "target": {
                  "file": "lib/url.c"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CURL-CVE-2017-2629-92867ef2",
                "digest": {
                  "length": 3770,
                  "function_hash": "84407265895070014931195834263246948524"
                },
                "source": "https://github.com/curl/curl.git/commit/ca6ea6d9be5102a2246dff6e17b3ee9ad4ec64d0",
                "target": {
                  "file": "lib/url.c",
                  "function": "allocate_conn"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-25T01:04:51Z"
          }
        }
      ],
      "modified": "2026-10-25T01:04:51.650222824Z",
      "provider": "osv",
      "references": [],
      "provider_metadata": {
        "CWE": {
          "id": "CWE-304",
          "desc": "Missing Critical Step in Authentication"
        },
        "URL": "https://curl.se/docs/CVE-2017-2629.json",
        "www": "https://curl.se/docs/CVE-2017-2629.html",
        "affects": "both",
        "package": "curl",
        "severity": "Medium",
        "last_affected": "7.52.1"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2017-2629",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 444300,
  "published_at": "2017-02-22T08:00:00+00:00"
}