← Back to CVE Explorer

CVE-2026-103602

Full vulnerability record from the local CVENow database.

Description

Improper certificate validation in PkixNameConstraintValidator in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who controls, or can obtain certificates from, a name-constrained intermediate CA to have certificates accepted during PKIX certification path validation for email addresses, DNS names or URI hosts that lie within excluded subtrees applying to that CA, via an rfc822Name, dNSName or uniformResourceIdentifier name whose host ends with a dot, because names and constraints were compared without first removing the RFC 1034 root-label trailing dot, so a fully qualified host name did not match an excluded subtree for the same host written without the dot.

Severity
HIGH
CVSS score
8.2 (v4.0)
Vulnerability status
Analyzed
Source identifier
91579145-5d7b-4cc5-b925-a0262ff19630
Published
2026-10-02 08:17:00.677000
Last modified
2026-10-28 13:30:45.207000
View original CVE JSON
{
  "id": "CVE-2026-103602",
  "sourceIdentifier": "91579145-5d7b-4cc5-b925-a0262ff19630",
  "published": "2026-10-02T08:17:00.677",
  "lastModified": "2026-10-28T13:30:45.207",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Improper certificate validation in PkixNameConstraintValidator in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who controls, or can obtain certificates from, a name-constrained intermediate CA to have certificates accepted during PKIX certification path validation for email addresses, DNS names or URI hosts that lie within excluded subtrees applying to that CA, via an rfc822Name, dNSName or uniformResourceIdentifier name whose host ends with a dot, because names and constraints were compared without first removing the RFC 1034 root-label trailing dot, so a fully qualified host name did not match an excluded subtree for the same host written without the dot."
    }
  ],
  "affected": [
    {
      "source": "91579145-5d7b-4cc5-b925-a0262ff19630",
      "affectedData": [
        {
          "vendor": "Legion of the Bouncy Castle Inc.",
          "product": "bc-csharp",
          "defaultStatus": "unaffected",
          "collectionURL": "https://www.nuget.org/packages/BouncyCastle.Cryptography",
          "packageName": "BouncyCastle.Cryptography",
          "programFiles": [
            "crypto/src/pkix/PkixNameConstraintValidator.cs",
            "crypto/src/pkix/NameConstraintUtilities.cs",
            "crypto/src/pkix/NameConstraintEmail.cs",
            "crypto/src/pkix/NameConstraintDns.cs",
            "crypto/src/pkix/NameConstraintUri.cs"
          ],
          "repo": "https://github.com/bcgit/bc-csharp",
          "versions": [
            {
              "version": "0",
              "lessThan": "2.7.0",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV40": [
      {
        "source": "91579145-5d7b-4cc5-b925-a0262ff19630",
        "type": "Secondary",
        "cvssData": {
          "version": "4.0",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/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",
          "baseScore": 8.2,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "attackRequirements": "PRESENT",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "vulnConfidentialityImpact": "NONE",
          "vulnIntegrityImpact": "HIGH",
          "vulnAvailabilityImpact": "NONE",
          "subConfidentialityImpact": "NONE",
          "subIntegrityImpact": "NONE",
          "subAvailabilityImpact": "NONE",
          "exploitMaturity": "NOT_DEFINED",
          "confidentialityRequirement": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "valueDensity": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Primary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
          "baseScore": 5.3,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "NONE",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-10-02T17:49:31.345892Z",
          "id": "CVE-2026-103602",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "91579145-5d7b-4cc5-b925-a0262ff19630",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-295"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:bouncycastle:bc-csharp:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "2.7.0",
              "matchCriteriaId": "21A715E8-41BE-47EB-833D-07B9908CCF31"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/bcgit/bc-csharp/commit/75c3c576602886180ed92a63c89419e3bd63b392",
      "source": "91579145-5d7b-4cc5-b925-a0262ff19630",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/bcgit/bc-csharp/commit/be276e057775a6a674a62e9d9a2583b229978f73",
      "source": "91579145-5d7b-4cc5-b925-a0262ff19630",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/bcgit/bc-csharp/commit/f196a22bbf7765cc19b0c4f4645c74ea7ad35e09",
      "source": "91579145-5d7b-4cc5-b925-a0262ff19630",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/bcgit/bc-csharp/wiki/CVE-2026-103602",
      "source": "91579145-5d7b-4cc5-b925-a0262ff19630",
      "tags": [
        "Patch",
        "Vendor Advisory"
      ]
    }
  ]
}