Timing Attack Affecting fernet Open this link in a new tab package, versions <0.1.0 >=0.0.1


0.0
medium
  • 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 tab

How 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.