Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Network-reachable TLS client with no auth or UI, but exploitation needs a MitM position and a trusted non-serverAuth certificate, justifying AC:H; impersonation breaks C and I, not A.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
3DescriptionCVE.org
In OCaml-TLS before 2.1.0, the client implementation does insufficient checks of the certificate provided by the server, which allows impersonation with certificates that are not meant for server authentication (because of KeyUsage and ExtendedKeyUsage).
AnalysisAI
Server impersonation in OCaml-TLS before 2.1.0 allows a malicious TLS server to present a certificate not intended for server authentication and still be accepted by client code, enabling man-in-the-middle and impersonation attacks against any application linking the library as a TLS client. The client fails to validate KeyUsage and ExtendedKeyUsage extensions properly, breaking a core PKIX trust assumption. No public exploit identified at time of analysis and EPSS sits at 0.15% (4th percentile), but the CVSS 9.1 reflects the broad confidentiality and integrity impact on encrypted sessions.
Technical ContextAI
OCaml-TLS is a pure-OCaml implementation of the TLS protocol used by MirageOS and other OCaml ecosystem projects for both client and server TLS. The root cause maps to CWE-295 (Improper Certificate Validation): when validating a server's X.509 certificate chain, the client did not enforce that the leaf certificate's KeyUsage (e.g., digitalSignature/keyEncipherment) and ExtendedKeyUsage (e.g., id-kp-serverAuth, OID 1.3.6.1.5.5.7.3.1) actually permit TLS server authentication. As a result, certificates legitimately issued for other purposes - such as client authentication, code signing, S/MIME, or OCSP signing - could be reused by an attacker as if they were server certificates, undermining a key PKIX constraint that segregates certificate purposes within a single CA hierarchy.
RemediationAI
Upstream fix available in OCaml-TLS 2.1.0 - upgrade any application or unikernel that links ocaml-tls (and transitive consumers such as tls-mirage, tls-lwt, tls-async, http clients, and MirageOS images) to 2.1.0 or later and rebuild/redeploy, since this is a library-level fix that does not propagate via runtime patching. Consult the OSV record at https://osv.dev/vulnerability/OSEC-2026-06 and the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-45388 to confirm the patched release and any package-manager constraints (opam pins). Where immediate upgrade is not possible, compensating controls include pinning the expected server certificate or its SPKI in the application (certificate or public-key pinning, with the trade-off that certificate rotation requires a code/config update), restricting outbound TLS to a narrow allowlist of hosts reachable only over trusted network paths to reduce MitM opportunity, and operating affected clients only over VPN/IPsec tunnels to a trusted egress (which adds latency and operational complexity but eliminates opportunistic on-path attackers).
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-36764
GHSA-rrgx-wgv5-5hf9