Timing Attack Affecting fernet Open this link in a new tab package, versions <0.1.0 >=0.0.1
Attack Complexity
High
Confidentiality
High
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications-
snyk-id
npm:fernet:20140306
-
published
22 Nov 2016
-
disclosed
6 Mar 2014
-
credit
Chris Continanza
Introduced: 6 Mar 2014
CWE-208 Open this link in a new tabHow to fix?
Upgrade fernet
to version 0.1.0 or higher.
Overview
fernet
is a Javascript implementation of Fernet symmetric encryption.
Affected versions of the package are vulnerable to a timing attack.
The library implemented a character to character comparison, similar to the built-in string comparison mechanism, ===
, and not a time constant string comparison. As a result, the comparison will fail faster when the first characters in the HMAC are incorrect.
An attacker can use this difference to perform a timing attack, essentially allowing them to guess the HMAC one character at a time.
You can read more about timing attacks in Node.js on the Snyk blog.