FKIE_CVE-2025-15346

Vulnerability from fkie_nvd - Published: 2026-01-08 00:15 - Updated: 2026-10-07 09:10
Summary
A vulnerability in the handling of verify_mode = CERT_REQUIRED in the wolfssl Python package (wolfssl-py) causes client certificate requirements to not be fully enforced.  Because the WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT flag was not included, the behavior effectively matched CERT_OPTIONAL: a peer certificate was verified if presented, but connections were incorrectly authenticated when no client certificate was provided.  This results in improper authentication, allowing attackers to bypass mutual TLS (mTLS) client authentication by omitting a client certificate during the TLS handshake.  The issue affects versions up to and including 5.8.2.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "collectionURL": "https://pypi.org/",
          "defaultStatus": "unaffected",
          "modules": [
            "TLS Peer Certificate Verification (CERT_REQUIRED verify mode)"
          ],
          "packageName": "wolfssl",
          "platforms": [
            "Linux",
            "MacOS",
            "Windows"
          ],
          "product": "wolfSSL-py",
          "programFiles": [
            "wolfssl/__init__.py"
          ],
          "repo": "https://github.com/wolfSSL/wolfssl-py",
          "vendor": "wolfSSL",
          "versions": [
            {
              "lessThanOrEqual": "5.8.2",
              "status": "affected",
              "version": "5.3.0",
              "versionType": "python"
            }
          ]
        }
      ],
      "source": "facts@wolfssl.com"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "A vulnerability in the handling of verify_mode = CERT_REQUIRED in the wolfssl Python package (wolfssl-py) causes client certificate requirements to not be fully enforced.\u00a0\n\nBecause the WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT flag was not included, the behavior effectively matched CERT_OPTIONAL: a peer certificate was verified if presented, but connections were incorrectly authenticated when no client certificate was provided.\u00a0\n\nThis results in improper authentication, allowing attackers to bypass mutual TLS (mTLS) client authentication by omitting a client certificate during the TLS handshake.\u00a0\n\nThe issue affects versions up to and including 5.8.2."
    },
    {
      "lang": "es",
      "value": "Una vulnerabilidad en el manejo de verify_mode = CERT_REQUIRED en el paquete Python wolfssl (wolfssl-py) causa que los requisitos de certificado de cliente no se apliquen completamente.\n\nDebido a que la bandera WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT no fue incluida, el comportamiento coincidi\u00f3 efectivamente con CERT_OPTIONAL: un certificado de par fue verificado si se present\u00f3, pero las conexiones fueron autenticadas incorrectamente cuando no se proporcion\u00f3 ning\u00fan certificado de cliente.\n\nEsto resulta en una autenticaci\u00f3n impropia, permitiendo a los atacantes eludir la autenticaci\u00f3n de cliente de TLS mutuo (mTLS) al omitir un certificado de cliente durante el handshake TLS.\n\nEl problema afecta a las versiones hasta la 5.8.2 inclusive."
    }
  ],
  "id": "CVE-2025-15346",
  "lastModified": "2026-10-07T09:10:00.160",
  "metrics": {
    "cvssMetricV40": [
      {
        "cvssData": {
          "Automatable": "YES",
          "Recovery": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "attackVector": "NETWORK",
          "availabilityRequirement": "NOT_DEFINED",
          "baseScore": 9.3,
          "baseSeverity": "CRITICAL",
          "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": "NONE",
          "valueDensity": "NOT_DEFINED",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/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:Y/R:X/V:X/RE:X/U:X",
          "version": "4.0",
          "vulnAvailabilityImpact": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "vulnerabilityResponseEffort": "NOT_DEFINED"
        },
        "source": "facts@wolfssl.com",
        "type": "Secondary"
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2025-15346",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "timestamp": "2026-01-08T19:22:43.022302Z",
          "version": "2.0.3"
        }
      }
    ]
  },
  "published": "2026-01-08T00:15:59.393",
  "references": [
    {
      "source": "facts@wolfssl.com",
      "url": "https://github.com/wolfSSL/wolfssl-py/commit/b4517dece79f682a8f453abce5cfc0b81bae769d"
    },
    {
      "source": "facts@wolfssl.com",
      "url": "https://github.com/wolfSSL/wolfssl-py/pull/62"
    },
    {
      "source": "facts@wolfssl.com",
      "url": "https://github.com/wolfSSL/wolfssl-py/releases/tag/v5.8.4-stable"
    }
  ],
  "sourceIdentifier": "facts@wolfssl.com",
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-287"
        },
        {
          "lang": "en",
          "value": "CWE-306"
        }
      ],
      "source": "facts@wolfssl.com",
      "type": "Secondary"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…