CVE-2025-68698
Bleichenbacher Padding Oracle in Jervis Library Before
Publication date: 2026-01-13
Last updated on: 2026-01-13
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| samrocketman | jervis | 2.2 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-327 | The product uses a broken or risky cryptographic algorithm or protocol. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2025-68698 is a critical vulnerability in the Jervis library versions prior to 2.2, caused by the use of RSA PKCS#1 v1.5 padding (PKCS1Encoding) which is vulnerable to Bleichenbacher padding oracle attacks. This vulnerability allows an attacker with access to a decryption oracle to decrypt ciphertext without the private key by exploiting timing differences or error messages. Jervis used this vulnerable padding to encrypt AES keys that protect GitHub App authentication tokens. The vulnerability is fixed in version 2.2 by migrating to OAEPEncoding (Optimal Asymmetric Encryption Padding), which is resistant to such attacks. [1]
How can this vulnerability impact me? :
This vulnerability can critically impact you if you use Jervis versions prior to 2.2 and rely on its encryption methods directly. An attacker could exploit the Bleichenbacher padding oracle attack to decrypt AES keys without the private RSA key, potentially exposing sensitive data such as GitHub App authentication tokens. Although the tokens expire within one hour or less, this exposure could lead to unauthorized access or compromise of authentication credentials. The vulnerability is mitigated by upgrading to Jervis 2.2, which uses RSA with OAEP padding and AES-256-GCM encryption, providing confidentiality and integrity protection. [1, 2]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by inspecting the version of the Jervis library in use and reviewing the encryption implementation. Specifically, check if the Jervis version is prior to 2.2 and if the code uses PKCS1Encoding wrapping RSAEngine for encryption and decryption in the SecurityIO.groovy file (lines 463-465 and 495-497). There are no specific network detection commands provided, but you can verify the Jervis version and inspect the code for use of PKCS1Encoding. For example, you can check the installed Jervis version with a package manager or by inspecting the library files. No direct network scanning commands are suggested. [1]
What immediate steps should I take to mitigate this vulnerability?
The immediate mitigation step is to upgrade Jervis to version 2.2 or later, where the vulnerability is fixed by migrating from PKCS1Encoding to OAEPEncoding and upgrading encryption from AES-256-CBC to AES-256-GCM with RSA-OAEP padding. This upgrade enforces stronger RSA key sizes (minimum 2048 bits recommended 4096 bits) and removes vulnerable padding schemes. There are no workarounds available, so upgrading is essential. Additionally, be aware that encrypted data from previous versions will be discarded and tokens will be reissued. [1, 2]