Skip to content
Heist/ feed
Back to feed
Low

CERTINFO never-ending busy-loop

Type: advisorySources: OSV

libcurl provides the `CURLOPT_CERTINFO` option to allow applications to request details to be returned about a TLS server's certificate chain. Due to an erroneous function, a malicious server could make libcurl built with NSS get stuck in a never-ending busy-loop when trying to retrieve that information.

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

Source evidence

CERTINFO never-ending busy-loop

core-osv · Original source

Published 11 May 2022, 08:00 UTC

libcurl provides the `CURLOPT_CERTINFO` option to allow applications to request details to be returned about a TLS server's certificate chain. Due to an erroneous function, a malicious server could make libcurl built with NSS get stuck in a never-ending busy-loop when trying to retrieve that information.

osv:CURL-CVE-2022-27781
Complete source record
{
  "id": "d40ccdbb154b463531568336594da0b9ba5451b0161461e81c0b8beefcc97b9f",
  "url": "https://osv.dev/vulnerability/CURL-CVE-2022-27781",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CERTINFO never-ending busy-loop",
    "summary": "libcurl provides the `CURLOPT_CERTINFO` option to allow applications to request details to be returned about a TLS server's certificate chain. Due to an erroneous function, a malicious server could make libcurl built with NSS get stuck in a never-ending busy-loop when trying to retrieve that information.",
    "evidence": "osv:CURL-CVE-2022-27781",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CURL-CVE-2022-27781",
      "aliases": [
        "CURL-CVE-2022-27781",
        "CVE-2022-27781"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "7.34.0"
                },
                {
                  "fixed": "7.83.1"
                }
              ]
            },
            {
              "repo": "https://github.com/curl/curl.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "f6c335d63f2da025a0a3efde1fe59e3bb7189b70"
                },
                {
                  "fixed": "5c7da89d404bf59c8dd82a001119a16d18365917"
                }
              ]
            }
          ],
          "versions": [
            "7.83.0",
            "7.82.0",
            "7.81.0",
            "7.80.0",
            "7.79.1",
            "7.79.0",
            "7.78.0",
            "7.77.0",
            "7.76.1",
            "7.76.0",
            "7.75.0",
            "7.74.0",
            "7.73.0",
            "7.72.0",
            "7.71.1",
            "7.71.0",
            "7.70.0",
            "7.69.1",
            "7.69.0",
            "7.68.0",
            "7.67.0",
            "7.66.0",
            "7.65.3",
            "7.65.2",
            "7.65.1",
            "7.65.0",
            "7.64.1",
            "7.64.0",
            "7.63.0",
            "7.62.0",
            "7.61.1",
            "7.61.0",
            "7.60.0",
            "7.59.0",
            "7.58.0",
            "7.57.0",
            "7.56.1",
            "7.56.0",
            "7.55.1",
            "7.55.0",
            "7.54.1",
            "7.54.0",
            "7.53.1",
            "7.53.0",
            "7.52.1",
            "7.52.0",
            "7.51.0",
            "7.50.3",
            "7.50.2",
            "7.50.1",
            "7.50.0",
            "7.49.1",
            "7.49.0",
            "7.48.0",
            "7.47.1",
            "7.47.0",
            "7.46.0",
            "7.45.0",
            "7.44.0",
            "7.43.0",
            "7.42.1",
            "7.42.0",
            "7.41.0",
            "7.40.0",
            "7.39.0",
            "7.38.0",
            "7.37.1",
            "7.37.0",
            "7.36.0",
            "7.35.0",
            "7.34.0",
            "curl-7_83_0",
            "curl-7_82_0",
            "curl-7_81_0",
            "curl-7_80_0",
            "curl-7_79_1",
            "curl-7_79_0",
            "curl-7_78_0",
            "curl-7_77_0",
            "curl-7_76_1",
            "curl-7_76_0",
            "curl-7_75_0",
            "curl-7_74_0",
            "curl-7_73_0",
            "tiny-curl-7_72_0",
            "curl-7_72_0",
            "curl-7_71_1",
            "curl-7_71_0",
            "curl-7_70_0",
            "curl-7_69_1",
            "curl-7_69_0",
            "curl-7_68_0",
            "curl-7_67_0",
            "curl-7_66_0",
            "curl-7_65_3",
            "curl-7_65_2",
            "curl-7_65_1",
            "curl-7_65_0",
            "curl-7_64_1",
            "curl-7_64_0",
            "curl-7_63_0",
            "curl-7_62_0",
            "curl-7_61_1",
            "curl-7_61_0",
            "curl-7_60_0",
            "curl-7_59_0",
            "curl-7_58_0",
            "curl-7_57_0",
            "curl-7_56_1",
            "curl-7_56_0",
            "curl-7_55_1",
            "curl-7_55_0",
            "curl-7_54_1",
            "curl-7_54_0",
            "curl-7_53_1",
            "curl-7_53_0",
            "curl-7_52_1",
            "curl-7_52_0",
            "curl-7_51_0",
            "curl-7_50_3",
            "curl-7_50_2",
            "curl-7_50_1",
            "curl-7_50_0",
            "curl-7_49_1",
            "curl-7_49_0",
            "curl-7_48_0",
            "curl-7_47_1",
            "curl-7_47_0",
            "curl-7_46_0",
            "curl-7_45_0",
            "curl-7_44_0",
            "curl-7_43_0",
            "curl-7_42_1",
            "curl-7_42_0",
            "curl-7_41_0",
            "curl-7_40_0",
            "curl-7_39_0",
            "curl-7_38_0",
            "curl-7_37_1",
            "curl-7_37_0",
            "curl-7_36_0",
            "curl-7_35_0",
            "curl-7_34_0"
          ],
          "database_specific": {
            "source": "https://curl.se/docs/CURL-CVE-2022-27781.json",
            "vanir_signatures": [
              {
                "id": "CURL-CVE-2022-27781-18eb782e",
                "digest": {
                  "length": 1265,
                  "function_hash": "119952315264947547505408304301898934427"
                },
                "source": "https://github.com/curl/curl.git/commit/5c7da89d404bf59c8dd82a001119a16d18365917",
                "target": {
                  "file": "lib/vtls/nss.c",
                  "function": "display_conn_info"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CURL-CVE-2022-27781-746c0fcf",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "236797745310488444108348493315805500132",
                    "222406199052514222794486417960583007861",
                    "39267736724132391586582497542171928336",
                    "56947198554545870756526324233928044401",
                    "126755884391517798093707259725204477399",
                    "138007774983089227384082586770325334603",
                    "269459019928710695163306352805301572008"
                  ]
                },
                "source": "https://github.com/curl/curl.git/commit/5c7da89d404bf59c8dd82a001119a16d18365917",
                "target": {
                  "file": "lib/vtls/nss.c"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-25T01:16:44Z"
          }
        }
      ],
      "modified": "2026-10-25T01:16:44.849348738Z",
      "provider": "osv",
      "references": [],
      "provider_metadata": {
        "CWE": {
          "id": "CWE-835",
          "desc": "Loop with Unreachable Exit Condition ('Infinite Loop')"
        },
        "URL": "https://curl.se/docs/CVE-2022-27781.json",
        "www": "https://curl.se/docs/CVE-2022-27781.html",
        "issue": "https://hackerone.com/reports/1555441",
        "affects": "lib",
        "package": "curl",
        "severity": "Low",
        "last_affected": "7.83.0"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-27781",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 444437,
  "published_at": "2022-05-11T08:00:00+00:00"
}