The blog post at react.dev/blog/2025/12... has been updated with the new info.
The blog post at react.dev/blog/2025/12... has been updated with the new info.
my dentist: what
my dentist: what
Read the post to learn if you're affected:
svelte.dev/blog/cves-af...
TOTP stands for “Time-based One-Time Password,” after all. The “one-time” property is important enough to account for 50% of the acronym. 🙂
Even the spec explicitly calls for blocking reuse: datatracker.ietf.org/doc/html/rfc... 6/6
TOTP stands for “Time-based One-Time Password,” after all. The “one-time” property is important enough to account for 50% of the acronym. 🙂
Even the spec explicitly calls for blocking reuse: datatracker.ietf.org/doc/html/rfc... 6/6
I’d argue that “don’t get phished” isn’t very constructive advice. To err is human.
Upgrading to phishing-resistant 2FA methods such as passkeys is a good idea. See docs.npmjs.com/configuring-...
But this would require all maintainers to act. 5/
I’d argue that “don’t get phished” isn’t very constructive advice. To err is human.
Upgrading to phishing-resistant 2FA methods such as passkeys is a good idea. See docs.npmjs.com/configuring-...
But this would require all maintainers to act. 5/
This extends the attacker's window for publishing nasty versions of your packages. 4/
This extends the attacker's window for publishing nasty versions of your packages. 4/
But the attacker can reuse the phished TOTP code to perform a downgrade and allow publishing with “a granular access token with bypass 2FA enabled.”
Granular access tokens can be created without any 2FA checks. 3/
But the attacker can reuse the phished TOTP code to perform a downgrade and allow publishing with “a granular access token with bypass 2FA enabled.”
Granular access tokens can be created without any 2FA checks. 3/
However, if an attacker phishes your password and a valid TOTP code, they can reuse them to publish packages in your name.
But at least the time window is limited, right? 2/
However, if an attacker phishes your password and a valid TOTP code, they can reuse them to publish packages in your name.
But at least the time window is limited, right? 2/
I reported this and was told it’s a “known low-risk issue” and that they “don’t consider this to present a significant security risk.”
So, let’s look at how this seemingly small issue could be leveraged by a phisher. 1/
Per RFC 6238, a TOTP (Time-based One-Time Password) should be single-use. Allowing reuse, even within the short-ish time window, is not ideal (shoulder surfing, phishing etc.)
I reported this and was told it’s a “known low-risk issue” and that they “don’t consider this to present a significant security risk.”
So, let’s look at how this seemingly small issue could be leveraged by a phisher. 1/
See: dashboard.shadowserver.org/statistics/c...
Check for compromise & patch!
Thank you to Validin & LeakIX for the collaboration!
See: dashboard.shadowserver.org/statistics/c...
Check for compromise & patch!
Thank you to Validin & LeakIX for the collaboration!
If you're not 100% sure you're NOT vulnerable, you should patch your Next.js apps ASAP.
And if you're 100% sure... patch anyway.
dashboard.shadowserver.org/statistics/h...
If you're not 100% sure you're NOT vulnerable, you should patch your Next.js apps ASAP.
And if you're 100% sure... patch anyway.