CVE-2026-89086
nicheMissing public-key check enables RSA signature forgery in OCaml jose before 0.11.0
CVE-2026-89086 is a critical improper-signature-verification flaw (CWE-347) in the jose package for OCaml before version 0.11.0: library calls that validate an RSA signature only confirm that PKCS #1 decoding succeeds and declare the signature valid without performing the required verification steps that involve the public key. Because acceptance never actually depends on the signer's key, an unauthenticated attacker who can submit a signed token (for example a JWS or JWT) to an application using jose can craft signature values the library accepts without knowing the private key. The practical result is complete RSA signature forgery, typically enabling authentication bypass, user impersonation, and undetected tampering with signed data; CVSS rates it 9.1 critical with high confidentiality and integrity impact and no privileges or user interaction required. Any OCaml application or service using jose before 0.11.0 to verify RSA-signed tokens is affected; no public proof-of-concept is known, the flaw is not in CISA KEV, and exploitation has not been reported in the wild.
What to do: Upgrade to jose 0.11.0 or later and redeploy every application and service that links the library. Until patched, treat RSA signatures verified by vulnerable versions as unverified: restrict or independently re-verify JWS/JWTs from untrusted senders, or switch to another signature algorithm or JOSE library where feasible. Audit authentication logs for tokens accepted through the vulnerable path, since forged tokens leave no cryptographic trace.
| jose project (OCaml / opam ecosystem) jose (OCaml JOSE/JWS-JWT library) | all versions before 0.11.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In the jose package before 0.11.0 for OCaml, library calls to validate an RSA signature only confirm that PKCS #1 decoding succeeds, and proceed to declare the signature valid without the required steps that involve the public key.
- Weakness
- CWE-347
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
In the news0 stories
No ingested article mentions this CVE yet.