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
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"
}