erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing

cve CVE-2026-42790 2 sources, 2 claims · Watch

Red Hat writes:
erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing the claim
Severity
HIGH NVD
important Red Hat
CVSS they disagree
8.1 NVD
7.4 Red Hat
Vendor
Erlang NVD
Product
OTP NVD
CWE
CWE-295, CWE-297 NVD
CWE-295 Red Hat

How far exploitation has got

  1. No public code known
  2. Proof of concept
  3. Proof of concept, verified
  4. A Metasploit module
  5. Exploited in the wild
  6. Used in ransomware campaigns

Why the CVSS differs

MetricNVDRed Hat
Attack vector AVnetwork Nnetwork N
Attack complexity AClow Lhigh H
Privileges required PRnone Nnone N
User interaction UIrequired Rnone N
Scope Sunchanged Uunchanged U
Confidentiality Chigh Hhigh H
Integrity Ihigh Hhigh H
Availability Anone Nnone N

Each source scores the same vulnerability from what it judges the attack to need. The rows marked are where they judge it differently.

Timeline

2026-05-27first spoke of it: Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification. Two flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com): First, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName. Second, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback. The result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher. This issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7.NVD
2026-05-27first spoke of it: erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofingRed Hat

What it is to other things

affectserlang/erlang\/otp
NVD
made_byerlang
NVD

In words only, so not counted until a person confirms one:

affectserlang/otp
NVD says “Erlang · OTP”
Every value, with what each source said and its receipt
PropertySourceSaidMeans here
Automatable
automatable
NVDno
At least one of those steps needs a person.
receipt
Source
NVD
Its words
no
Read by
field:cve.metrics.ssvcV203[].ssvcData.options[].automatable
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTCno
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
CVSS
cvss
conflict
NVD8.1
receipt
Source
NVD
Its words
8.1
Read by
field:cve.metrics.cvssMetricV31[type=Primary].cvssData.baseScore || field:cve.metrics.cvssMetricV31[].cvssData.baseScore
Said since
2026-09-29 09:45 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
CVSS
cvss
conflict
Red Hat7.4
receipt
Source
Red Hat
Its words
7.4
Read by
field:cvss3_score
Said since
2026-09-29 09:44 UTC
Last answered
2026-10-06 13:02 UTC
Original
open at the source
What the source handed over
{
  "CVE": "CVE-2026-42790",
  "CWE": "CWE-295",
  "advisories": [
    "RHSA-2026:39809",
    "RHSA-2026:63160",
    "RHSA-2026:54757"
  ],
  "affected_packages": [
    "erlang-0:23.3.4.18-2.el8ost",
    "erlang-0:26.2.5.21-2.el9ost",
    "erlang27-main-27.3.4.17-1.hum1"
  ],
  "bugzilla": "2482286",
  "bugzilla_description": "erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing",
  "cvss3_score": "7.4",
  "cvss3_scoring_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
  "cvss_score": null,
  "cvss_scoring_vector": null,
  "package_state": null,
  "public_date": "2026-05-27T15:09:01Z",
  "resource_url": "https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-42790.json",
  "severity": "important"
}
—
Cvss4
cvss4
NVD7.6
receipt
Source
NVD
Its words
7.6
Read by
field:cve.metrics.cvssMetricV40[type=Primary].cvssData.baseScore || field:cve.metrics.cvssMetricV40[].cvssData.baseScore
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTC7.6
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
Cvss4 vector
cvss4_vector
NVDCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
receipt
Source
NVD
Its words
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Read by
field:cve.metrics.cvssMetricV40[type=Primary].cvssData.vectorString || field:cve.metrics.cvssMetricV40[].cvssData.vectorString
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTCCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
CVSS vector
cvss_vector
not compared
NVDCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
receipt
Source
NVD
Its words
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Read by
field:cve.metrics.cvssMetricV31[type=Primary].cvssData.vectorString || field:cve.metrics.cvssMetricV31[].cvssData.vectorString
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTCCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
CVSS vector
cvss_vector
not compared
Red HatCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
receipt
Source
Red Hat
Its words
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Read by
field:cvss3_scoring_vector
Said since
2026-10-06 13:01 UTC
Last answered
2026-10-06 13:02 UTC
Original
open at the source
2026-10-06 13:01 UTCCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
2026-09-29 09:44 UTC—
What the source handed over
{
  "CVE": "CVE-2026-42790",
  "CWE": "CWE-295",
  "advisories": [
    "RHSA-2026:39809",
    "RHSA-2026:63160",
    "RHSA-2026:54757"
  ],
  "affected_packages": [
    "erlang-0:23.3.4.18-2.el8ost",
    "erlang-0:26.2.5.21-2.el9ost",
    "erlang27-main-27.3.4.17-1.hum1"
  ],
  "bugzilla": "2482286",
  "bugzilla_description": "erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing",
  "cvss3_score": "7.4",
  "cvss3_scoring_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
  "cvss_score": null,
  "cvss_scoring_vector": null,
  "package_state": null,
  "public_date": "2026-05-27T15:09:01Z",
  "resource_url": "https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-42790.json",
  "severity": "important"
}
—
CWE
cwe
different words
NVDCWE-295, CWE-297
receipt
Source
NVD
Its words
CWE-295, CWE-297
Read by
field:cve.weaknesses[].description[].value
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTCCWE-295, CWE-297
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
CWE
cwe
different words
Red HatCWE-295
receipt
Source
Red Hat
Its words
CWE-295
Read by
field:CWE
Said since
2026-09-29 09:44 UTC
Last answered
2026-10-06 13:02 UTC
Original
open at the source
What the source handed over
{
  "CVE": "CVE-2026-42790",
  "CWE": "CWE-295",
  "advisories": [
    "RHSA-2026:39809",
    "RHSA-2026:63160",
    "RHSA-2026:54757"
  ],
  "affected_packages": [
    "erlang-0:23.3.4.18-2.el8ost",
    "erlang-0:26.2.5.21-2.el9ost",
    "erlang27-main-27.3.4.17-1.hum1"
  ],
  "bugzilla": "2482286",
  "bugzilla_description": "erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing",
  "cvss3_score": "7.4",
  "cvss3_scoring_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
  "cvss_score": null,
  "cvss_scoring_vector": null,
  "package_state": null,
  "public_date": "2026-05-27T15:09:01Z",
  "resource_url": "https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-42790.json",
  "severity": "important"
}
—
Exploitation
exploitation
NVDnone
No evidence of exploitation, and no public proof of concept.
receipt
Source
NVD
Its words
none
Read by
field:cve.metrics.ssvcV203[].ssvcData.options[].exploitation
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTCnone
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
Packages
packages
Red Haterlang-0:23.3.4.18-2.el8ost, erlang-0:26.2.5.21-2.el9ost, erlang27-main-27.3.4.17-1.hum1
receipt
Source
Red Hat
Its words
erlang-0:23.3.4.18-2.el8ost, erlang-0:26.2.5.21-2.el9ost, erlang27-main-27.3.4.17-1.hum1
Read by
field:affected_packages[]
Said since
2026-09-29 09:44 UTC
Last answered
2026-10-06 13:02 UTC
Original
open at the source
What the source handed over
{
  "CVE": "CVE-2026-42790",
  "CWE": "CWE-295",
  "advisories": [
    "RHSA-2026:39809",
    "RHSA-2026:63160",
    "RHSA-2026:54757"
  ],
  "affected_packages": [
    "erlang-0:23.3.4.18-2.el8ost",
    "erlang-0:26.2.5.21-2.el9ost",
    "erlang27-main-27.3.4.17-1.hum1"
  ],
  "bugzilla": "2482286",
  "bugzilla_description": "erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing",
  "cvss3_score": "7.4",
  "cvss3_scoring_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
  "cvss_score": null,
  "cvss_scoring_vector": null,
  "package_state": null,
  "public_date": "2026-05-27T15:09:01Z",
  "resource_url": "https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-42790.json",
  "severity": "important"
}
—
Product
product
NVDOTP
receipt
Source
NVD
Its words
OTP
Read by
field:cve.affected[].affectedData[].product
Said since
2026-09-29 17:49 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-09-29 17:49 UTCOTP
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
Severity
severity
NVDHIGH
From 7.0 to 8.9.
receipt
Source
NVD
Its words
HIGH
Read by
field:cve.metrics.cvssMetricV31[type=Primary].cvssData.baseSeverity || field:cve.metrics.cvssMetricV31[].cvssData.baseSeverity
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTCHIGH
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
high
Severity
severity
Red Hatimportant
A flaw that can easily compromise confidentiality, integrity or availability.
receipt
Source
Red Hat
Its words
important
Read by
field:severity
Said since
2026-09-29 09:44 UTC
Last answered
2026-10-06 13:02 UTC
Original
open at the source
What the source handed over
{
  "CVE": "CVE-2026-42790",
  "CWE": "CWE-295",
  "advisories": [
    "RHSA-2026:39809",
    "RHSA-2026:63160",
    "RHSA-2026:54757"
  ],
  "affected_packages": [
    "erlang-0:23.3.4.18-2.el8ost",
    "erlang-0:26.2.5.21-2.el9ost",
    "erlang27-main-27.3.4.17-1.hum1"
  ],
  "bugzilla": "2482286",
  "bugzilla_description": "erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing",
  "cvss3_score": "7.4",
  "cvss3_scoring_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
  "cvss_score": null,
  "cvss_scoring_vector": null,
  "package_state": null,
  "public_date": "2026-05-27T15:09:01Z",
  "resource_url": "https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-42790.json",
  "severity": "important"
}
high
Status
status
NVDModified
receipt
Source
NVD
Its words
Modified
Read by
field:cve.vulnStatus
Said since
2026-09-29 09:45 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
Technical impact
technical_impact
NVDtotal
The attacker gains full control of the component, or all of its information.
receipt
Source
NVD
Its words
total
Read by
field:cve.metrics.ssvcV203[].ssvcData.options[].technicalImpact
Said since
2026-10-06 12:29 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-10-06 12:29 UTCtotal
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
Vendor
vendor
NVDErlang
receipt
Source
NVD
Its words
Erlang
Read by
field:cve.affected[].affectedData[].vendor
Said since
2026-09-29 17:49 UTC
Last answered
2026-10-06 12:41 UTC
Original
open at the source
2026-09-29 17:49 UTCErlang
2026-09-29 09:45 UTC—
What the source handed over
{
  "cve": {
    "affected": [
      {
        "affectedData": [
          {
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "public_key",
            "packageURL": "pkg:otp/public_key?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
            "product": "OTP",
            "programFiles": [
              "src/pubkey_cert.erl",
              "src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "1.15.1.7",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.17.1.3",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.20.3.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "1.21.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "1.4",
                "versionType": "otp"
              }
            ]
          },
          {
            "collectionURL": "https://github.com",
            "cpes": [
              "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "modules": [
              "pubkey_cert",
              "public_key"
            ],
            "packageName": "erlang/otp",
            "packageURL": "pkg:github/erlang/otp",
            "product": "OTP",
            "programFiles": [
              "lib/public_key/src/pubkey_cert.erl",
              "lib/public_key/src/public_key.erl"
            ],
            "programRoutines": [
              {
                "name": "pubkey_cert:validate_names/6"
              },
              {
                "name": "public_key:pkix_verify_hostname/3"
              }
            ],
            "repo": "https://github.com/erlang/otp",
            "vendor": "Erlang",
            "versions": [
              {
                "changes": [
                  {
                    "at": "26.2.5.21",
                    "status": "unaffected"
                  },
                  {
                    "at": "27.3.4.12",
                    "status": "unaffected"
                  },
                  {
                    "at": "28.5.0.1",
                    "status": "unaffected"
                  },
                  {
                    "at": "29.0.1",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "19.3",
                "versionType": "otp"
              },
              {
                "changes": [
                  {
                    "at": "0769050c69d73762672b0db1347b6993a5b31759",
                    "status": "unaffected"
                  },
                  {
                    "at": "fb67c6d1836f51105a96d8b769e71e4215a79457",
                    "status": "unaffected"
                  },
                  {
                    "at": "21abed64eb2026b5f82f432709e4e932f9be389a",
                    "status": "unaffected"
                  }
                ],
                "lessThan": "*",
                "status": "affected",
                "version": "b0c245e8132bb13171e277b1af59c0cec00c9459",
                "versionType": "git"
              }
            ]
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
      },
      {
        "affectedData": [
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:16.2::el8"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 16.2",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:23.3.4.18-2.el8ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:18.0::el9"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Services on OpenShift 18.0",
            "vendor": "Red Hat",
            "versions": [
              {
                "lessThan": "*",
                "status": "unaffected",
                "version": "0:26.2.5.21-2.el9ost",
                "versionType": "rpm"
              }
            ]
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:hummingbird:1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang27",
            "product": "Red Hat Hardened Images",
            "vendor": "Red Hat"
          },
          {
            "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
            "cpes": [
              "cpe:/a:redhat:openstack:17.1"
            ],
            "defaultStatus": "affected",
            "packageName": "erlang",
            "product": "Red Hat OpenStack Platform 17.1",
            "vendor": "Red Hat"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
      }
    ],
    "configurations": [
      {
        "nodes": [
          {
            "cpeMatch": [
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "245CC08C-EB1F-4230-8F4B-98CFFB623EB2",
                "versionEndExcluding": "26.2.5.21",
                "versionStartIncluding": "19.3",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "91269F6D-B8A3-41F2-871C-79EBB9460BE8",
                "versionEndExcluding": "27.3.4.12",
                "versionStartIncluding": "27.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "844A3F01-AF3C-4C48-81DB-932B803D22C4",
                "versionEndExcluding": "28.5.0.1",
                "versionStartIncluding": "28.0",
                "vulnerable": true
              },
              {
                "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
                "matchCriteriaId": "46976598-817C-4E93-AC4B-46434746C25F",
                "versionEndExcluding": "29.0.1",
                "versionStartIncluding": "29.0",
                "vulnerable": true
              }
            ],
            "negate": false,
            "operator": "OR"
          }
        ]
      }
    ],
    "cveTags": [],
    "descriptions": [
      {
        "lang": "en",
        "value": "Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification.\n\nTwo flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com):\n\nFirst, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName.\n\nSecond, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback.\n\nThe result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher.\n\nThis issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7."
      }
    ],
    "id": "CVE-2026-42790",
    "lastModified": "2026-09-18T13:18:22.680",
    "metrics": {
      "cvssMetricV31": [
        {
          "cvssData": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 5.2,
          "source": "nvd@nist.gov",
          "type": "Primary"
        },
        {
          "cvssData": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 7.4,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
            "version": "3.1"
          },
          "exploitabilityScore": 2.2,
          "impactScore": 5.2,
          "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
          "type": "Secondary"
        }
      ],
      "cvssMetricV40": [
        {
          "cvssData": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "HIGH",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "availabilityRequirement": "NOT_DEFINED",
            "baseScore": 7.6,
            "baseSeverity": "HIGH",
            "confidentialityRequirement": "NOT_DEFINED",
            "exploitMaturity": "NOT_DEFINED",
            "integrityRequirement": "NOT_DEFINED",
            "modifiedAttackComplexity": "NOT_DEFINED",
            "modifiedAttackRequirements": "NOT_DEFINED",
            "modifiedAttackVector": "NOT_DEFINED",
            "modifiedPrivilegesRequired": "NOT_DEFINED",
            "modifiedSubAvailabilityImpact": "NOT_DEFINED",
            "modifiedSubConfidentialityImpact": "NOT_DEFINED",
            "modifiedSubIntegrityImpact": "NOT_DEFINED",
            "modifiedUserInteraction": "NOT_DEFINED",
            "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
            "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
            "modifiedVulnIntegrityImpact": "NOT_DEFINED",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH",
            "vulnIntegrityImpact": "HIGH",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
          "type": "Secondary"
        }
      ],
      "ssvcV203": [
        {
          "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "ssvcData": {
            "id": "CVE-2026-42790",
            "options": [
              {
                "exploitation": "none"
              },
              {
                "automatable": "no"
              },
              {
                "technicalImpact": "total"
              }
            ],
            "role": "CISA Coordinator",
            "timestamp": "2026-05-27T00:00:00+00:00",
            "version": "2.0.3"
          }
        }
      ]
    },
    "published": "2026-05-27T17:16:36.030",
    "references": [
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Third Party Advisory"
        ],
        "url": "https://cna.erlef.org/cves/CVE-2026-42790.html"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/0769050c69d73762672b0db1347b6993a5b31759"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/21abed64eb2026b5f82f432709e4e932f9be389a"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Patch"
        ],
        "url": "https://github.com/erlang/otp/commit/fb67c6d1836f51105a96d8b769e71e4215a79457"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Vendor Advisory"
        ],
        "url": "https://github.com/erlang/otp/security/advisories/GHSA-22cw-4ph4-6447"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Mitigation",
          "Third Party Advisory"
        ],
        "url": "https://osv.dev/vulnerability/EEF-CVE-2026-42790"
      },
      {
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "tags": [
          "Product"
        ],
        "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:39809"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/errata/RHSA-2026:54757"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://access.redhat.com/security/cve/CVE-2026-42790"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482286"
      },
      {
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42790.json"
      }
    ],
    "sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
    "vulnStatus": "Modified",
    "weaknesses": [
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          },
          {
            "lang": "en",
            "value": "CWE-297"
          }
        ],
        "source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "type": "Secondary"
      },
      {
        "description": [
          {
            "lang": "en",
            "value": "CWE-295"
          }
        ],
        "source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
        "type": "Secondary"
      }
    ]
  }
}
—
Every claim, by kind

vulnerability

erlang: Erlang OTP public_key: Certificate validation bypass allows hostname spoofing
zetlyn/cve-redhat · 2026-05-27
cvss 7.4 cvss_vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N cwe CWE-295 packages erlang-0:23.3.4.18-2.el8ost, erlang-0:26.2.5.21-2.el9ost, erlang27-main-27.3.4.17-1.hum1 severity important source
Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_cert and public_key modules) allows a DNS nameConstraints bypass via subject CommonName fallback in TLS hostname verification. Two flaws combine to allow a subordinate CA whose DNS nameConstraints are restricted (e.g. permitted;DNS:allowed.example.com) to issue a leaf certificate that an OTP TLS client accepts as a valid identity for an out-of-scope hostname (e.g. victim.example.com): First, pubkey_cert:validate_names/6 in lib/public_key/src/pubkey_cert.erl only checks SAN DNS entries against nameConstraints. Per RFC 5280, a permitted DNS subtree only restricts certificates that contain a DNS-typed name. A leaf with no subjectAltName therefore trivially satisfies any permitted;DNS:... constraint regardless of its subject commonName. Second, public_key:pkix_verify_hostname/3 in lib/public_key/src/public_key.erl falls back to the subject commonName when no subjectAltName is present, extracting id-at-commonName attributes as presented IDs and matching them against the reference hostname. The strict pkix_verify_hostname_match_fun(https) matcher does not suppress this fallback. The result is that path validation accepts a CN-only leaf under a DNS-constrained intermediate (no SAN means the nameConstraints are not triggered), and hostname verification then accepts it via the CN fallback. The bypass is reachable from stock ssl:connect with verify_peer, a trusted CA, SNI, and the canonical strict https hostname matcher. This issue affects OTP from OTP 19.3 before OTP 29.0.1, OTP 28.5.0.1, OTP 27.3.4.12 and OTP 26.2.5.21, corresponding to public_key from 1.4 before 1.21.1, 1.20.3.1, 1.17.1.3 and 1.15.1.7.
zetlyn/cve-nvd · 2026-05-27
automatable no cvss 8.1 cvss4 7.6 cvss4_vector CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X cvss_vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N cwe CWE-295, CWE-297 exploitation none product OTP severity HIGH status Modified technical_impact total vendor Erlang source