CVE-2025-15346

N/A Unknown

📋 TL;DR

This vulnerability in wolfssl-py allows attackers to bypass mutual TLS (mTLS) client authentication by omitting client certificates during TLS handshakes. It affects Python applications using wolfssl-py for mTLS authentication with verify_mode=CERT_REQUIRED. Systems relying on client certificates for authentication are vulnerable to unauthorized access.

💻 Affected Systems

Products:
  • wolfssl-py (wolfSSL Python bindings)
Versions: All versions up to and including 5.8.2
Operating Systems: All platforms running Python
Default Config Vulnerable: ✅ No
Notes: Only affects configurations using verify_mode=CERT_REQUIRED for client certificate authentication.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain unauthorized access to protected systems and data by bypassing mTLS authentication entirely.

🟠

Likely Case

Unauthorized access to APIs or services protected by mTLS client authentication.

🟢

If Mitigated

Limited impact if additional authentication layers or network segmentation exist.

🌐 Internet-Facing: HIGH - Internet-facing services using mTLS for authentication are directly vulnerable to bypass.
🏢 Internal Only: MEDIUM - Internal services using mTLS could be compromised if attackers gain network access.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires network access to vulnerable service but no authentication or special tools.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.8.4-stable

Vendor Advisory: https://github.com/wolfSSL/wolfssl-py/releases/tag/v5.8.4-stable

Restart Required: Yes

Instructions:

1. Update wolfssl-py: pip install wolfssl-py==5.8.4
2. Restart all Python applications using wolfssl-py
3. Verify verify_mode=CERT_REQUIRED now properly enforces client certificates

🔧 Temporary Workarounds

Implement certificate validation at application layer

all

Add manual certificate verification in application code after TLS handshake

🧯 If You Can't Patch

  • Implement network-level controls to restrict access to vulnerable services
  • Add additional authentication layers (API keys, OAuth tokens) alongside mTLS

🔍 How to Verify

Check if Vulnerable:

Check if using wolfssl-py <=5.8.2 with verify_mode=CERT_REQUIRED in TLS configuration

Check Version:

pip show wolfssl-py | grep Version

Verify Fix Applied:

Test mTLS connections without client certificate - should be rejected after patch

📡 Detection & Monitoring

Log Indicators:

  • Successful TLS connections without client certificates in mTLS-protected services
  • Authentication logs showing access without expected certificate validation

Network Indicators:

  • TLS handshakes completing without client certificate exchange
  • Unauthorized access patterns to mTLS-protected endpoints

SIEM Query:

source="application_logs" AND ("TLS handshake completed" OR "connection established") AND NOT "client certificate verified" AND destination_port IN (443, 8443, other_mTLS_ports)

🔗 References

📤 Share & Export