Un-negotiated Raw Public Key (RFC 7250) accepted in place of X.509, bypassing chain validation
Un-negotiated Raw Public Key (RFC 7250) accepted in place of an X.509 certificate, bypassing chain validation. A raw public key has no chain, so ParseCertRelative() accepts it without performing any trust verification; it must therefore only be accepted when RPK was actually negotiated for that peer. The check now defaults the expected type to X.509 (per RFC 7250/8446) when no type was negotiated, comparing against the received server certificate type on the client and the selected client certificate type on the server, and rejects any mismatch, including an un-negotiated raw public key, with UNSUPPORTED_CERTIFICATE. Only affects builds with Raw Public Key support (HAVE_RPK) enabled - disabled by default in a standalone build, but included in --enable-all.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-55960
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 02:46 UTC · Revision 1
Source evidence
Un-negotiated Raw Public Key (RFC 7250) accepted in place of X.509, bypassing chain validation
core-osv · Original sourcePublished 25 Jun 2026, 19:31 UTC
Un-negotiated Raw Public Key (RFC 7250) accepted in place of an X.509 certificate, bypassing chain validation. A raw public key has no chain, so ParseCertRelative() accepts it without performing any trust verification; it must therefore only be accepted when RPK was actually negotiated for that peer. The check now defaults the expected type to X.509 (per RFC 7250/8446) when no type was negotiated, comparing against the received server certificate type on the client and the selected client certificate type on the server, and rejects any mismatch, including an un-negotiated raw public key, with UNSUPPORTED_CERTIFICATE. Only affects builds with Raw Public Key support (HAVE_RPK) enabled - disabled by default in a standalone build, but included in --enable-all.
osv:CVE-2026-55960
Complete source record
{
"id": "91e9e3b9382ff9488111ed023053f22634e863c850f4efe7ec2545c82b762740",
"url": "https://osv.dev/vulnerability/CVE-2026-55960",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Un-negotiated Raw Public Key (RFC 7250) accepted in place of X.509, bypassing chain validation",
"summary": "Un-negotiated Raw Public Key (RFC 7250) accepted in place of an X.509 certificate, bypassing chain validation. A raw public key has no chain, so ParseCertRelative() accepts it without performing any trust verification; it must therefore only be accepted when RPK was actually negotiated for that peer. The check now defaults the expected type to X.509 (per RFC 7250/8446) when no type was negotiated, comparing against the received server certificate type on the client and the selected client certificate type on the server, and rejects any mismatch, including an un-negotiated raw public key, with UNSUPPORTED_CERTIFICATE. Only affects builds with Raw Public Key support (HAVE_RPK) enabled - disabled by default in a standalone build, but included in --enable-all.",
"evidence": "osv:CVE-2026-55960",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-55960",
"aliases": [
"CVE-2026-55960"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/wolfssl/wolfssl",
"type": "GIT",
"events": [
{
"introduced": "37884f864d6fd9b04f44677cb04da15d0c9d6526"
},
{
"fixed": "ac01707f552c611fbd135cc723b2682b3e7f80f2"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "5.6.4"
},
{
"last_affected": "5.9.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"cpe": "cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "5.6.4"
},
{
"fixed": "5.9.2"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v5.9.1-stable",
"v5.9.0-stable",
"v5.8.4-stable",
"wolfEntropy2d",
"v5.8.2-stable",
"wolfEntropy1",
"v5.8.0-stable",
"v5.7.6-stable",
"v5.7.4-stable",
"v5.2.1",
"v5.7.2-stable",
"v5.7.0-stable",
"v5.6.6-stable",
"v5.6.4-stable"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-55960.json"
}
}
],
"modified": "2026-10-28T02:30:25.457560733Z",
"provider": "osv",
"references": [
"https://www.wolfssl.com/docs/security-vulnerabilities/",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55960.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-55960",
"https://github.com/wolfSSL/wolfssl/pull/10702",
"https://github.com/wolfSSL/wolfssl"
],
"provider_metadata": {
"cwe_ids": [
"CWE-295"
],
"cna_assigner": "wolfSSL",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55960.json"
}
},
"related_cves": [
{
"value": "CVE-2026-55960",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 491985,
"published_at": "2026-06-25T19:31:55.861+00:00"
}