Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Network-reachable mTLS endpoint, no prior auth (PR:N) since the bypass is the auth step, low complexity given any chained cert works; high C/I via impersonation, no availability impact.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
3DescriptionCVE.org
In OCaml-TLS before 2.1.0, the server implementation does insufficient checks of the certificate provided by the client (when doing client authentication), which allows impersonation with certificates that are not meant for client authentication (because of KeyUsage and ExtendedKeyUsage).
AnalysisAI
Authentication bypass in OCaml-TLS server implementations before version 2.1.0 allows remote attackers to impersonate legitimate clients during mutual TLS authentication by presenting certificates whose KeyUsage and ExtendedKeyUsage extensions do not authorize client authentication. The server fails to enforce these X.509 certificate purpose constraints, so any valid certificate chain trusted by the server may be accepted regardless of intended use. EPSS probability is low (0.12%, 2nd percentile) and no public exploit identified at time of analysis, but the CVSS 9.1 reflects the high impact on confidentiality and integrity of mTLS-protected services.
Technical ContextAI
OCaml-TLS is a pure-OCaml implementation of the TLS protocol used by MirageOS unikernels and other OCaml-based servers that perform mutual TLS (mTLS) authentication. X.509 certificates carry KeyUsage (RFC 5280 §4.2.1.3) and ExtendedKeyUsage (§4.2.1.12) extensions that restrict the cryptographic purposes a certificate may be used for - for example, a certificate marked only for serverAuth or codeSigning should not be accepted as a client identity. The vulnerability stems from the server side of OCaml-TLS omitting these purpose checks during the client-certificate verification path, an instance of improper certificate validation (CWE-295 family, though no CWE was assigned in the input). The result is that the chain-of-trust check succeeds without ensuring the leaf certificate was actually issued for client authentication, so any certificate signed by a trusted CA can authenticate as a client.
RemediationAI
Vendor-released patch: OCaml-TLS 2.1.0 - upgrade the ocaml-tls opam dependency to 2.1.0 or later and rebuild and redeploy any unikernels or OCaml services that link it, since OCaml-TLS is statically embedded rather than dynamically loaded. Consult the OSV advisory at https://osv.dev/vulnerability/OSEC-2026-07 and the NVD record at https://nvd.nist.gov/vuln/detail/CVE-2026-45389 for the upstream commit references. Where upgrade cannot be done immediately, compensating controls include narrowing the CA trust store used for client authentication to a dedicated internal CA that only issues client-auth certificates (so no certificate with unintended KeyUsage/EKU is in scope), or terminating mTLS in front of the OCaml-TLS server using a proxy such as nginx or HAProxy that does enforce KeyUsage/EKU; the trade-off is added operational complexity and, for proxy termination, the loss of end-to-end TLS to the OCaml service.
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
Same weakness CWE-295 – Improper Certificate Validation
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36765
GHSA-8wf9-g5q8-gg97