CVE-2026-2673

Source
https://cve.org/CVERecord?id=CVE-2026-2673
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-2673.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-2673
Downstream
Related
Published
2026-03-13T19:54:34.033Z
Modified
2026-04-22T18:29:19.138098474Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
[none]
Details

Issue summary: An OpenSSL TLS 1.3 server may fail to negotiate the expected preferred key exchange group when its key exchange group configuration includes the default by using the 'DEFAULT' keyword.

Impact summary: A less preferred key exchange may be used even when a more preferred group is supported by both client and server, if the group was not included among the client's initial predicated keyshares. This will sometimes be the case with the new hybrid post-quantum groups, if the client chooses to defer their use until specifically requested by the server.

If an OpenSSL TLS 1.3 server's configuration uses the 'DEFAULT' keyword to interpolate the built-in default group list into its own configuration, perhaps adding or removing specific elements, then an implementation defect causes the 'DEFAULT' list to lose its 'tuple' structure, and all server-supported groups were treated as a single sufficiently secure 'tuple', with the server not sending a Hello Retry Request (HRR) even when a group in a more preferred tuple was mutually supported.

As a result, the client and server might fail to negotiate a mutually supported post-quantum key agreement group, such as 'X25519MLKEM768', if the client's configuration results in only 'classical' groups (such as 'X25519' being the only ones in the client's initial keyshare prediction).

OpenSSL 3.5 and later support a new syntax for selecting the most preferred TLS 1.3 key agreement group on TLS servers. The old syntax had a single 'flat' list of groups, and treated all the supported groups as sufficiently secure. If any of the keyshares predicted by the client were supported by the server the most preferred among these was selected, even if other groups supported by the client, but not included in the list of predicted keyshares would have been more preferred, if included.

The new syntax partitions the groups into distinct 'tuples' of roughly equivalent security. Within each tuple the most preferred group included among the client's predicted keyshares is chosen, but if the client supports a group from a more preferred tuple, but did not predict any corresponding keyshares, the server will ask the client to retry the ClientHello (by issuing a Hello Retry Request or HRR) with the most preferred mutually supported group.

The above works as expected when the server's configuration uses the built-in default group list, or explicitly defines its own list by directly defining the various desired groups and group 'tuples'.

No OpenSSL FIPS modules are affected by this issue, the code in question lies outside the FIPS boundary.

OpenSSL 3.6 and 3.5 are vulnerable to this issue.

OpenSSL 3.6 users should upgrade to OpenSSL 3.6.2 once it is released. OpenSSL 3.5 users should upgrade to OpenSSL 3.5.6 once it is released.

OpenSSL 3.4, 3.3, 3.0, 1.0.2 and 1.1.1 are not affected by this issue.

References

Affected packages

Git / github.com/openssl/openssl

Affected ranges

Type
GIT
Repo
https://github.com/openssl/openssl
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
{
    "source": "REFERENCES"
}

Affected versions

3.*
3.5-POST-CLANG-FORMAT-WEBKIT
3.5-PRE-CLANG-FORMAT-WEBKIT
3.6-POST-CLANG-FORMAT-WEBKIT
3.6-PRE-CLANG-FORMAT-WEBKIT
Other
BEFORE_engine
OpenSSL_0_9_1c
OpenSSL_0_9_2b
OpenSSL_0_9_3
OpenSSL_0_9_3a
OpenSSL_0_9_3beta2
OpenSSL_0_9_4
OpenSSL_0_9_5a
OpenSSL_0_9_5a-beta1
OpenSSL_0_9_5a-beta2
OpenSSL_0_9_5beta1
OpenSSL_0_9_5beta2
OpenSSL_0_9_6-beta3
OpenSSL_1_1_0-pre1
OpenSSL_1_1_0-pre2
OpenSSL_1_1_0-pre3
OpenSSL_1_1_0-pre4
OpenSSL_1_1_0-pre5
OpenSSL_1_1_0-pre6
OpenSSL_1_1_1
OpenSSL_1_1_1-pre1
OpenSSL_1_1_1-pre2
OpenSSL_1_1_1-pre3
OpenSSL_1_1_1-pre4
OpenSSL_1_1_1-pre5
OpenSSL_1_1_1-pre6
OpenSSL_1_1_1-pre7
OpenSSL_1_1_1-pre8
OpenSSL_1_1_1-pre9
master-post-auto-reformat
master-post-reformat
master-pre-auto-reformat
master-pre-reformat
openssl-3.*
openssl-3.0.0-alpha1
openssl-3.0.0-alpha10
openssl-3.0.0-alpha11
openssl-3.0.0-alpha12
openssl-3.0.0-alpha13
openssl-3.0.0-alpha14
openssl-3.0.0-alpha15
openssl-3.0.0-alpha16
openssl-3.0.0-alpha17
openssl-3.0.0-alpha2
openssl-3.0.0-alpha3
openssl-3.0.0-alpha4
openssl-3.0.0-alpha5
openssl-3.0.0-alpha6
openssl-3.0.0-alpha7
openssl-3.0.0-alpha8
openssl-3.0.0-alpha9
openssl-3.0.0-beta1
openssl-3.0.0-beta2
openssl-3.2.0-alpha1
openssl-3.2.0-alpha2
openssl-3.4.0-alpha1
openssl-3.5.0
openssl-3.5.0-alpha1
openssl-3.5.0-beta1
openssl-3.5.1
openssl-3.5.2
openssl-3.5.3
openssl-3.5.4
openssl-3.5.5
openssl-3.6.0
openssl-3.6.0-alpha1
openssl-3.6.0-beta1
openssl-3.6.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-2673.json"
vanir_signatures
[
    {
        "source": "https://github.com/openssl/openssl/commit/85977e013f32ceb96aa034c0e741adddc1a05e34",
        "target": {
            "function": "test_groupnegotiation",
            "file": "test/tls13groupselection_test.c"
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Function",
        "id": "CVE-2026-2673-03c1fd71",
        "digest": {
            "length": 2053.0,
            "function_hash": "313067717029142061493839728078780036925"
        }
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "270591248322828835175070829948798242374",
                "311491314030898283707502634239882376748",
                "128543148792862790243524399257815344523",
                "252837025814909942238234191797866005634",
                "325893454645748973428664618161668880022",
                "300528492051111476797040860835971632447",
                "106676592880282447823256827596864757627",
                "139696449320148204841635423993254479051",
                "252786600669003616595743236445352561732",
                "99181773197655540397164193660048614785",
                "269079329484711584772003093362669145203",
                "256592628645009785886289771382450689532",
                "39218671353137358152680230779125362579",
                "194923816229602052221266236523958108695",
                "9510654449036456366793104442275237887",
                "269618962042030217931803185059668404100",
                "271197385226935663559483719338412628543",
                "35147712473639568712876922374105906762",
                "334880110220196154034272904537142505031",
                "289033960085545403752848249912790790843",
                "253846190907006869716704224318681789471",
                "145893443103098807793154676958035651199",
                "261841775873998477066601602210937756673",
                "336200080109984677639249144514646609091",
                "35060383504427996311480611382945780512",
                "155389318925710322917660358187329811643",
                "73703324560297556797444667923647762157",
                "32119516341042500806337807642457161639",
                "146655397998623546124486891832031846798",
                "25905794592809073842344027734503428114",
                "235533815497245183876759641379223068680",
                "230567672171362704422430543148244930767",
                "224862959190519570170967642902669600727",
                "254017779340282906755667758167871489501",
                "41194076161207485896603530193837168526",
                "307679598261109840879692294602777520205",
                "8187958802519887410679352939832636060",
                "141466850486159168139179043656751484620",
                "125987847383507215014603290145613611903",
                "112694885432707690659377235981518220129",
                "201429176045456771199482213737369878594",
                "304167931520871481519782429346861278556",
                "210996575676084811971308642446819598507",
                "108139501809076625200297282503741038962",
                "160663551232373669865631413204556701097",
                "208311967644453595788945181198856481861",
                "26428902250855263931682461128004589125",
                "170225784550302968316017308117146634220",
                "175755529690875088634091219187760453355",
                "149962449103590065512159170839901145698",
                "34919426911374536640105247136454291641",
                "235722690952047618935077286063982579505",
                "63430115388385329549838851378612850855",
                "234393184479723644229949406824742766304",
                "292850745295811948746498070095518284703",
                "250976729878925101246036441451010149653",
                "175383338385703779279963684736723322654",
                "52835881106663198981887081581870536205"
            ]
        },
        "id": "CVE-2026-2673-0dd22ff1",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://github.com/openssl/openssl/commit/85977e013f32ceb96aa034c0e741adddc1a05e34",
        "target": {
            "file": "ssl/t1_lib.c"
        }
    },
    {
        "source": "https://github.com/openssl/openssl/commit/2157c9d81f7b0bd7dfa25b960e928ec28e8dd63f",
        "target": {
            "file": "ssl/t1_lib.c"
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Line",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "270591248322828835175070829948798242374",
                "311491314030898283707502634239882376748",
                "128543148792862790243524399257815344523",
                "252837025814909942238234191797866005634",
                "325893454645748973428664618161668880022",
                "300528492051111476797040860835971632447",
                "106676592880282447823256827596864757627",
                "139696449320148204841635423993254479051",
                "252786600669003616595743236445352561732",
                "99181773197655540397164193660048614785",
                "269079329484711584772003093362669145203",
                "118500295381645826417212560291203638242",
                "39218671353137358152680230779125362579",
                "194923816229602052221266236523958108695",
                "9510654449036456366793104442275237887",
                "269618962042030217931803185059668404100",
                "271197385226935663559483719338412628543",
                "35147712473639568712876922374105906762",
                "334880110220196154034272904537142505031",
                "289033960085545403752848249912790790843",
                "253846190907006869716704224318681789471",
                "145893443103098807793154676958035651199",
                "261841775873998477066601602210937756673",
                "336200080109984677639249144514646609091",
                "164943441933108867687583508586764486206",
                "319109903515933280037630040464594519199",
                "73703324560297556797444667923647762157",
                "32119516341042500806337807642457161639",
                "146655397998623546124486891832031846798",
                "25905794592809073842344027734503428114",
                "235533815497245183876759641379223068680",
                "230567672171362704422430543148244930767",
                "224862959190519570170967642902669600727",
                "191003749685679690377098939762530238863",
                "127140144473022391587238686600037407187",
                "251509984699543284969494247394515099257",
                "88369773843639535491352146506506731633",
                "190122562187226146147822960385612353649",
                "65744154572219807717946283919009949408",
                "125987847383507215014603290145613611903",
                "112694885432707690659377235981518220129",
                "66725000622686274337989182718952324894",
                "261179510123356146611413596363647272529",
                "294281047912047163497148139967866941385",
                "108139501809076625200297282503741038962",
                "160663551232373669865631413204556701097",
                "208311967644453595788945181198856481861",
                "26428902250855263931682461128004589125",
                "170225784550302968316017308117146634220",
                "175755529690875088634091219187760453355",
                "149962449103590065512159170839901145698",
                "34919426911374536640105247136454291641",
                "235722690952047618935077286063982579505",
                "63430115388385329549838851378612850855",
                "234393184479723644229949406824742766304",
                "292850745295811948746498070095518284703",
                "250976729878925101246036441451010149653",
                "175383338385703779279963684736723322654",
                "52835881106663198981887081581870536205"
            ]
        },
        "id": "CVE-2026-2673-14917962"
    },
    {
        "source": "https://github.com/openssl/openssl/commit/85977e013f32ceb96aa034c0e741adddc1a05e34",
        "target": {
            "file": "test/tls13groupselection_test.c"
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Line",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "108188709508796965102757943276250893927",
                "96036516148391041909341463683221083977",
                "274243796102689640067040583613470461860",
                "271582315224638186421021374170270632437",
                "108055279692084033824050961592524577838",
                "62892965425919150527749950316839749309",
                "107754993819863796350191027011311029087",
                "176339168421599902280807800675029610536",
                "136958261490814114558529822162362374061",
                "31521203367364330455522281392205518295",
                "153066602123443555917673673928035769651",
                "176085467999189575050740605815696863859",
                "241889386036529982699231774401625648893",
                "27070556125572787182619312324489884179",
                "44696558991656719468404186847562441937",
                "34103875078234123083378087114835596712",
                "49890419087891545454624901550791708470",
                "334875092581427299782208198473034972190",
                "120105418286086471667500578455229023681",
                "4557893413176007829700532700331442559",
                "33631007685206364555939997176157959138",
                "252349248365140873160284990696736434951",
                "207210954622052742496951606056104152494",
                "56233663095081249879655833717528804672"
            ]
        },
        "id": "CVE-2026-2673-68464efa"
    },
    {
        "source": "https://github.com/openssl/openssl/commit/85977e013f32ceb96aa034c0e741adddc1a05e34",
        "id": "CVE-2026-2673-7f362448",
        "signature_version": "v1",
        "target": {
            "function": "tuple_cb",
            "file": "ssl/t1_lib.c"
        },
        "signature_type": "Function",
        "deprecated": false,
        "digest": {
            "length": 933.0,
            "function_hash": "217153688280250958555623465296404224883"
        }
    },
    {
        "digest": {
            "length": 2317.0,
            "function_hash": "219466021308463932999832661999327544297"
        },
        "id": "CVE-2026-2673-8dcbe03b",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://github.com/openssl/openssl/commit/2157c9d81f7b0bd7dfa25b960e928ec28e8dd63f",
        "target": {
            "function": "tls1_set_groups_list",
            "file": "ssl/t1_lib.c"
        }
    },
    {
        "source": "https://github.com/openssl/openssl/commit/85977e013f32ceb96aa034c0e741adddc1a05e34",
        "id": "CVE-2026-2673-9f4ad65b",
        "signature_version": "v1",
        "target": {
            "function": "tls1_set_groups_list",
            "file": "ssl/t1_lib.c"
        },
        "signature_type": "Function",
        "deprecated": false,
        "digest": {
            "length": 2317.0,
            "function_hash": "224972528499646424908028491315774169090"
        }
    },
    {
        "source": "https://github.com/openssl/openssl/commit/2157c9d81f7b0bd7dfa25b960e928ec28e8dd63f",
        "target": {
            "function": "test_groupnegotiation",
            "file": "test/tls13groupselection_test.c"
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Function",
        "digest": {
            "length": 2039.0,
            "function_hash": "193881364920886524515350311523769634697"
        },
        "id": "CVE-2026-2673-ac0e3221"
    },
    {
        "source": "https://github.com/openssl/openssl/commit/85977e013f32ceb96aa034c0e741adddc1a05e34",
        "target": {
            "function": "gid_cb",
            "file": "ssl/t1_lib.c"
        },
        "deprecated": false,
        "digest": {
            "length": 4294.0,
            "function_hash": "303680275349302587125148386733232611154"
        },
        "signature_type": "Function",
        "id": "CVE-2026-2673-c240facf",
        "signature_version": "v1"
    },
    {
        "source": "https://github.com/openssl/openssl/commit/2157c9d81f7b0bd7dfa25b960e928ec28e8dd63f",
        "target": {
            "function": "gid_cb",
            "file": "ssl/t1_lib.c"
        },
        "deprecated": false,
        "digest": {
            "length": 4263.0,
            "function_hash": "121634459527399760494805183858281940165"
        },
        "signature_type": "Function",
        "id": "CVE-2026-2673-d1fb10bc",
        "signature_version": "v1"
    },
    {
        "digest": {
            "length": 906.0,
            "function_hash": "18077482355681938787030008028454766784"
        },
        "target": {
            "function": "tuple_cb",
            "file": "ssl/t1_lib.c"
        },
        "deprecated": false,
        "id": "CVE-2026-2673-de7ded95",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/openssl/openssl/commit/2157c9d81f7b0bd7dfa25b960e928ec28e8dd63f"
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "108188709508796965102757943276250893927",
                "96036516148391041909341463683221083977",
                "274243796102689640067040583613470461860",
                "271582315224638186421021374170270632437",
                "108055279692084033824050961592524577838",
                "62892965425919150527749950316839749309",
                "107754993819863796350191027011311029087",
                "176339168421599902280807800675029610536",
                "136958261490814114558529822162362374061",
                "31521203367364330455522281392205518295",
                "153066602123443555917673673928035769651",
                "176085467999189575050740605815696863859",
                "241889386036529982699231774401625648893",
                "27070556125572787182619312324489884179",
                "44696558991656719468404186847562441937",
                "34103875078234123083378087114835596712",
                "49890419087891545454624901550791708470",
                "334875092581427299782208198473034972190",
                "120105418286086471667500578455229023681",
                "4557893413176007829700532700331442559",
                "33631007685206364555939997176157959138",
                "252349248365140873160284990696736434951",
                "207210954622052742496951606056104152494",
                "56233663095081249879655833717528804672"
            ]
        },
        "id": "CVE-2026-2673-f0e2b19f",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://github.com/openssl/openssl/commit/2157c9d81f7b0bd7dfa25b960e928ec28e8dd63f",
        "target": {
            "file": "test/tls13groupselection_test.c"
        }
    }
]
vanir_signatures_modified
"2026-04-12T23:05:35Z"