CVE-2026-33308
Improper Client Certificate Validation in mod_gnutls Enables Unauthorized Access
Publication date: 2026-03-24
Last updated on: 2026-03-24
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| mod_gnutls_project | mod_gnutls | to 0.13.0 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-295 | The product does not validate, or incorrectly validates, a certificate. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2026-33308 is a vulnerability in the mod_gnutls package, a TLS module for Apache HTTPD. Before version 0.13.0, the module did not properly check the key purpose specified in the Extended Key Usage (EKU) extension of client certificates during verification.
This flaw allowed an attacker who had access to the private key of a valid certificateβissued by a trusted Certificate Authority (CA) for TLS client authentication but intended for a different purposeβto misuse that certificate to gain unauthorized access to resources that require TLS client authentication.
The issue was fixed in version 0.13.0 by rewriting the certificate verification process to enforce the presence of the key purpose id-kp-clientAuth (tls_www_client) when the EKU extension is present, and by introducing a new configuration option to override the expected key purpose if needed.
How can this vulnerability impact me? :
This vulnerability can allow an attacker to gain unauthorized access to resources that require TLS client authentication by using a certificate that is valid but intended for a different purpose.
Since the attack requires possession of the private key of such a certificate, it could lead to a breach of confidentiality by exposing sensitive information or access to protected systems.
The vulnerability has a moderate severity with a CVSS v3.1 base score of 6.8, indicating a network-based attack with high attack complexity but no required privileges or user interaction.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
[{'type': 'paragraph', 'content': 'This vulnerability involves improper client certificate verification in mod_gnutls versions prior to 0.13.0, specifically the failure to check the key purpose in the Extended Key Usage extension of client certificates.'}, {'type': 'paragraph', 'content': 'Detection would involve verifying the version of mod_gnutls running on your Apache HTTPD server to see if it is older than 0.13.0.'}, {'type': 'paragraph', 'content': 'Additionally, you can check your server configuration for the GnuTLSClientVerify setting. If it is set to "ignore" (the default), the vulnerability does not affect your server.'}, {'type': 'paragraph', 'content': 'Since the vulnerability is related to certificate validation, you might also inspect client certificates used for authentication to verify if they have the correct Extended Key Usage (EKU) extension including id-kp-clientAuth.'}, {'type': 'paragraph', 'content': 'Suggested commands include:'}, {'type': 'list_item', 'content': 'Check mod_gnutls version: `apachectl -M | grep gnutls` or check the package version via your package manager.'}, {'type': 'list_item', 'content': 'Review Apache configuration for GnuTLSClientVerify: `grep GnuTLSClientVerify /etc/apache2/mods-enabled/gnutls.conf` (path may vary).'}, {'type': 'list_item', 'content': "Inspect client certificates for EKU extension using OpenSSL: `openssl x509 -in client-cert.pem -text -noout | grep -A 5 'Extended Key Usage'`."}] [1]
What immediate steps should I take to mitigate this vulnerability?
[{'type': 'paragraph', 'content': 'The primary mitigation is to upgrade mod_gnutls to version 0.13.0 or later, where the certificate verification process has been rewritten to properly check the key purpose in the Extended Key Usage extension.'}, {'type': 'paragraph', 'content': 'If upgrading immediately is not possible, you can mitigate the risk by ensuring that your server configuration does not require client certificates (i.e., keep GnuTLSClientVerify set to "ignore"), as servers not requiring client certificates are not affected.'}, {'type': 'paragraph', 'content': 'Another workaround is to use dedicated subordinate CAs exclusively for issuing TLS client certificates, avoiding the use of certificates intended for other purposes.'}, {'type': 'paragraph', 'content': 'Review and consider using the new GnuTLSClientKeyPurpose option introduced in version 0.13.0 to explicitly specify the expected key purpose if needed.'}] [1]