CVE-2026-33308
Received Received - Intake
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
Mod_gnutls is a TLS module for Apache HTTPD based on GnuTLS. Prior to version 0.13.0, code for client certificate verification did not check the key purpose as set in the Extended Key Usage extension. An attacker with access to the private key for a valid certificate issued by a CA trusted for TLS client authentication but designated for a different purpose could have used that certificate to improperly access resources requiring TLS client authentication. Server configurations that do not use client certificates (`GnuTLSClientVerify ignore`, the default) are not affected. The problem has been fixed in version 0.13.0 by rewriting certificate verification to use `gnutls_certificate_verify_peers()`, and requiring key purpose id-kp-clientAuth (also known as `tls_www_client` in GnuTLS) by default if the Extended Key Usage extension is present. The new `GnuTLSClientKeyPurpose` option allows overriding the expected key purpose if needed (please see the manual for details). Behavior for certificates without an Extended Key Usage extension is unchanged. If dedicated (sub-)CAs are used for issuing TLS client certificates only (not for any other purposes) the issue has no practical impact.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-24
Last Modified
2026-03-24
Generated
2026-05-07
AI Q&A
2026-03-24
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
mod_gnutls_project mod_gnutls to 0.13.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
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]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart