CVE-2024-3096 PHP function password_verify can erroneously return true when argument contains NUL
Attackers can bypass authentication by providing a blank password if the stored hash begins with a null byte.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2024-3096?
CVE-2024-3096 is a medium-severity authentication bypass vulnerability in Debian Debian Linux, published on 29 Apr 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
In PHP version 8.1.* before 8.1.28, 8.2.* before 8.2.18, 8.3.* before 8.3.5, if a password stored with password_hash() starts with a null byte (\x00), testing a blank string as the password via password_verify() will incorrectly return true.
Weakness: CWE-20
Which versions are affected by CVE-2024-3096?
3 open source packages ship an affected version, including libphp, php and php-min. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
libphp Bitnami | All versions | 8.1.28, 8.2.18, 8.3.5 |
php Bitnami | All versions | 8.1.28, 8.2.18, 8.3.5 |
php-min Bitnami | All versions | 8.1.28, 8.2.18, 8.3.5 |
Products include Debian Debian Linux, Php Php.
How do I fix CVE-2024-3096?
Upgrade libphp to a fixed version for your release line: 8.1.28, 8.2.18 or 8.3.5.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2024-3096 being exploited?
There is no known exploitation of CVE-2024-3096 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as AZL-40061, AZL-40068, BELL-CVE-2024-3096, BIT-libphp-2024-3096, BIT-php-2024-3096, BIT-php-min-2024-3096 and 12 more.