Executive brief
The MSR JavaScript Cryptography Library (msrcrypto) contains multiple bugs in its Elliptic Curve Cryptography (ECC) implementation used for digital signatures and key agreement. An attacker could exploit these flaws to extract information about a server's private ECC key or forge signatures that appear valid, potentially compromising the cryptographic security of applications relying on this library for authentication and encryption.
Technical details
This is a cryptographic implementation vulnerability (CWE-682: Incorrect Calculation) in the ECC subsystem of the msrcrypto JavaScript library. The bugs allow two distinct attacks: (1) a key leakage attack that reveals information about private ECC keys, and (2) ECDSA signature forgery, where an attacker can construct invalid signatures that pass verification. The vulnerability affects all versions prior to 1.5.8 and is exploitable remotely without authentication or user interaction from any network-accessible application using the vulnerable library. The fix was released in version 1.5.8 and involves correcting the flawed ECC calculations.
Affected products
- Microsoft msrcrypto before 1.5.8
Timeline
- 2020-04-15: disclosed
- 2022-01-06: patched: Version 1.5.8 released with fixes