# Jervis 密码确定性AES IV漏洞
## 概述
Jervis 是一个用于 Job DSL 插件脚本和共享 Jenkins 流水线库的库。在版本 2.2 之前,该库使用从密码短语派生的确定性 AES 初始化向量(IV),存在安全漏洞。
## 影响版本
- 受影响版本:Jervis < 2.2
- 修复版本:Jervis 2.2
## 细节
Jervis 在加密过程中使用从固定密码派生的确定性 AES IV,而非随机或唯一 IV。这导致相同的明文在多次加密时生成相同的密文,破坏了加密的语义安全性,可能被用于模式分析或重放攻击。
## 影响
攻击者可能通过分析密文模式推断出加密数据的内容,或利用重复的加密输出进行进一步攻击,导致敏感信息泄露。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Deterministic AES IV Derivation from Passphrase · Advisory · samrocketman/jervis · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
**Vulnerability Summary:**
- **CVE ID:** CVE-2025-68701
- **Severity:** High
- **Affected Package:** net.gleske:jervis (Maven)
- **Affected Versions:** < 2.2
- **Patched Versions:** 2.2
**Vulnerability:**
The `encryptWithAES256` and `decryptWithAES256` methods in `SecurityIO.groovy` generate the Initialization Vector (IV) from a passphrase, leading to IV reuse. This results in consistent ciphertext for the same passphrase and plaintext, compromising the encryption scheme's security.
```groovy
// Vulnerable code snippet
String salt = sha256Sum(passphrase).toLowerCase()
byte[] b_iv = salt.substring(0, 16).getBytes('UTF-8')
```
**Impact:**
- **Internal Use:** Low severity.
- **Direct Use:** High severity, enabling pattern analysis and reducing encryption security.
**Patches:**
- Random IV generation and prepending to ciphertext.
- Upgrade to Jervis 2.2.
**Workarounds:**
- None provided.
标题: Merge branch 'advisory-fix-1' · samrocketman/jervis@c3981ff · GitHub -- 🔗来源链接
标签:x_refsource_MISC
暂无评论