CVE-2021-22897

Source
https://nvd.nist.gov/vuln/detail/CVE-2021-22897
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-22897.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-22897
Aliases
Downstream
Published
2021-06-11T16:15:10Z
Modified
2025-10-21T06:01:02.639597Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N CVSS Calculator
Summary
[none]
Details

curl 7.61.0 through 7.76.1 suffers from exposure of data element to wrong session due to a mistake in the code for CURLOPTSSLCIPHER_LIST when libcurl is built to use the Schannel TLS library. The selected cipher set was stored in a single "static" variable in the library, which has the surprising side-effect that if an application sets up multiple concurrent transfers, the last one that sets the ciphers will accidentally control the set used by all transfers. In a worst-case scenario, this weakens transport security significantly.

References

Affected packages

Git / github.com/curl/curl

Affected ranges

Type
GIT
Repo
https://github.com/curl/curl
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

Other

before_ftp_statemachine
before_urldata_rename
curl-6_5
curl-6_5_1
curl-6_5_2
curl-7_10
curl-7_10_1
curl-7_10_2
curl-7_10_3
curl-7_10_4
curl-7_10_5
curl-7_10_6
curl-7_10_7
curl-7_10_8
curl-7_11_0
curl-7_11_1
curl-7_11_2
curl-7_12_0
curl-7_12_1
curl-7_12_2
curl-7_12_3
curl-7_13_0
curl-7_13_1
curl-7_13_2
curl-7_14_0
curl-7_14_1
curl-7_15_0
curl-7_15_1
curl-7_15_2
curl-7_15_3
curl-7_15_4
curl-7_15_5
curl-7_15_6-prepipeline
curl-7_16_0
curl-7_16_1
curl-7_16_2
curl-7_16_3
curl-7_16_4
curl-7_17_0
curl-7_17_0-preldapfix
curl-7_17_1
curl-7_18_0
curl-7_18_1
curl-7_18_2
curl-7_19_0
curl-7_19_1
curl-7_19_2
curl-7_19_3
curl-7_19_4
curl-7_19_5
curl-7_19_6
curl-7_19_7
curl-7_1_1
curl-7_2
curl-7_20_0
curl-7_20_1
curl-7_21_0
curl-7_21_1
curl-7_21_2
curl-7_21_3
curl-7_21_4
curl-7_21_5
curl-7_21_6
curl-7_21_7
curl-7_22_0
curl-7_23_0
curl-7_23_1
curl-7_24_0
curl-7_25_0
curl-7_26_0
curl-7_27_0
curl-7_28_0
curl-7_28_1
curl-7_29_0
curl-7_3
curl-7_30_0
curl-7_31_0
curl-7_32_0
curl-7_33_0
curl-7_34_0
curl-7_35_0
curl-7_36_0
curl-7_37_0
curl-7_37_1
curl-7_38_0
curl-7_39_0
curl-7_40_0
curl-7_41_0
curl-7_42_0
curl-7_43_0
curl-7_44_0
curl-7_45_0
curl-7_46_0
curl-7_47_0
curl-7_47_1
curl-7_48_0
curl-7_49_0
curl-7_49_1
curl-7_4_1
curl-7_5
curl-7_50_0
curl-7_50_1
curl-7_50_2
curl-7_50_3
curl-7_51_0
curl-7_52_0
curl-7_52_1
curl-7_53_0
curl-7_53_1
curl-7_54_0
curl-7_54_1
curl-7_55_0
curl-7_55_1
curl-7_56_0
curl-7_56_1
curl-7_57_0
curl-7_58_0
curl-7_59_0
curl-7_5_2
curl-7_6
curl-7_6-pre4
curl-7_60_0
curl-7_61_0
curl-7_61_1
curl-7_62_0
curl-7_63_0
curl-7_64_0
curl-7_64_1
curl-7_65_0
curl-7_65_1
curl-7_65_2
curl-7_65_3
curl-7_66_0
curl-7_67_0
curl-7_68_0
curl-7_69_0
curl-7_69_1
curl-7_6_1
curl-7_6_1-pre1
curl-7_6_1-pre2
curl-7_6_1-pre3
curl-7_7
curl-7_7-beta1
curl-7_7-beta2
curl-7_7-beta3
curl-7_7-beta5
curl-7_70_0
curl-7_71_0
curl-7_71_1
curl-7_72_0
curl-7_73_0
curl-7_74_0
curl-7_75_0
curl-7_76_0
curl-7_76_1
curl-7_7_1
curl-7_7_2
curl-7_7_3
curl-7_7_alpha2
curl-7_8
curl-7_8-pre2
curl-7_8_1
curl-7_8_1-pre3
curl-7_9
curl-7_9_1
curl-7_9_2
curl-7_9_3
curl-7_9_3-pre1
curl-7_9_3-pre2
curl-7_9_3-pre3
curl-7_9_4
curl-7_9_5
curl-7_9_5-pre2
curl-7_9_5-pre4
curl-7_9_6
curl-7_9_7
curl-7_9_7-pre2
curl-7_9_8
curl_7_6-pre3

Database specific

vanir_signatures

[
    {
        "source": "https://github.com/curl/curl/commit/bbb71507b7bab52002f9b1e0880bed6a32834511",
        "signature_version": "v1",
        "target": {
            "file": "lib/vtls/schannel.c"
        },
        "digest": {
            "line_hashes": [
                "169306282263403152476778100550579197303",
                "297501274346842746936104394958035664195",
                "115226342142473284132899468397361420315",
                "234734752945961461342272917723384093426",
                "295386562829775930098639946838584527244",
                "219517661826067509758353138597803787494",
                "244949559378790381198359763585636363260",
                "332559676467627573058079295969579883439",
                "172944519042723511467055631002959388061",
                "49891809641561640485570718961026384269",
                "303945483550590176791034946765591014847",
                "160380589874126636249932610610053765267",
                "202261837233141056431919104544500820999"
            ],
            "threshold": 0.9
        },
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2021-22897-462e72f1"
    },
    {
        "source": "https://github.com/curl/curl/commit/bbb71507b7bab52002f9b1e0880bed6a32834511",
        "signature_version": "v1",
        "target": {
            "file": "lib/vtls/schannel.h"
        },
        "digest": {
            "line_hashes": [
                "144288989636727895116566759813531481869",
                "310223903940348029157260322620209786472",
                "305687057856332765216788005169622682063",
                "325657448106323421990448296138158547936",
                "292286319081006362423274139499724779986",
                "39604824998280807468150180221600407666",
                "57176848086045237311152580885468675039"
            ],
            "threshold": 0.9
        },
        "deprecated": false,
        "signature_type": "Line",
        "id": "CVE-2021-22897-66d13eee"
    },
    {
        "source": "https://github.com/curl/curl/commit/bbb71507b7bab52002f9b1e0880bed6a32834511",
        "signature_version": "v1",
        "target": {
            "file": "lib/vtls/schannel.c",
            "function": "schannel_connect_step1"
        },
        "digest": {
            "length": 14322.0,
            "function_hash": "211186878913764398743821657885986770610"
        },
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2021-22897-8c49663e"
    },
    {
        "source": "https://github.com/curl/curl/commit/bbb71507b7bab52002f9b1e0880bed6a32834511",
        "signature_version": "v1",
        "target": {
            "file": "lib/vtls/schannel.c",
            "function": "set_ssl_ciphers"
        },
        "digest": {
            "length": 676.0,
            "function_hash": "36431407875438539121636832984401189544"
        },
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2021-22897-ff708dce"
    }
]