CVE-2024-25191

php-jwt 1.0.0 uses strcmp (which is not constant time) to verify authentication, which makes it easier to bypass authentication via a timing side channel

Critical · published February 8, 2024

CVSS v3.1
9.8
EPSS
1%
Percentile
59.0
In the wild
Unconfirmed
What it is

🚨 A sneaky timing side channel is here to spoil your authentication party! 🍰 With php-jwt 1.0.0 relying on a non-constant time string comparison, an attacker can exploit subtle timing differences to bypass authentication like a master thief slipping through the cracks! Think of it like telling a security guard your name at a club. If they take a moment too long to respond, you know they’re checking the guest list, revealing whether you’re on it or not. This vulnerability lets attackers use those timing delays to their advantage! An attacker could potentially slip through the door without the proper credentials, gaining unauthorized access to sensitive areas of your application. This could lead to data breaches, loss of user information, and a serious hit to your reputation. The fallout could be absolutely devastating! 🔥

Put simply

Think of it like telling a security guard your name at a club. If they take a moment too long to respond, you know they’re checking the guest list, revealing whether you’re on it or not. This vulnerability lets attackers use those timing delays to their advantage! The issue arises from php-jwt's use of strcmp, which compares strings without constant time checks. This oversight means that timing differences in responses can reveal whether authentication has succeeded or failed, exposing the system to side-channel attacks.

What to do

An attacker could potentially slip through the door without the proper credentials, gaining unauthorized access to sensitive areas of your application. This could lead to data breaches, loss of user information, and a serious hit to your reputation. The fallout could be absolutely devastating! 🔥 Immediately upgrade php-jwt to version 1.0.1 or higher where this issue has been addressed. Additionally, review your authentication mechanism to ensure it employs constant time comparisons. Don't delay – secure your application today! 🛡️ You've got this! With these steps, you’ll patch your defenses and keep those attackers at bay. 💪✨

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00890 · 59.0th percentile
Published
2024-02-08T00:00Z
EPSS history
Timeline
  • 08 FEB 00:00Z
    php-jwt 1.0.0 uses strcmp (which is not constant time) to verify authentication, which makes it easier to bypass authentication via a timing side channel
    cvelistv5