CVE-2016-10535 Timing Attack in csrf-lite
An attacker can bypass CSRF protection in csrf-lite by exploiting a timing side-channel to guess the secret token efficiently.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2016-10535?
CVE-2016-10535 is a medium-severity vulnerability in HackerOne csrf-lite node module, published on 31 May 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
csrf-lite is a cross-site request forgery protection library for framework-less node sites. csrf-lite uses `===`, a fail first string comparison, instead of a time constant string comparison This enables an attacker to guess the secret in no more than (16*18)288 guesses, instead of the 16^18 guesses required were the timing attack not present.
Which versions are affected by CVE-2016-10535?
2 open source packages ship an affected version, including csrf-lite. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
csrf-lite npm | All versions | 0.1.2 |
csrf-lite npm | All versions | 0.1.2 |
Products include Csrf-Lite Project Csrf-Lite.
How do I fix CVE-2016-10535?
Upgrade csrf-lite to 0.1.2 or later.
Is CVE-2016-10535 being exploited?
There is no known exploitation of CVE-2016-10535 in the wild and no public exploit code.
Sources
Also known as GHSA-hjhr-r3gq-qvp6.