Executive brief
jsrsasign is a popular JavaScript library for RSA cryptographic operations, including encryption and decryption. A timing-based vulnerability known as the Marvin attack allows an attacker to decrypt RSA PKCS#1.5 and RSAOAEP-encrypted messages without possessing the private key. This could lead to exposure of sensitive data encrypted with affected systems.
Technical details
The vulnerability is a Marvin attack (CWE-203: Observable Discrepancy) affecting RSA PKCS#1.5 and RSAOAEP decryption implementations in jsrsasign versions prior to 11.0.0. The attack exploits timing differences in the decryption process that leak information about whether padding is valid, allowing an attacker to gradually decrypt ciphertexts through repeated queries over a network. No authentication or user interaction is required; an attacker only needs network access to the decryption endpoint. The vulnerability impacts confidentiality (high) and availability (low), with a CVSS score of 7.5. The fix is available in version 11.0.0.
Affected products
- jsrsasign jsrsasign before 11.0.0
Timeline
- 2024-01-19: disclosed: Advisory published
- 2024-01-17: patched: Fix released in version 11.0.0