Miggo Logo

CVE-2023-5388:
NSS was susceptible to a timing side-channel attack when performing RSA decryption. This attack...

6.5

CVSS Score
3.1

Basic Information

EPSS Score
0.39449%
CWE
-
Published
3/19/2024
Updated
11/15/2024
KEV Status
No
Technology
-

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability CVE-2023-5388 is a timing side-channel attack against RSA decryption in NSS. The core issue, as detailed in Bugzilla #1780432 and the commit message for the fix, was that fundamental multi-precision integer (MPI) operations — specifically multiplication and Montgomery reduction — did not execute in constant time. This was particularly problematic during the RSA unblinding process(). The 'clamping' behavior of MPI objects (where the number of internal limbs could change based on the value) could also lead to timing variations in subsequent operations like converting the MPI to a byte string for padding checks. The patch explicitly mentions adding constant-time versions of 'mul' (multiplication) and montgomery_reduce. Therefore, the pre-existing, non-constant-time versions of these functions are identified as vulnerable. The RSA unpadding functions are also listed with medium confidence as they consume the output of these vulnerable operations, and their behavior could be affected by the non-constant time nature of the preceding calculations, as described in the Bugzilla report regarding conversion to byte strings and padding checks.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

NSS w*s sus**pti*l* to * timin* si**-***nn*l *tt**k w**n p*r*ormin* RS* ***ryption. T*is *tt**k *oul* pot*nti*lly *llow *n *tt**k*r to r**ov*r t** priv*t* **t*. T*is vuln*r**ility *****ts *ir**ox < ***, *ir**ox *SR < ***.*, *n* T*un**r*ir* < ***.*.

Reasoning

T** vuln*r**ility *V*-****-**** is * timin* si**-***nn*l *tt**k ***inst RS* ***ryption in NSS. T** *or* issu*, *s **t*il** in *u*zill* #******* *n* t** *ommit m*ss*** *or t** *ix, w*s t**t *un**m*nt*l multi-pr**ision int***r (MPI) op*r*tions — sp**i*